In diesem Dokument wird beschrieben, wie Sie ein BigQuery-Abo erstellen. Sie können ein BigQuery-Abo über die Trusted Cloud Console, die Google Cloud CLI, die Clientbibliothek oder die Pub/Sub API erstellen.
Hinweise
Bevor Sie dieses Dokument lesen, sollten Sie mit Folgendem vertraut sein:
Der Workflow für BigQuery-Abos.
So konfigurieren Sie ein Thema für unzustellbare Nachrichten, um Nachrichtenfehler zu behandeln.
Neben Ihren Kenntnissen in Pub/Sub und BigQuery müssen Sie die folgenden Voraussetzungen erfüllen, bevor Sie ein BigQuery-Abo erstellen:
Eine BigQuery-Tabelle ist vorhanden. Alternativ können Sie eine erstellen, wenn Sie das BigQuery-Abo erstellen, wie in den späteren Abschnitten dieses Dokuments beschrieben.
Kompatibilität zwischen dem Schema des Pub/Sub-Themas und der BigQuery-Tabelle. Wenn Sie eine nicht kompatible BigQuery-Tabelle hinzufügen, erhalten Sie eine Fehlermeldung zur Kompatibilität. Weitere Informationen finden Sie unter Schema-Kompatibilität.
Erforderliche Rollen und Berechtigungen
Die folgende Liste enthält Richtlinien zu Rollen und Berechtigungen:
Wenn Sie ein Abo erstellen möchten, müssen Sie die Zugriffssteuerung auf Projektebene konfigurieren.
Sie benötigen auch Berechtigungen auf Ressourcenebene, wenn sich Ihre Abos und Themen in verschiedenen Projekten befinden, wie später in diesem Abschnitt beschrieben.
Zum Erstellen eines BigQuery-Abos muss entweder der Pub/Sub-Dienst-Agent oder ein benutzerdefiniertes Dienstkonto die Berechtigung zum Schreiben in die entsprechende BigQuery-Tabelle haben. Weitere Informationen zum Erteilen dieser Berechtigungen finden Sie im nächsten Abschnitt dieses Dokuments.
Sie können ein BigQuery-Abo in einem Projekt so konfigurieren, dass Daten in eine BigQuery-Tabelle in einem anderen Projekt geschrieben werden.
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Pub/Sub-Editor (roles/pubsub.editor
) für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen von BigQuery-Abos 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 von BigQuery-Abos erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind zum Erstellen von BigQuery-Abos erforderlich:
-
Aus einem Abo abrufen:
pubsub.subscriptions.consume
-
Abo erstellen:
pubsub.subscriptions.create
-
Abo löschen:
pubsub.subscriptions.delete
-
Abo abschließen:
pubsub.subscriptions.get
-
Abo auflisten:
pubsub.subscriptions.list
-
Abo aktualisieren:
pubsub.subscriptions.update
-
So hängen Sie ein Abo an ein Thema an:
pubsub.topics.attachSubscription
-
IAM-Richtlinie für ein Abo abrufen:
pubsub.subscriptions.getIamPolicy
-
Konfigurieren Sie die IAM-Richtlinie für ein Abo:
pubsub.subscriptions.setIamPolicy
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Damit ein Prinzipal in einem Projekt ein BigQuery-Abo in einem anderen Projekt erstellen kann, müssen Sie diesem Prinzipal die Rolle „Pub/Sub-Bearbeiter“ (roles/pubsub.editor
) in beiden Projekten zuweisen. Dadurch werden die erforderlichen Berechtigungen zum Erstellen des neuen BigQuery-Abos und zum Anhängen an das ursprüngliche Thema gewährt. Mit der Rolle „Pub/Sub-Bearbeiter“ (roles/pubsub.editor
) für das Thema können Sie auch BigQuery-Abos in einem anderen Projekt an das Thema anhängen.
Dienstkonten Rollen zuweisen
Einige Trusted Cloud by S3NS -Dienste haben Trusted 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 einen Dienst-Agent im Format service-project-number@gcp-sa-pubsub.s3ns-system.iam.gserviceaccount.com
.
Sie können entweder dem Pub/Sub-Dienst-Agent oder einem benutzerdefinierten Dienstkonto die Berechtigung zum Schreiben in die BigQuery-Tabelle erteilen.
Wenn Sie dem Pub/Sub-Dienst-Agent Berechtigungen erteilen, kann jeder Nutzer, der die Berechtigung zum Erstellen eines Abos in Ihrem Projekt hat, in die BigQuery-Tabelle schreiben. Wenn Sie eine detailliertere Berechtigung zum Schreiben in die BigQuery-Tabelle gewähren möchten, konfigurieren Sie stattdessen ein benutzerdefiniertes Dienstkonto.
Weitere Informationen zu BigQuery IAM finden Sie unter BigQuery-Rollen und -Berechtigungen.
Pub/Sub-Dienst-Agent BigQuery-Rollen zuweisen
Wenn Sie ein BigQuery-Abo mit dem Pub/Sub-Dienstkonto erstellen möchten, muss es die Berechtigung haben, in die jeweilige BigQuery-Tabelle zu schreiben und die Tabellenmetadaten zu lesen.
Weisen Sie dem Pub/Sub-Dienst-Agent die Rolle „BigQuery-Datenbearbeiter“ (roles/bigquery.dataEditor
) zu. Sie können die Berechtigung für eine einzelne Tabelle oder für das gesamte Projekt erteilen.
Tabelle
Wechseln Sie in der Trusted Cloud Console zu BigQuery Studio.
Geben Sie im Suchfeld des Explorer-Bereichs mit dem Label Nach Name und Labels filtern den Namen der Tabelle ein und drücken Sie die Eingabetaste.
Klicken Sie auf die Tabelle, für die Sie Berechtigungen gewähren möchten.
Wählen Sie für die Tabelle
> Weitere Aktionen > Freigeben > Berechtigungen aus.Alternativ können Sie auf die Tabelle und dann auf der Hauptseite auf Freigabe > Berechtigungen klicken.
Das Fenster Freigabeberechtigungen wird geöffnet.
Klicken Sie auf Hauptkonto hinzufügen.
Geben Sie unter Principals hinzufügen den Namen Ihres Pub/Sub-Dienst-Agents für das Projekt ein, das das Abo enthält. Der Dienst-Agent hat das Format
service-project-number@gcp-sa-pubsub.s3ns-system.iam.gserviceaccount.com
. Für ein Projekt mitproject-number=112233445566
hat der Dienst-Agent beispielsweise das Formatservice-112233445566@gcp-sa-pubsub.s3ns-system.iam.gserviceaccount.com
.Geben Sie im Drop-down-Menü Rolle auswählen
BigQuery
ein und wählen Sie die Rolle BigQuery-Datenbearbeiter aus.Klicken Sie auf Speichern.
Projekt
Rufen Sie in der Trusted Cloud Console die Seite IAM auf.
Klicken Sie auf Zugriff erlauben.
Geben Sie im Abschnitt Hauptkonten hinzufügen den Namen Ihres Pub/Sub-Dienst-Agents ein. Der Dienst-Agent hat das Format
service-project-number@gcp-sa-pubsub.s3ns-system.iam.gserviceaccount.com
. Für ein Projekt mitproject-number=112233445566
hat der Dienst-Agent beispielsweise das Formatservice-112233445566@gcp-sa-pubsub.s3ns-system.iam.gserviceaccount.com
.Klicken Sie im Bereich Rollen zuweisen auf Weitere Rolle hinzufügen.
Geben Sie im Drop-down-Menü Rolle auswählen
BigQuery
ein und wählen Sie die Rolle BigQuery-Datenbearbeiter aus.Klicken Sie auf Speichern.
Benutzerdefinierten Dienstkonten BigQuery-Rollen zuweisen
Wenn Sie ein benutzerdefiniertes Dienstkonto zum Schreiben in eine BigQuery-Tabelle verwenden möchten, müssen Sie die folgenden Berechtigungen festlegen:
- Das benutzerdefinierte Dienstkonto muss die Berechtigung haben, in die jeweilige BigQuery-Tabelle zu schreiben und die Tabellenmetadaten zu lesen.
- Der Pub/Sub-Dienst-Agent muss die Berechtigung
iam.serviceAccounts.getAccessToken
für das benutzerdefinierte Dienstkonto haben. - Der Nutzer, der das Abo erstellt, muss die Berechtigung
iam.serviceAccounts.actAs
für das benutzerdefinierte Dienstkonto haben.
So erstellen Sie das Dienstkonto und erteilen Berechtigungen:
Benutzerdefiniertes Dienstkonto erstellen Das Dienstkonto muss sich im selben Projekt wie das Abo befinden.
Weisen Sie dem benutzerdefinierten Dienstkonto die Rolle „BigQuery-Datenbearbeiter“ (
roles/bigquery.dataEditor
) zu.Sie können die Dienstkontoberechtigung für eine einzelne Tabelle im Projekt oder für alle Tabellen im Projekt erteilen. Eine Anleitung dazu finden Sie im entsprechenden Abschnitt unter BigQuery-Rollen dem Pub/Sub-Dienst-Agent zuweisen. Ersetzen Sie im Verfahren die E-Mail-Adresse des Pub/Sub-Dienst-Agents durch die E-Mail-Adresse des benutzerdefinierten Dienstkontos.
Weisen Sie dem Pub/Sub-Dienst-Agent die Berechtigung
iam.serviceAccounts.getAccessToken
für das benutzerdefinierte Dienstkonto oder für alle Dienstkonten im Projekt zu. Sie können diese Berechtigung erteilen, indem Sie dem Pub/Sub-Dienst-Agent die Rolleroles/iam.serviceAccountTokenCreator
zuweisen.Wählen Sie die geeignete Methode entsprechend Ihren Anforderungen aus.
Dienstkonto
Rufen Sie in der Trusted Cloud Console die Seite Dienstkonten auf.
Geben Sie den Namen des benutzerdefinierten Dienstkontos in den Filter ein.
Wählen Sie das Dienstkonto aus der Liste aus.
Klicken Sie auf Hauptkonten mit Zugriff.
Klicken Sie auf Zugriff erlauben.
Geben Sie im Bereich Hauptkonten hinzufügen den Namen Ihres Pub/Sub-Dienst-Agents für das Projekt mit dem Abo ein. Der Dienst-Agent hat das Format
service-project-number@gcp-sa-pubsub.s3ns-system.iam.gserviceaccount.com
. Für ein Projekt mitproject-number=112233445566
hat der Dienst-Agent beispielsweise das Formatservice-112233445566@gcp-sa-pubsub.s3ns-system.iam.gserviceaccount.com
.Geben Sie im Drop-down-Menü Rolle auswählen
Service Account
ein und wählen Sie die Rolle Ersteller von Dienstkonto-Tokens aus.Klicken Sie auf Speichern.
Projekt
Rufen Sie in der Trusted Cloud Console die Seite IAM auf.
Klicken Sie auf Zugriff erlauben.
Geben Sie im Abschnitt Hauptkonten hinzufügen den Namen Ihres benutzerdefinierten Dienstkontos ein.
Klicken Sie im Bereich Rollen zuweisen auf Weitere Rolle hinzufügen.
Geben Sie im Drop-down-Menü Rolle auswählen
Service Account
ein und wählen Sie die Rolle Ersteller von Dienstkonto-Tokens aus.Klicken Sie auf Speichern.
Wenn Sie das benutzerdefinierte Dienstkonto erstellt haben, sollten Sie bereits die erforderliche Berechtigung iam.serviceAccounts.actAs
haben. So gewähren Sie einer anderen Person die Berechtigung für das Dienstkonto:
Rufen Sie in der Trusted Cloud Console die Seite Dienstkonten auf.
Geben Sie den Namen des benutzerdefinierten Dienstkontos in den Filter ein.
Wählen Sie das Dienstkonto aus der Liste aus.
Klicken Sie auf Hauptkonten mit Zugriff.
Klicken Sie auf Zugriff erlauben.
Geben Sie im Bereich Hauptkonten hinzufügen den Namen des Kontos ein, dem Sie Zugriff gewähren möchten.
Geben Sie im Drop-down-Menü Rolle auswählen
Service Account
ein und wählen Sie die Rolle Dienstkontonutzer aus.Wenn Ihre BigQuery-Tabelle eine Apache Iceberg-Tabelle ist, gewähren Sie dem Pub/Sub-Dienstkonto außerdem die Rolle Storage-Administrator (
roles/storage.admin
), um auf den Cloud Storage-Bucket zuzugreifen.Klicken Sie auf Speichern.
Eigenschaften von BigQuery-Abos
Wenn Sie ein BigQuery-Abo konfigurieren, können Sie die folgenden Eigenschaften angeben.
Allgemeine Eigenschaften
Weitere Informationen zu den allgemeinen Abo-Eigenschaften, die Sie für alle Abos festlegen können.
Schema des Themas verwenden
Mit dieser Option kann Pub/Sub das Schema des Pub/Sub-Themas verwenden, an das das Abo angehängt ist. Außerdem schreibt Pub/Sub die Felder in Nachrichten in die entsprechenden Spalten in der BigQuery-Tabelle.
Wenn Sie diese Option verwenden, müssen Sie die folgenden zusätzlichen Anforderungen erfüllen:
Die Felder im Themenschema und im BigQuery-Schema müssen dieselben Namen haben und ihre Typen müssen miteinander kompatibel sein.
Alle optionalen Felder im Schema des Themas müssen auch im BigQuery-Schema optional sein.
Erforderliche Felder im Schema des Themas müssen nicht im BigQuery-Schema erforderlich sein.
Wenn es BigQuery-Felder gibt, die nicht im Themenschema vorhanden sind, müssen diese BigQuery-Felder den Modus
NULLABLE
haben.Wenn das Schema des Themas zusätzliche Felder enthält, die nicht im BigQuery-Schema vorhanden sind und gelöscht werden können, wählen Sie die Option Unbekannte Felder löschen aus.
Sie können nur eine der Abo-Eigenschaften auswählen: Themenschema verwenden oder Tabellenschema verwenden.
Wenn Sie die Option Schema des Themas verwenden oder Tabellenschema verwenden nicht auswählen, muss die BigQuery-Tabelle eine Spalte namens data
vom Typ BYTES
, STRING
oder JSON
enthalten. Pub/Sub schreibt die Nachricht in diese BigQuery-Spalte.
Änderungen am Schema des Pub/Sub-Themas oder der BigQuery-Tabelle werden möglicherweise nicht sofort in Nachrichten übernommen, die in die BigQuery-Tabelle geschrieben werden. Wenn beispielsweise die Option Unbekannte Felder löschen aktiviert ist und ein Feld im Pub/Sub-Schema, aber nicht im BigQuery-Schema vorhanden ist, enthalten Nachrichten, die in die BigQuery-Tabelle geschrieben werden, das Feld möglicherweise auch nach dem Hinzufügen zum BigQuery-Schema nicht. Schließlich werden die Schemas synchronisiert und nachfolgende Nachrichten enthalten das Feld.
Wenn Sie die Option Themenschema verwenden für Ihr BigQuery-Abo verwenden, können Sie auch BigQuery Change Data Capture (CDC) nutzen. CDC aktualisiert Ihre BigQuery-Tabellen durch Verarbeitung und Anwendung von Änderungen auf vorhandene Zeilen.
Weitere Informationen zu dieser Funktion finden Sie unter Tabellenaktualisierungen mit Change Data Capture streamen.
Informationen zur Verwendung dieses Features mit BigQuery-Abos finden Sie unter BigQuery Change Data Capture.
Schema der Tabelle verwenden
Mit dieser Option kann Pub/Sub das Schema der BigQuery-Tabelle verwenden, um die Felder einer JSON-Nachricht in die entsprechenden Spalten zu schreiben. Wenn Sie diese Option verwenden, müssen Sie die folgenden zusätzlichen Anforderungen erfüllen:
Die Namen der einzelnen Spalten in der BigQuery-Tabelle dürfen nur Buchstaben (a–z, A–Z), Ziffern (0–9) und Unterstriche (_) enthalten.
Veröffentlichte Nachrichten müssen im JSON-Format vorliegen.
Die folgenden JSON-Konvertierungen werden unterstützt:
JSON-Typ BigQuery-Datentyp string
NUMERIC
,BIGNUMERIC
,DATE
,TIME
,DATETIME
oderTIMESTAMP
number
NUMERIC
,BIGNUMERIC
,DATE
,TIME
,DATETIME
oderTIMESTAMP
- Wenn Sie
number
fürDATE
-,DATETIME
-,TIME
- oderTIMESTAMP
-Conversions verwenden, muss die Zahl den unterstützten Darstellungen entsprechen. - Bei der Konvertierung von
number
inNUMERIC
oderBIGNUMERIC
sind die Genauigkeit und der Wertebereich auf die Werte beschränkt, die vom IEEE 754-Standard für Gleitkommaarithmetik akzeptiert werden. Wenn Sie eine hohe Genauigkeit oder einen größeren Wertebereich benötigen, verwenden Sie stattdessenstring
- bisNUMERIC
- oderBIGNUMERIC
-Conversions. - Wenn Sie
string
- inNUMERIC
- oderBIGNUMERIC
-Conversions verwenden, geht Pub/Sub davon aus, dass der String eine für Menschen lesbare Zahl ist (z.B."123.124"
). Wenn die Verarbeitung des Strings als für Menschen lesbare Zahl fehlschlägt, behandelt Pub/Sub den String als Byte, die mit dem BigDecimalByteStringEncoder codiert wurden.
- Wenn Sie
Wenn dem Thema des Abos ein Schema zugeordnet ist, muss die Eigenschaft für die Nachrichtencodierung auf
JSON
festgelegt werden.Wenn BigQuery-Felder vorhanden sind, die nicht in den Nachrichten enthalten sind, müssen diese BigQuery-Felder den Modus
NULLABLE
haben.Wenn die Nachrichten zusätzliche Felder enthalten, die nicht im BigQuery-Schema vorhanden sind und gelöscht werden können, wählen Sie die Option Unbekannte Felder löschen aus.
Sie können nur eine der Abo-Eigenschaften auswählen: Themenschema verwenden oder Tabellenschema verwenden.
Wenn Sie die Option Schema des Themas verwenden oder Tabellenschema verwenden nicht auswählen, muss die BigQuery-Tabelle eine Spalte namens data
vom Typ BYTES
, STRING
oder JSON
enthalten. Pub/Sub schreibt die Nachricht in diese BigQuery-Spalte.
Änderungen am BigQuery-Tabellenschema werden möglicherweise nicht sofort auf Nachrichten angewendet, die in die BigQuery-Tabelle geschrieben werden. Wenn beispielsweise die Option Unbekannte Felder löschen aktiviert ist und ein Feld in den Nachrichten, aber nicht im BigQuery-Schema vorhanden ist, enthalten Nachrichten, die in die BigQuery-Tabelle geschrieben werden, möglicherweise immer noch nicht das Feld, nachdem es dem BigQuery-Schema hinzugefügt wurde. Schließlich wird das Schema synchronisiert und nachfolgende Nachrichten enthalten das Feld.
Wenn Sie die Option Tabellenschema verwenden für Ihr BigQuery-Abo verwenden, können Sie auch BigQuery Change Data Capture (CDC) nutzen. CDC aktualisiert Ihre BigQuery-Tabellen durch Verarbeitung und Anwendung von Änderungen auf vorhandene Zeilen.
Weitere Informationen zu dieser Funktion finden Sie unter Tabellenaktualisierungen mit Change Data Capture streamen.
Informationen zur Verwendung dieses Features mit BigQuery-Abos finden Sie unter BigQuery Change Data Capture.
Unbekannte Felder löschen
Diese Option wird mit der Option Schema des Themas verwenden oder Schema der Tabelle verwenden verwendet. Wenn diese Option aktiviert ist, kann Pub/Sub alle Felder löschen, die im Schema des Themas oder in der Nachricht, aber nicht im BigQuery-Schema vorhanden sind. Die Felder, die nicht Teil des BigQuery-Schemas sind, werden beim Schreiben der Nachricht in die BigQuery-Tabelle gelöscht.
Wenn Unbekannte Felder löschen nicht festgelegt ist, werden Nachrichten mit zusätzlichen Feldern nicht in BigQuery geschrieben und verbleiben im Rückstand des Abos, sofern Sie kein Thema für unzustellbare Nachrichten konfigurieren.
Die Einstellung Unbekannte Felder verwerfen hat keine Auswirkungen auf Felder, die weder im Pub/Sub-Themaschema noch im BigQuery-Tabellenschema definiert sind. In diesem Fall wird eine gültige Pub/Sub-Nachricht an das Abo gesendet. Da in BigQuery jedoch keine Spalten für diese zusätzlichen Felder definiert sind, werden sie während des BigQuery-Schreibvorgangs verworfen. Um dieses Verhalten zu verhindern, muss jedes Feld, das in der Pub/Sub-Nachricht enthalten ist, auch im BigQuery-Tabellenschema enthalten sein.
Das Verhalten in Bezug auf zusätzliche Felder kann auch vom jeweiligen Schematyp (Avro, Protocol Buffer) und der verwendeten Codierung (JSON, Binär) abhängen. Informationen dazu, wie sich diese Faktoren auf die Verarbeitung zusätzlicher Felder auswirken, finden Sie in der Dokumentation für Ihren spezifischen Schematyp und Ihre spezifische Codierung.
Metadaten schreiben
Mit dieser Option kann Pub/Sub die Metadaten jeder Nachricht in zusätzliche Spalten in der BigQuery-Tabelle schreiben. Andernfalls werden die Metadaten nicht in die BigQuery-Tabelle geschrieben.
Wenn Sie die Option Metadaten schreiben auswählen, muss die BigQuery-Tabelle die in der folgenden Tabelle beschriebenen Felder enthalten.
Wenn Sie die Option Metadaten schreiben nicht auswählen, ist für die BigQuery-Tabelle nur das Feld data
erforderlich, es sei denn, use_topic_schema
ist wahr. Wenn Sie sowohl die Option Metadaten schreiben als auch Themaschema verwenden auswählen, darf das Schema des Themas keine Felder mit Namen enthalten, die mit denen der Metadatenparameter übereinstimmen.
Diese Einschränkung gilt auch für CamelCase-Versionen dieser SnakeCase-Parameter.
Parameter | |
---|---|
subscription_name |
STRING Name eines Abos. |
message_id |
STRING ID einer Nachricht |
publish_time |
TIMESTAMP Der Zeitpunkt der Veröffentlichung einer Nachricht. |
data |
BYTES, STRING oder JSON Der Inhalt der Nachricht. Das Feld |
attributes |
STRING oder JSON Ein JSON-Objekt mit allen Nachrichtenattributen. Sie enthält auch zusätzliche Felder, die Teil der Pub/Sub-Nachricht sind, einschließlich des Sortierschlüssels, sofern vorhanden. |
BigQuery-Abo erstellen
Die folgenden Beispiele zeigen, wie Sie ein Abo mit BigQuery-Zustellung erstellen.
Console
Rufen Sie in der Trusted Cloud Console die Seite Abos auf.
Klicken Sie auf Abo erstellen.
Geben Sie im Feld Abo-ID einen Namen ein. Informationen zum Benennen eines Abos finden Sie unter Richtlinien für die Benennung eines Themas oder Abos.
Wählen Sie im Drop-down-Menü ein Thema aus oder erstellen Sie ein Thema. Das Abo erhält Nachrichten aus dem Thema.
Wählen Sie als Zustellungstyp die Option In BigQuery schreiben aus.
Wählen Sie das Projekt für die BigQuery-Tabelle aus.
Wählen Sie ein vorhandenes Dataset aus oder erstellen Sie ein neues. Informationen zum Erstellen eines Datasets finden Sie unter Datasets erstellen.
Wählen Sie eine vorhandene Tabelle aus oder erstellen Sie eine neue. Informationen zum Erstellen einer Tabelle finden Sie unter Tabellen erstellen.
Wir empfehlen dringend, Dead Lettering zu aktivieren, um Nachrichtenfehler zu beheben. Weitere Informationen finden Sie unter Thema für unzustellbare Nachrichten.
Klicken Sie auf Erstellen.
Sie können ein Abo auch auf der Seite Themen erstellen. Diese Verknüpfung ist nützlich, um Themen mit Abos zu verknüpfen.
Rufen Sie in der Trusted Cloud Console die Seite Themen auf.
Klicken Sie neben dem Thema, für das Sie ein Abo erstellen möchten, auf more_vert.
Wählen Sie im Kontextmenü Abo erstellen aus.
Wählen Sie als Zustellungstyp die Option In BigQuery schreiben aus.
Wählen Sie das Projekt für die BigQuery-Tabelle aus.
Wählen Sie ein vorhandenes Dataset aus oder erstellen Sie ein neues. Informationen zum Erstellen eines Datasets finden Sie unter Datasets erstellen.
Wählen Sie eine vorhandene Tabelle aus oder erstellen Sie eine neue. Informationen zum Erstellen eines Datasets finden Sie unter Tabellen erstellen.
Wir empfehlen dringend, Dead Lettering zu aktivieren, um Nachrichtenfehler zu beheben. Weitere Informationen finden Sie unter Thema für unzustellbare Nachrichten.
Klicken Sie auf Erstellen.
gcloud
-
In the Trusted Cloud console, activate Cloud Shell.
Verwenden Sie den Befehl
gcloud pubsub subscriptions create
, um ein Pub/Sub-Abo zu erstellen:gcloud pubsub subscriptions create SUBSCRIPTION_ID \ --topic=TOPIC_ID \ --bigquery-table=PROJECT_ID.DATASET_ID.TABLE_ID
Wenn Sie ein benutzerdefiniertes Dienstkonto verwenden möchten, geben Sie es als zusätzliches Argument an:
gcloud pubsub subscriptions create SUBSCRIPTION_ID \ --topic=TOPIC_ID \ --bigquery-table=PROJECT_ID.DATASET_ID.TABLE_ID --bigquery-service-account-email=SERVICE_ACCOUNT_NAME
Ersetzen Sie Folgendes:
SUBSCRIPTION_ID
: Gibt die ID des Abos an.TOPIC_ID
: Gibt die ID des Themas an. Für das Thema ist ein Schema erforderlich.PROJECT_ID
: Gibt die ID des Projekts an.DATASET_ID
: Gibt die ID eines vorhandenen Datasets an. Informationen zum Erstellen eines Datasets finden Sie unter Datasets erstellen.TABLE_ID
: Gibt die ID einer vorhandenen Tabelle an. Die Tabelle erfordert ein Felddata
, wenn Ihr Thema kein Schema hat. Informationen zum Erstellen einer Tabelle finden Sie unter Leere Tabelle mit einer Schemadefinition erstellen.SERVICE_ACCOUNT_NAME
: Gibt den Namen des Dienstkontos an, das zum Schreiben in BigQuery verwendet werden soll.
C++
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für C++ in der Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub C++ API.
C#
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für C# in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zu Pub/Sub C# API.
Go
Im folgenden Beispiel wird die Hauptversion der Go Pub/Sub-Clientbibliothek (v2) verwendet. Wenn Sie noch die v1-Bibliothek verwenden, finden Sie hier den Migrationsleitfaden für v2. Eine Liste der Codebeispiele für Version 1 finden Sie unter Eingestellte 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 zu 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 zu 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 zu Pub/Sub Node.js API.
Node.ts
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 zu Pub/Sub Node.js API.
PHP
Folgen Sie der Einrichtungsanleitung für PHP unter Schnellstart: Clientbibliotheken verwenden, bevor Sie dieses Beispiel ausprobieren. Weitere Informationen finden Sie in der Referenzdokumentation zur PHP-API von Pub/Sub.
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 zu Pub/Sub Python API.
Ruby
Im folgenden Beispiel wird die Ruby-Pub/Sub-Clientbibliothek v3 verwendet. Wenn Sie noch die v2-Bibliothek verwenden, finden Sie hier die Migrationsanleitung für v3. Eine Liste der Ruby v2-Codebeispiele finden Sie unter Eingestellte Codebeispiele.
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Ruby im Schnellstart: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zu Pub/Sub Ruby API.
BigQuery-Abo überwachen
Cloud Monitoring bietet eine Reihe von Messwerten zum Beobachten von Abos.
Eine Liste aller verfügbaren Messwerte für Pub/Sub und deren Beschreibungen finden Sie in der Monitoring-Dokumentation für Pub/Sub.
Sie können Abos auch in Pub/Sub überwachen.
Nächste Schritte
- Erstellen oder ändern Sie ein Abo mit
gcloud
-Befehlen. - Abonnements mit REST APIs erstellen oder ändern
- Fehlerbehebung bei einem BigQuery-Abo