Sie können ein Importthema in ein Standardthema umwandeln oder umgekehrt.
Importthema in ein Standardthema umwandeln
Wenn Sie ein Importthema in ein Standardthema umwandeln möchten, entfernen Sie die Aufnahmeeinstellungen. Führen Sie diese Schritte aus:
Console
Rufen Sie in der Google Cloud Console die Themen Seite auf.
Klicken Sie auf das Importthema.
Klicken Sie auf der Seite mit den Themendetails auf Bearbeiten.
Entfernen Sie das Häkchen bei Aufnahme aktivieren.
Klicken Sie auf Aktualisieren.
gcloud
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
Führen Sie den
gcloud pubsub topics updateBefehl aus:gcloud pubsub topics update TOPIC_ID \ --clear-ingestion-data-source-settings
Ersetzen Sie TOPIC_ID durch die Themen-ID.
Standardthema in ein Amazon Kinesis Data Streams-Importthema umwandeln
Wenn Sie ein Standardthema in ein Amazon Kinesis Data Streams-Importthema umwandeln möchten, prüfen Sie zuerst, ob alle die Voraussetzungen erfüllt sind.
Console
-
Rufen Sie in der Google Cloud Console die Themen Seite auf.
-
Klicken Sie auf das Thema, das Sie in ein Importthema umwandeln möchten.
-
Klicken Sie auf der Seite mit den Themendetails auf Bearbeiten.
-
Wählen Sie die Option Aufnahme aktivieren aus.
-
Wählen Sie als Aufnahmequelle Amazon Kinesis Data Streams aus.
-
Geben Sie die folgenden Informationen ein:
-
ARN des Kinesis-Streams: Der ARN für den Kinesis Data Stream, den Sie in Pub/Sub aufnehmen möchten. Das ARN-Format ist wie folgt:
arn:${Partition}:kinesis:${Region}:${Account}:stream/${StreamName}. -
ARN des Kinesis-Nutzers: Der ARN der Nutzerressource, die im AWS Kinesis Data Stream registriert ist. Das ARN-Format ist wie folgt:
arn:${Partition}:kinesis:${Region}:${Account}:${StreamType}/${StreamName}/consumer/${ConsumerName}:${ConsumerCreationTimestamp}. -
ARN der AWS-Rolle: Der ARN der AWS-Rolle. Das ARN-Format der Rolle ist wie folgt:
arn:aws:iam::${Account}:role/${RoleName}. -
Dienstkonto: Das von Ihnen erstellte Dienstkonto.
-
-
Klicken Sie auf Aktualisieren.
gcloud
-
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
Führen Sie den
gcloud pubsub topics updateBefehl mit allen im folgenden Beispiel genannten Flags aus:gcloud pubsub topics update TOPIC_ID
--kinesis-ingestion-stream-arn KINESIS_STREAM_ARN
--kinesis-ingestion-consumer-arn KINESIS_CONSUMER_ARN
--kinesis-ingestion-role-arn KINESIS_ROLE_ARN
--kinesis-ingestion-service-account PUBSUB_SERVICE_ACCOUNTErsetzen Sie Folgendes:
-
TOPIC_ID ist die Themen-ID oder der Themenname. Dieses Feld kann nicht aktualisiert werden.
-
KINESIS_STREAM_ARN ist der ARN für die Kinesis Data Streams die Sie in Pub/Sub aufnehmen möchten. Das ARN Format ist wie folgt:
arn:${Partition}:kinesis:${Region}:${Account}:stream/${StreamName}. -
KINESIS_CONSUMER_ARN ist der ARN der Nutzerressource die in den AWS Kinesis Data Streams registriert ist. Das ARN-Format ist wie folgt:
arn:${Partition}:kinesis:${Region}:${Account}:${StreamType}/${StreamName}/consumer/${ConsumerName}:${ConsumerCreationTimestamp}. -
KINESIS_ROLE_ARN ist der ARN der AWS-Rolle. Das ARN-Format der Rolle ist wie folgt:
arn:aws:iam::${Account}:role/${RoleName}. -
PUBSUB_SERVICE_ACCOUNT ist das von Ihnen erstellte Dienstkonto.
-
Go
Im folgenden Beispiel wird die Hauptversion der Go Pub/Sub-Clientbibliothek (Version 2) verwendet. Wenn Sie noch die Version 1 verwenden, lesen Sie den Migrationsleitfaden zu Version 2. Eine Liste der Codebeispiele für Version 1 finden Sie unter Veraltete Codebeispiele.
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Go in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Go API.
Java
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Java in der Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Java API.
Node.js
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für PHP in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Node.js API.
Python
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Python in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Python API.
C++
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für C++ in der Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Pub/Sub C++ API-Referenzdokumentation.
Node.js
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für PHP in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Node.js API.
Weitere Informationen zu ARNs finden Sie unter Amazon-Ressourcennamen (ARNs) und IAM-IDs.
Standardthema in ein Cloud Storage-Importthema umwandeln
Wenn Sie ein Standardthema in ein Cloud Storage-Importthema umwandeln möchten, prüfen Sie zuerst, ob alle Voraussetzungenerfüllt sind.
Console
-
Rufen Sie in der Google Cloud Console die Themen Seite auf.
-
Klicken Sie auf das Thema, das Sie in ein Cloud Storage-Importthema umwandeln möchten.
-
Klicken Sie auf der Seite mit den Themendetails auf Bearbeiten.
-
Wählen Sie die Option Aufnahme aktivieren aus.
-
Wählen Sie als Aufnahmequelle 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 beliebigen geeigneten Projekt aus.
-
Klicken Sie auf das Symbol zum Erstellen und folgen Sie der Anleitung auf dem Bildschirm, um einen neuen Bucket zu erstellen. Nachdem Sie den Bucket erstellt haben, wählen Sie ihn für das Cloud Storage-Importthema aus.
-
-
Wenn Sie den Bucket angeben, prüft Pub/Sub die entsprechenden Berechtigungen für den Bucket für das Pub/Sub Dienstkonto. Wenn es Probleme mit den Berechtigungen gibt, wird eine Fehlermeldung zu den Berechtigungen angezeigt.
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 eine Mindesterstellungszeit für Objekte für Ihr
Thema angeben. Wenn diese festgelegt ist, werden nur Objekte aufgenommen, die nach der Mindesterstellungszeit für Objekte erstellt wurden
Weitere Informationen finden Sie unter Mindesterstellungszeit für Objekte.
- Sie müssen ein Glob-Muster angeben. Wenn Sie alle Objekte in den Bucket aufnehmen möchten,
verwenden Sie
**als Glob-Muster. Es 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 aktualisieren.
gcloud
-
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
Damit Ihre Einstellungen für das Importthema nicht verloren gehen, müssen Sie sie bei jeder Aktualisierung des Themas angeben. Wenn Sie etwas auslassen, setzt Pub/Sub die Einstellung auf den ursprünglichen Standardwert zurück.
Führen Sie den
gcloud pubsub topics updateBefehl 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 Themen-ID oder der Themenname. Dieses Feld kann nicht aktualisiert werden.
-
BUCKET_NAME gibt den Namen eines vorhandenen Buckets an. Beispiel:
prod_bucket. Der Bucket-Name darf die Projekt-ID nicht enthalten. Informationen zum Erstellen eines Buckets finden Sie unter Buckets erstellen. -
INPUT_FORMAT gibt das Format der Objekte an, die aufgenommen werden. Mögliche Werte sind
text,avrooderpubsub_avro. 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 muss ein einzelnes Zeichen sein und darf nur festgelegt werden, wenn
INPUT_FORMATgleichtextist. Der Standardwert ist das Zeilenumbruchzeichen (\n).Wenn Sie das Trennzeichen mit der gcloud CLI angeben, achten Sie genau auf die Verarbeitung von Sonderzeichen wie dem Zeilenumbruchzeichen
\n. Verwenden Sie das Format'\n', damit das Trennzeichen richtig interpretiert wird. Wenn Sie\nohne Anführungszeichen oder Escapezeichen verwenden, wird das Trennzeichen als"n"interpretiert. -
MINIMUM_OBJECT_CREATE_TIME gibt die Mindestzeit an, zu der ein Objekt erstellt wurde, damit es aufgenommen werden kann. Diese Zeit muss in UTC im Format
YYYY-MM-DDThh:mm:ssZangegeben werden. Beispiel:2024-10-14T08:30:30Z.Jedes Datum in der Vergangenheit oder Zukunft zwischen
0001-01-01T00:00:00Zund9999-12-31T23:59:59Zist gültig. -
MATCH_GLOB gibt das Glob-Muster an, das abgeglichen werden muss, damit ein Objekt aufgenommen werden kann. Wenn Sie die gcloud CLI verwenden, muss ein Glob-Muster mit
*-Zeichen so formatiert sein, dass das*Zeichen mit einem Escapezeichen versehen ist, z. B.\*\*.txtoder das gesamte Glob-Muster muss in Anführungszeichen stehen,"**.txt"oder'**.txt'. Informationen zur unterstützten Syntax für Glob-Muster finden Sie unter der Cloud Storage-Dokumentation.
-