Mit einem Cloud Storage-Importthema können Sie Daten kontinuierlich aus Cloud Storage in Pub/Sub aufnehmen. Anschließend können Sie die Daten an eines der Ziele streamen, die von Pub/Sub unterstützt werden. Pub/Sub erkennt automatisch neue Objekte, die dem Cloud Storage-Bucket hinzugefügt werden, und nimmt sie auf.
Cloud Storage ist ein Dienst zum Speichern Ihrer Objekte in Google Cloud. Ein Objekt ist ein unveränderliches Datenelement, das aus einer Datei mit einem beliebigen Format besteht. Objekte werden in Containern gespeichert, die als Buckets bezeichnet werden. Buckets können auch verwaltete Ordner enthalten, mit denen Sie erweiterten Zugriff auf Gruppen von Objekten mit einem gemeinsamen Namenspräfix gewähren können.
Weitere Informationen zu Cloud Storage finden Sie in der Cloud Storage-Dokumentation.
Weitere Informationen zu Importthemen finden Sie unter Importthemen.
Hinweise
Ein Cloud Storage-Bucket muss bereits vorhanden sein, bevor Sie ein Cloud Storage-Importthema erstellen. Wenn Sie das Importthema in der Console erstellen, können Sie im Workflow einen Cloud Storage-Bucket erstellen. Weitere Konfigurationsmethoden finden Sie unter Buckets erstellen.
Achten Sie gegebenenfalls darauf, dass die Richtlinie für die Nachrichtenspeicherung des Pub/Sub-Themas mit der Region übereinstimmt, in der sich Ihr Cloud Storage-Bucket befindet. Weitere Informationen finden Sie unter Richtlinie für die Nachrichtenspeicherung entspricht dem Bucket-Speicherort.
Einige Google Cloud-Dienste haben von Google Cloud verwaltete Dienstkonten, mit denen die Dienste auf Ihre Ressourcen zugreifen können. Diese Dienstkonten werden als Dienst-Agents bezeichnet. Pub/Sub erstellt und verwaltet für jedes Projekt ein Dienstkonto im Format
service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com
. Konfigurieren Sie die erforderlichen Rollen und Berechtigungen für das Pub/Sub-Dienstkonto, um Cloud Storage-Importthemen zu verwalten, darunter:Weisen Sie dem Pub/Sub-Dienstkonto die Pub/Sub-Publisher-Rolle (
roles/pubsub.publisher
) zu. Dieses Dienstkonto veröffentlicht im Importthema. Um diese Rolle zu gewähren, benötigen Sie ein Nutzerkonto mit der Rolle Pub/Sub-Administrator (roles/pubsub.admin
). Weitere Informationen finden Sie unter Dem Pub/Sub-Dienstkonto die Rolle „Pub/Sub-Publisher“ hinzufügen.Gewähren Sie dem Pub/Sub-Dienstkonto Cloud Storage-Berechtigungen. Um diese Berechtigungen zu gewähren, benötigen Sie ein Nutzerkonto mit der Rolle Storage Admin (
roles/storage.admin
). Weitere Informationen finden Sie unter Dem Pub/Sub-Dienstkonto Cloud Storage-Rollen zuweisen.
Erforderliche Rollen und Berechtigungen zum Verwalten von Cloud Storage-Importthemen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Pub/Sub Editor (roles/pubsub.editor
) für Ihr Thema oder Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen und Verwalten eines Cloud Storage-Importthemas benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierte Rolle enthält die Berechtigungen, die zum Erstellen und Verwalten eines Cloud Storage-Import-Themas erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um ein Cloud Storage-Importthema zu erstellen und zu verwalten:
-
So erstellen Sie ein Importthema:
pubsub.topics.create
-
Importthema löschen:
pubsub.topics.delete
-
Importthema abrufen:
pubsub.topics.get
-
Importthema angeben:
pubsub.topics.list
-
In einem importierten Thema veröffentlichen:
pubsub.topics.publish
-
Importthema aktualisieren:
pubsub.topics.update
-
IAM-Richtlinie für ein Importthema abrufen:
pubsub.topics.getIamPolicy
-
Konfigurieren Sie die IAM-Richtlinie für ein Importthema:
pubsub.topics.setIamPolicy
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Sie können die Zugriffssteuerung auf Projektebene und auf der Ebene einzelner Ressourcen konfigurieren.
Die Nachrichtenspeicherrichtlinie entspricht dem Speicherort des Buckets
Die Nachrichtenspeicherrichtlinie des Pub/Sub-Themas muss sich mit den Regionen überschneiden, in denen sich Ihr Cloud Storage-Bucket befindet. Diese Richtlinie legt fest, wo Ihre Nachrichtendaten in Pub/Sub gespeichert werden dürfen.
Für Bucket mit dem Standorttyp „Region“: Die Richtlinie muss diese Region enthalten. Wenn sich Ihr Bucket beispielsweise in der Region
us-central1
befindet, muss die Speicherrichtlinie für Nachrichten auchus-central1
enthalten.Für Buckets mit dem Standorttyp „Dual-Region“ oder „Multi-Region“: Die Richtlinie muss mindestens eine Region innerhalb des dual-regionalen oder multiregionalen Standorts enthalten. Wenn sich Ihr Bucket beispielsweise in der
US multi-region
befindet, kann die Nachrichtenspeicherrichtlinieus-central1
,us-east1
oder eine andere Region innerhalb derUS multi-region
umfassen.Wenn die Richtlinie die Region des Buckets nicht enthält, schlägt die Themenerstellung fehl. Wenn sich Ihr Bucket beispielsweise in
europe-west1
befindet und Ihre Nachrichtenspeicherrichtlinie nurasia-east1
umfasst, erhalten Sie eine Fehlermeldung.Wenn die Nachrichtenspeicherrichtlinie nur eine Region enthält, die sich mit dem Speicherort des Bucket überschneidet, ist die regionenübergreifende Redundanz möglicherweise beeinträchtigt. Wenn diese einzelne Region nicht verfügbar ist, sind Ihre Daten möglicherweise nicht zugänglich. Um für vollständige Redundanz zu sorgen, sollten Sie in der Richtlinie für die Nachrichtenspeicherung mindestens zwei Regionen angeben, die zum multiregionalen oder biregionalen Speicherort des Buckets gehören.
Weitere Informationen zu den Speicherorten von Buckets finden Sie in der Dokumentation.
Dem Pub/Sub-Dienstkonto die Rolle „Pub/Sub-Publisher“ hinzufügen
Sie müssen dem Pub/Sub-Dienstkonto die Rolle „Pub/Sub-Publisher“ zuweisen, damit Pub/Sub im Cloud Storage-Importthema veröffentlichen kann.
Informationen zum Aktivieren der Veröffentlichung für alle Themen in einem Projekt finden Sie unter Veröffentlichung für alle Themen aktivieren. Verwenden Sie diese Methode, wenn Sie noch keine Cloud Storage-Importthemen erstellt haben.
Informationen zum Aktivieren der Veröffentlichung in einem bestimmten Thema finden Sie unter Veröffentlichung in einem bestimmten Thema aktivieren. Verwenden Sie diese Methode nur, wenn das Cloud Storage-Importthema bereits vorhanden ist.
Veröffentlichung für alle Cloud Storage-Importthemen aktivieren
Wählen Sie diese Option aus, wenn in Ihrem Projekt kein Cloud Storage-Import-Thema verfügbar ist.
Öffnen Sie in der Google Cloud Console die Seite IAM.
Aktivieren Sie die Option Von Google bereitgestellte Rollenzuweisungen einschließen.
Suchen Sie nach dem Pub/Sub-Dienstkonto im folgenden Format:
service-{PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com
Klicken Sie für dieses Dienstkonto auf die Schaltfläche Hauptkonto bearbeiten.
Klicken Sie bei Bedarf auf Weitere Rolle hinzufügen.
Suchen Sie nach der Pub/Sub-Publisher-Rolle (
roles/pubsub.publisher
) und wählen Sie sie aus.Klicken Sie auf Speichern.
Veröffentlichung in einem einzelnen Cloud Storage-Importthema aktivieren
Wenn Sie Pub/Sub die Berechtigung zum Veröffentlichen in einem bestimmten Cloud Storage-Importthema gewähren möchten, das bereits vorhanden ist, gehen Sie so vor:
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Führen Sie den Befehl
gcloud pubsub topics add-iam-policy-binding
aus:gcloud pubsub topics add-iam-policy-binding TOPIC_ID\ --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com"\ --role="roles/pubsub.publisher"
Ersetzen Sie Folgendes:
TOPIC_ID ist die ID oder der Name des Cloud Storage-Import-Themas.
ist PROJECT_NUMBER die Projektnummer. Informationen zum Ermitteln der Projektnummer finden Sie unter Projekte identifizieren.
Cloud Storage-Rollen dem Pub/Sub-Dienstkonto zuweisen
Damit ein Cloud Storage-Importthema erstellt werden kann, muss das Pub/Sub-Dienstkonto die Berechtigung zum Lesen aus dem entsprechenden Cloud Storage-Bucket haben. Folgende Berechtigungen sind erforderlich:
storage.objects.list
storage.objects.get
storage.buckets.get
Sie können diese Berechtigungen dem Pub/Sub-Dienstkonto auf folgende Weise zuweisen:
Berechtigungen auf Bucket-Ebene erteilen Weisen Sie dem Pub/Sub-Dienstkonto für den jeweiligen Cloud Storage-Bucket die Rollen „Leser alter Storage-Objekte“ (
roles/storage.legacyObjectReader
) und „Leser alter Storage-Buckets“ (roles/storage.legacyBucketReader
) zu.Wenn Sie Rollen auf Projektebene zuweisen müssen, können Sie stattdessen die Rolle „Storage-Administrator“ (
roles/storage.admin
) für das Projekt zuweisen, das den Cloud Storage-Bucket enthält. Weisen Sie diese Rolle dem Pub/Sub-Dienstkonto zu.
Bucket-Berechtigungen
Führen Sie die folgenden Schritte aus, um dem Pub/Sub-Dienstkonto auf Bucketebene die Rollen „Storage Legacy Object Reader“ (roles/storage.legacyObjectReader
) und „Storage Legacy Bucket Reader“ (roles/storage.legacyBucketReader
) zuzuweisen:
Wechseln Sie in der Google Cloud Console zum Cloud Storage-Browser.
Klicken Sie auf den Cloud Storage-Bucket, aus dem Sie Nachrichten lesen und in das Cloud Storage-Importthema importieren möchten.
Die Seite Bucket-Details wird geöffnet.
Klicken Sie auf der Seite Bucket-Details auf den Tab Berechtigungen.
Klicken Sie auf dem Tab Berechtigungen > Nach Hauptkonten ansehen auf Zugriff gewähren.
Die Seite Zugriff gewähren wird geöffnet.
Geben Sie im Bereich Hauptkonten hinzufügen den Namen Ihres Pub/Sub-Dienstkontos ein.
Das Dienstkonto hat das Format
service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com
. Bei einem Projekt mit PROJECT_NUMBER=112233445566
hat das Dienstkonto beispielsweise das Formatservice-112233445566@gcp-sa-pubsub.iam.gserviceaccount.com
.Geben Sie im Drop-down-Menü Rollen zuweisen > Rolle auswählen die Zeichenfolge
Object Reader
ein und wählen Sie die Rolle Storage Legacy Object Reader aus.Klicken Sie auf Weitere Rolle hinzufügen.
Geben Sie im Drop-down-Menü Rolle auswählen die Zahl
Bucket Reader
ein und wählen Sie die Rolle Storage Legacy Bucket Reader aus.Klicken Sie auf Speichern.
Projektberechtigungen
Führen Sie die folgenden Schritte aus, um die Rolle „Storage-Administrator“ (roles/storage.admin
) auf Projektebene zuzuweisen:
Öffnen Sie in der Google Cloud Console die Seite IAM.
Klicken Sie auf dem Tab Berechtigungen > Nach Hauptkonten ansehen auf Zugriff gewähren.
Die Seite Zugriff gewähren wird geöffnet.
Geben Sie im Bereich Hauptkonten hinzufügen den Namen Ihres Pub/Sub-Dienstkontos ein.
Das Dienstkonto hat das Format
service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com
. Bei einem Projekt mit PROJECT_NUMBER=112233445566
hat das Dienstkonto beispielsweise das Formatservice-112233445566@gcp-sa-pubsub.iam.gserviceaccount.com
.Geben Sie im Drop-down-Menü Rollen zuweisen > Rolle auswählen die Zahl
Storage Admin
ein und wählen Sie die Rolle Storage-Administrator aus.Klicken Sie auf Speichern.
Weitere Informationen zu Cloud Storage IAM finden Sie unter Identity and Access Management für Cloud Storage.
Eigenschaften von Cloud Storage-Importthemen
Weitere Informationen zu den gemeinsamen Properties für alle Themen finden Sie unter Properties eines Themas.
Bucket-Name
Das ist der Name des Cloud Storage-Bucket, aus dem Pub/Sub die Daten liest, die in einem Cloud Storage-Importthema veröffentlicht werden.
Eingabeformat
Wenn Sie ein Cloud Storage-Importthema erstellen, können Sie das Format der zu ingestierenden Objekte als Text, Avro oder Pub/Sub Avro angeben.
Text Es wird davon ausgegangen, dass Objekte Daten im Nur-Text-Format enthalten. Bei diesem Eingabeformat werden alle Objekte im Bucket aufgenommen, sofern sie die Mindesterstellungszeit der Objekte einhalten und den Kriterien für das Glob-Muster entsprechen.
Trennzeichen. Sie können auch ein Trennzeichen angeben, anhand dessen Objekte in Nachrichten aufgeteilt werden. Wenn das Trennzeichen nicht festgelegt ist, wird standardmäßig das Zeilenvorschubzeichen (
\n
) verwendet. Das Trennzeichen darf nur ein einzelnes Zeichen sein.Avro. Die Objekte liegen im Apache Avro-Binärformat vor. Objekte, die nicht im gültigen Apache Avro-Format vorliegen, werden nicht aufgenommen. Für Avro gelten die folgenden Einschränkungen:
- Die Avro-Versionen 1.1.0 und 1.2.0 werden nicht unterstützt.
- Die maximale Größe eines Avro-Blocks beträgt 16 MB.
Pub/Sub Avro. Die Objekte sind im Binärformat von Apache Avro mit einem Schema, das dem eines Objekts entspricht, das mit einem Cloud Storage-Pub/Sub-Abo im Avro-Dateiformat in Cloud Storage geschrieben wurde. Hier sind einige wichtige Richtlinien für Pub/Sub Avro:
Das Datenfeld des Avro-Eintrags wird verwendet, um das Datenfeld der generierten Pub/Sub-Nachricht zu füllen.
Wenn die Option write_metadata für das Cloud Storage-Abo angegeben ist, werden alle Werte im Feld „attributes“ als Attribute der generierten Pub/Sub-Nachricht eingefügt.
Wenn in der ursprünglichen Nachricht, die in Cloud Storage geschrieben wurde, ein Sortierschlüssel angegeben ist, wird dieses Feld in der generierten Pub/Sub-Nachricht als Attribut mit dem Namen
original_message_ordering_key
ausgefüllt.
Mindesterstellungszeit der Objekte
Beim Erstellen eines Cloud Storage-Importthemas können Sie optional eine Mindesterstellungszeit für Objekte angeben. Es werden nur Objekte aufgenommen, die an oder nach diesem Zeitstempel erstellt wurden. Dieser Zeitstempel muss in einem Format wie YYYY-MM-DDThh:mm:ssZ
angegeben werden.
Gültig sind alle Datumsangaben zwischen 0001-01-01T00:00:00Z
und 9999-12-31T23:59:59Z
, sowohl in der Vergangenheit als auch in der Zukunft.
Mit Glob-Muster abgleichen
Beim Erstellen eines Cloud Storage-Importthemas können Sie optional ein Globus-Muster für die Übereinstimmung angeben. Es werden nur Objekte aufgenommen, deren Namen diesem Muster entsprechen. Wenn Sie beispielsweise alle Objekte mit dem Suffix .txt
aufnehmen möchten, können Sie das Glob-Muster als **.txt
angeben.
Informationen zur unterstützten Syntax für Glob-Muster finden Sie in der Cloud Storage-Dokumentation.
Cloud Storage-Importthema erstellen
Führen Sie die folgenden Schritte aus:
Cloud Storage-Bucket erstellen Wenn Sie das Importthema mit der Console erstellen, können Sie im Rahmen des Workflows einen Cloud Storage-Bucket erstellen.
Fügen Sie dem Pub/Sub-Dienstkonto für alle Themen die Rolle „Pub/Sub-Publisher“ hinzu.
Weisen Sie dem Pub/Sub-Dienstkonto Cloud Storage-Berechtigungen zu.
Wenn Sie das Thema und das Abo separat erstellen, kann das zu Datenverlusten führen, auch wenn Sie das in schneller Folge tun. Es gibt eine kurze Zeitspanne, in der das Thema ohne Abo verfügbar ist. Daten, die in dieser Zeit an das Thema gesendet werden, gehen verloren. Wenn Sie zuerst das Thema und dann das Abo erstellen und das Thema dann in ein Importthema umwandeln, wird sichergestellt, dass beim Import keine Nachrichten übersehen werden.
So erstellen Sie ein Cloud Storage-Importthema:
Console
-
Rufen Sie in der Google Cloud Console die Seite Themen auf.
-
Klicken Sie auf Thema erstellen.
Die Seite mit den Themendetails wird geöffnet.
-
Geben Sie im Feld Themen-ID eine ID für das Cloud Storage-Importthema ein.
Weitere Informationen zur Benennung von Themen finden Sie in den Benennungsrichtlinien.
-
Wählen Sie Standardabo hinzufügen aus.
-
Wählen Sie Aufnahme aktivieren aus.
-
Wählen Sie als Datenaufnahmequelle Google Cloud Storage aus.
-
Klicken Sie für den Cloud Storage-Bucket auf Durchsuchen.
Die Seite Bucket auswählen wird geöffnet. Wählen Sie eine der folgenden Optionen aus:
-
Wählen Sie einen vorhandenen Bucket aus einem geeigneten Projekt aus.
-
Klicken Sie auf das Symbol „Erstellen“ und folgen Sie der Anleitung auf dem Bildschirm, um einen neuen Bucket zu erstellen. Wählen Sie nach dem Erstellen des Buckets den Bucket für das Cloud Storage-Importthema aus.
-
-
Wenn Sie den Bucket angeben, prüft Pub/Sub, ob das Pub/Sub-Dienstkonto die entsprechenden Berechtigungen für den Bucket hat. Bei Berechtigungsproblemen wird eine Meldung ähnlich der folgenden angezeigt:
Unable to verify if the Pub/Sub service agent has write permissions on this bucket. You may be lacking permissions to view or set permissions.
Wenn Berechtigungsprobleme auftreten, klicken Sie auf Berechtigungen festlegen. Weitere Informationen finden Sie unter Cloud Storage-Berechtigungen für das Pub/Sub-Dienstkonto gewähren.
-
Wählen Sie unter Objektformat die Option Text, Avro oder Pub/Sub Avro aus.
Wenn Sie Text auswählen, können Sie optional ein Trennzeichen angeben, mit dem Objekte in Nachrichten aufgeteilt werden.
Weitere Informationen zu diesen Optionen finden Sie unter Eingabeformat.
- Optional. Sie können für Ihr Thema eine Mindesterstellungszeit der Objekte angeben. Wenn diese Option festgelegt ist, werden nur Objekte aufgenommen, die nach der Mindesterstellungszeit der Objekte erstellt wurden.
Weitere Informationen finden Sie unter Mindesterstellungszeit der Objekte.
- Sie müssen ein Globusmuster angeben. Wenn Sie alle Objekte in den Bucket aufnehmen möchten, verwenden Sie
**
als Glob-Muster. Wenn festgelegt, werden nur Objekte aufgenommen, die dem angegebenen Muster entsprechen.Weitere Informationen finden Sie unter Glob-Muster abgleichen.
- Behalten Sie die anderen Standardeinstellungen bei.
- Klicken Sie auf Thema erstellen.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
Führen Sie den Befehl
gcloud pubsub topics create
aus:gcloud pubsub topics create TOPIC_ID\ --cloud-storage-ingestion-bucket=BUCKET_NAME\ --cloud-storage-ingestion-input-format=INPUT_FORMAT\ --cloud-storage-ingestion-text-delimiter=TEXT_DELIMITER\ --cloud-storage-ingestion-minimum-object-create-time=MINIMUM_OBJECT_CREATE_TIME\ --cloud-storage-ingestion-match-glob=MATCH_GLOB
Im Befehl sind nur
TOPIC_ID
, das Flag--cloud-storage-ingestion-bucket
und das Flag--cloud-storage-ingestion-input-format
erforderlich. Die verbleibenden Flags sind optional und können weggelassen werden.Ersetzen Sie Folgendes:
-
TOPIC_ID: Der Name oder die ID des Themas.
-
BUCKET_NAME: Gibt den Namen eines vorhandenen Buckets an. Beispiel:
prod_bucket
. Der Bucket-Name darf keine Projekt-ID enthalten. Informationen zum Erstellen eines Buckets finden Sie unter Buckets erstellen. -
INPUT_FORMAT: Gibt das Format der aufgenommenen Objekte an. Das kann
text
,avro
oderpubsub_avro
sein. Weitere Informationen zu diesen Optionen finden Sie unter Eingabeformat. -
TEXT_DELIMITER: Gibt das Trennzeichen an, mit dem Textobjekte in Pub/Sub-Nachrichten aufgeteilt werden. Dies sollte ein einzelnes Zeichen sein und nur festgelegt werden, wenn
INPUT_FORMAT
text
ist. Standardmäßig ist das Zeilenumbruchzeichen (\n
) festgelegt.Achten Sie bei der Verwendung der gcloud CLI zum Angeben des Trennzeichens genau auf die Behandlung von Sonderzeichen wie dem Zeilenumbruch
\n
. Verwenden Sie das Format'\n'
, damit das Trennzeichen richtig interpretiert wird. Wenn Sie\n
ohne Anführungszeichen oder Escape-Zeichen verwenden, wird das Trennzeichen"n"
verwendet. -
MINIMUM_OBJECT_CREATE_TIME: Gibt die Mindestzeit an, zu der ein Objekt erstellt wurde, damit es aufgenommen werden kann. Sie muss im UTC-Format
YYYY-MM-DDThh:mm:ssZ
vorliegen. Beispiel:2024-10-14T08:30:30Z
Gültig sind alle Datumsangaben zwischen
0001-01-01T00:00:00Z
und9999-12-31T23:59:59Z
, sowohl in der Vergangenheit als auch in der Zukunft. -
MATCH_GLOB: Gibt das Glob-Muster an, das mit einem Objekt übereinstimmen muss, damit es aufgenommen wird. Wenn Sie die gcloud CLI verwenden, muss das Zeichen
*
in einem Matchglob mit*
-Zeichen in Form von\*\*.txt
formatiert sein oder der gesamte Matchglob muss in Anführungszeichen"**.txt"
oder'**.txt'
stehen. Informationen zur unterstützten Syntax für Glob-Muster finden Sie in der Cloud Storage-Dokumentation.
-
Go
Folgen Sie der Einrichtungsanleitung für Go in der Kurzanleitung zur Verwendung von Clientbibliotheken, bevor Sie dieses Beispiel anwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Pub/Sub zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Folgen Sie der Einrichtungsanleitung für Java in der Kurzanleitung zur Verwendung von Clientbibliotheken, bevor Sie dieses Beispiel anwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Pub/Sub zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Folgen Sie der Einrichtungsanleitung für Node.js in der Kurzanleitung zur Verwendung von Clientbibliotheken, bevor Sie dieses Beispiel anwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Node.js API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Pub/Sub zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Folgen Sie der Einrichtungsanleitung für Python in der Kurzanleitung zur Verwendung von Clientbibliotheken, bevor Sie dieses Beispiel anwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Python API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Pub/Sub zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
C++
Folgen Sie der Einrichtungsanleitung für C++ in der Kurzanleitung zur Verwendung von Clientbibliotheken, bevor Sie dieses Beispiel anwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub C++ API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Pub/Sub zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js (TypeScript)
Lesen Sie unter Pub/Sub-Kurzanleitung: Clientbibliotheken verwenden die Anleitung für die Einrichtung von Node.js, bevor Sie dieses Beispiel ausprobieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Node.js API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Pub/Sub zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Falls Probleme auftreten, lesen Sie den Hilfeartikel Probleme beim Importieren von Daten aus Google Cloud Storage beheben.
Cloud Storage-Importthemen bearbeiten
Sie können ein Cloud Storage-Importthema bearbeiten, um die Eigenschaften zu aktualisieren.
Wenn Sie die Datenaufnahme beispielsweise neu starten möchten, können Sie den Bucket ändern oder die Mindestzeit für die Objekterstellung aktualisieren.
So bearbeiten Sie ein Cloud Storage-Importthema:
Console
-
Rufen Sie in der Google Cloud Console die Seite Themen auf.
-
Klicken Sie auf das Thema „Cloud Storage-Import“.
-
Klicken Sie auf der Seite mit den Themendetails auf Bearbeiten.
-
Aktualisieren Sie die Felder, die Sie ändern möchten.
-
Klicken Sie auf Aktualisieren.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Damit die Einstellungen für das importierte Thema nicht verloren gehen, sollten Sie sie jedes Mal angeben, wenn Sie das Thema aktualisieren. Wenn du etwas auslässt, wird die Einstellung von Pub/Sub auf den ursprünglichen Standardwert zurückgesetzt.
Führen Sie den Befehl
gcloud pubsub topics update
mit allen im folgenden Beispiel genannten Flags aus:gcloud pubsub topics update TOPIC_ID \ --cloud-storage-ingestion-bucket=BUCKET_NAME\ --cloud-storage-ingestion-input-format=INPUT_FORMAT\ --cloud-storage-ingestion-text-delimiter=TEXT_DELIMITER\ --cloud-storage-ingestion-minimum-object-create-time=MINIMUM_OBJECT_CREATE_TIME\ --cloud-storage-ingestion-match-glob=MATCH_GLOB
Ersetzen Sie Folgendes:
-
TOPIC_ID ist die ID oder der Name des Themas. Dieses Feld kann nicht aktualisiert werden.
-
BUCKET_NAME: Gibt den Namen eines vorhandenen Buckets an. Beispiel:
prod_bucket
. Der Bucket-Name darf keine Projekt-ID enthalten. Informationen zum Erstellen eines Buckets finden Sie unter Buckets erstellen. -
INPUT_FORMAT: Gibt das Format der aufgenommenen Objekte an. Das kann
text
,avro
oderpubsub_avro
sein. Weitere Informationen zu diesen Optionen finden Sie unter Eingabeformat. -
TEXT_DELIMITER: Gibt das Trennzeichen an, mit dem Textobjekte in Pub/Sub-Nachrichten aufgeteilt werden. Dies sollte ein einzelnes Zeichen sein und nur festgelegt werden, wenn
INPUT_FORMAT
text
ist. Standardmäßig ist das Zeilenumbruchzeichen (\n
) festgelegt.Achten Sie bei der Verwendung der gcloud CLI zum Angeben des Trennzeichens genau auf die Behandlung von Sonderzeichen wie dem Zeilenumbruch
\n
. Verwenden Sie das Format'\n'
, damit das Trennzeichen richtig interpretiert wird. Wenn Sie\n
ohne Anführungszeichen oder Escape-Zeichen verwenden, wird das Trennzeichen"n"
verwendet. -
MINIMUM_OBJECT_CREATE_TIME: Gibt die Mindestzeit an, zu der ein Objekt erstellt wurde, damit es aufgenommen werden kann. Sie muss im UTC-Format
YYYY-MM-DDThh:mm:ssZ
vorliegen. Beispiel:2024-10-14T08:30:30Z
Gültig sind alle Datumsangaben zwischen
0001-01-01T00:00:00Z
und9999-12-31T23:59:59Z
, sowohl in der Vergangenheit als auch in der Zukunft. -
MATCH_GLOB: Gibt das Glob-Muster an, das mit einem Objekt übereinstimmen muss, damit es aufgenommen wird. Wenn Sie die gcloud CLI verwenden, muss das Zeichen
*
in einem Matchglob mit*
-Zeichen in Form von\*\*.txt
formatiert sein oder der gesamte Matchglob muss in Anführungszeichen"**.txt"
oder'**.txt'
stehen. Informationen zur unterstützten Syntax für Glob-Muster finden Sie in der Cloud Storage-Dokumentation.
-
Kontingente und Limits für Cloud Storage-Importthemen
Der Publisher-Durchsatz für importierte Themen ist durch das Publish-Kontingent des Themas begrenzt. Weitere Informationen finden Sie unter Pub/Sub-Kontingente und Limits.
Nächste Schritte
Aktivieren Sie Plattformlogs für ein Cloud Storage-Importthema.
Wählen Sie den Abotyp für Ihr Thema aus.
Weitere Informationen zum Veröffentlichen von Nachrichten in einem Thema