In Pub/Sub ist ein Thema eine benannte Ressource, die einen Nachrichtenfeed darstellt. Bevor Sie ein Thema veröffentlichen oder abonnieren können, müssen Sie es zuerst erstellen. Pub/Sub unterstützt zwei Arten von Themen: ein Standardthema und ein Importthema.
In diesem Dokument wird beschrieben, wie Sie ein Pub/Sub-Standardthema erstellen. Weitere Informationen zu Importthemen und zum Erstellen von Importthemen finden Sie unter Importthemen.
Zum Erstellen eines Themas können Sie die Google Cloud Console, die Google Cloud CLI, der Clientbibliothek oder die Pub/Sub API.
Hinweis
Erforderliche Rollen und Berechtigungen zum Verwalten von Themen
Um die Berechtigungen zu erhalten, die Sie zum Erstellen und Verwalten von Themen benötigen,
bitten Sie Ihren Administrator, Ihnen
Pub/Sub-Bearbeiter(roles/pubsub.editor
)
IAM-Rolle für Ihr Thema oder Projekt.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierte Rolle enthält Berechtigungen zum Erstellen und Verwalten von Themen Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Zum Erstellen und Verwalten von Themen sind die folgenden Berechtigungen erforderlich:
-
Erstellen Sie ein Thema:
pubsub.topics.create
-
So löschen Sie ein Thema:
pubsub.topics.delete
-
So trennen Sie ein Abo von einem Thema:
pubsub.topics.detachSubscription
-
Thema abrufen:
pubsub.topics.get
-
Thema auflisten:
pubsub.topics.list
-
So veröffentlichen Sie Inhalte in einem Thema:
pubsub.topics.publish
-
So aktualisieren Sie ein Thema:
pubsub.topics.update
-
IAM-Richtlinie für ein Thema abrufen:
pubsub.topics.getIamPolicy
-
Konfigurieren Sie die IAM-Richtlinie für ein Thema:
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. Sie können ein Abo in einem Projekt erstellen und an ein Thema in einem anderen Projekt anhängen. Sie müssen die erforderlichen Berechtigungen für jedes Projekt haben.
Eigenschaften eines Themas
Wenn Sie ein Thema erstellen oder aktualisieren, müssen Sie die zugehörigen Eigenschaften angeben.
Standardabo hinzufügen
Dem Pub/Sub-Thema wird ein Standardabo hinzugefügt. Sie können ein weiteres Abo für das Thema erstellen, nachdem es erstellt wurde. Das Standardabo hat die folgenden Attribute:
- Abo-ID von
-sub
- Pull-Zustellungstyp
- Aufbewahrungsdauer für Nachrichten von sieben Tagen
- Ablauf nach 31 Tagen Inaktivität
- Bestätigungsfrist von 10 Sekunden
- Richtlinie für sofortige Wiederholung
Schema verwenden
Ein Schema ist ein Format, dem das Nachrichtendatenfeld entsprechen muss. Ein Schema ist ein Vertrag zwischen Publisher und Abonnent, der und Pub/Sub erzwingt. Mithilfe von Themenschemata können Nachrichtentypen und Berechtigungen standardisiert werden, damit sie von verschiedenen Teams in Ihrer Organisation verwendet werden können. Pub/Sub erstellt eine zentrale für Nachrichtentypen und Berechtigungen. Informationen zum Erstellen eines Themas mit Schema finden Sie unter Schemaübersicht.
Aufnahme aktivieren
Wenn Sie diese Property aktivieren, können Sie Streamingdaten aus externen Quellen in ein Thema aufnehmen und die Funktionen von Google Cloud nutzen. So erstellen Sie ein Importthema für Informationen zur Datenaufnahme finden Sie unter Importthema erstellen.
Nachrichtenaufbewahrung aktivieren
Gibt an, wie lange das Pub/Sub-Thema Nachrichten aufbewahrt nach der Veröffentlichung. Nach Ablauf der Nachrichtenaufbewahrungsdauer Pub/Sub verwirft die Nachricht möglicherweise unabhängig von ihrer Bestätigungsstatus. Es fallen Gebühren für die Speicherung aller Nachrichten, die für das Thema veröffentlicht wurden
- Standard = Nicht aktiviert
- Mindestwert = 10 Minuten
- Höchstwert = 31 Tage
Daten der Exportnachricht an BigQuery
Wenn Sie diese Property aktivieren, können Sie ein BigQuery-Abo erstellen, das Nachrichten beim Empfang in eine vorhandene BigQuery-Tabelle schreibt. Sie müssen keinen separaten Abonnenten Client. Weitere Informationen zu BigQuery-Abos Siehe BigQuery-Abos.
Nachrichtendaten in Cloud Storage exportieren
Wenn Sie dieses Attribut aktivieren, können Sie einen Cloud Storage- Abo, das Nachrichten in einen vorhandenen Cloud Storage schreibt wie sie empfangen werden. Sie müssen keinen separaten Abonnenten Client. Weitere Informationen zu Cloud Storage-Abos finden Sie unter Cloud Storage-Abos.
Von Google verwalteter Verschlüsselungsschlüssel
Gibt an, dass das Thema mit von Google verwalteten Verschlüsselungsschlüsseln verschlüsselt wird. Pub/Sub verschlüsselt Nachrichten standardmäßig mit von Google verwalteten Schlüsseln. Wenn Sie diese Option auswählen, bleibt das Standardverhalten erhalten. Google verwaltet die Schlüsselverwaltung und -rotation automatisch, damit Ihre Nachrichten immer mit der stärksten verfügbaren Verschlüsselung geschützt sind. Für diese Option ist keine weitere Konfiguration erforderlich. Weitere Informationen zu von Google verwalteten Verschlüsselungsschlüsseln finden Sie unter Standardverschlüsselung mit Google-eigenen und von Google verwalteten Schlüsseln.
Cloud KMS-Schlüssel
Gibt an, ob das Thema mit einem vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) verschlüsselt ist. Pub/Sub verschlüsselt Nachrichten standardmäßig mit von Google verwalteten Schlüsseln. Wenn Sie diese Option angeben, verwendet Pub/Sub das Envelope-Verschlüsselungsmuster mit CMEK. Bei diesem Ansatz verschlüsselt Cloud KMS die Nachrichten nicht. Stattdessen Cloud KMS verschlüsselt die Datenverschlüsselungsschlüssel (Data Encryption Keys, DEKs), die Pub/Sub die für jedes Thema erstellt werden. Pub/Sub verschlüsselt die Nachrichten mit Den neuesten DEK, der für das Thema generiert wurde. Pub/Sub entschlüsselt die Nachrichten kurz vor der Zustellung an Abonnenten. Weitere Informationen zum Erstellen eines Schlüssels finden Sie unter Nachrichtenverschlüsselung konfigurieren.
Thema erstellen
Erstellen Sie ein Thema, bevor Sie es veröffentlichen oder abonnieren können.
Console
So erstellen Sie ein Thema:
Öffnen Sie in der Google Cloud Console die Pub/Sub-Seite Themen.
Klicken Sie auf Thema erstellen.
Geben Sie im Feld Themen-ID eine ID für das Thema ein. Weitere Informationen zur Benennung von Themen finden Sie in den Benennungsrichtlinien.
Behalten Sie die Option Standardabo hinzufügen bei.
Optional. Wählen Sie nicht die anderen Optionen aus.
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.
-
Um ein Thema zu erstellen, führen Sie den
gcloud pubsub topics create
-Befehl:gcloud pubsub topics create TOPIC_ID
REST
Verwenden Sie zum Erstellen eines Themas die Methode projects.topics.create
:
Die Anfrage muss mit einem Zugriffstoken im Header Authorization
authentifiziert werden. So rufen Sie ein Zugriffstoken für die aktuellen Standardanmeldedaten für Anwendungen ab: gcloud auth application-default print-access-token
.
PUT https://pubsub.googleapis.com/v1/projects/PROJECT_ID/topics/TOPIC_ID Authorization: Bearer ACCESS_TOKEN
Wobei:
Response:
{ "name": "projects/PROJECT_ID/topics/TOPIC_ID" }
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 Pub/Sub C++ API Referenzdokumentation.
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#
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für C# in der Pub/Sub-Schnellstart mit Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub C# API.
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Pub/Sub zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
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
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Java in der Pub/Sub-Schnellstart mit Clientbibliotheken. 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
Node.js
PHP
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für PHP in der Pub/Sub-Schnellstart mit Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub PHP API.
Richten Sie 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
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Python in der Pub/Sub-Schnellstart mit Clientbibliotheken. Weitere Informationen finden Sie in der Pub/Sub Python API Referenzdokumentation.
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Pub/Sub zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Ruby in der Pub/Sub-Schnellstart mit Clientbibliotheken. Weitere Informationen finden Sie in der Pub/Sub Ruby API Referenzdokumentation.
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.
Einschränkungen für Organisationsrichtlinien
Organisationsrichtlinien können die Erstellung von Themen einschränken, z. B.: kann eine Richtlinie den Nachrichtenspeicher in Compute Engine einschränken. Region Prüfen und aktualisieren Sie die Themen und aktualisieren Sie sie, um Fehler beim Erstellen von Themen zu vermeiden. Organisationsrichtlinien nach Bedarf, bevor Sie ein Thema erstellen.
Wenn Ihr Projekt neu erstellt wurde, warten Sie einige Minuten, bis die Organisationsrichtlinie initialisiert wurde, bevor Sie ein Thema erstellen.
Zu den Organisationsrichtlinien
Weitere Informationen finden Sie unter Richtlinien für die Speicherung von Nachrichten konfigurieren.
Nächste Schritte
Wählen Sie den Abotyp für Ihr Thema aus.
Weitere Informationen zum Veröffentlichen einer Nachricht für ein Thema
Themen mit der gcloud CLI, REST APIs oder Clientbibliotheken erstellen oder ändern