Auf dieser Seite wird beschrieben, wie Sie Ihren Bucket so konfigurieren, dass Benachrichtigungen über Objektänderungen an ein Pub/Sub-Thema gesendet werden. Informationen zum Abonnieren eines Pub/Sub-Themas, das Benachrichtigungen erhält, finden Sie unter Abotyp auswählen.
Hinweise
Bevor Sie diese Funktion verwenden, schließen Sie die folgenden Anleitungen ab:
Pub/Sub API aktivieren
Aktivieren Sie die Pub/Sub API für das Projekt, das die Benachrichtigungen erhalten wird.
Erforderliche Rollen abrufen
Bitten Sie Ihren Administrator, Ihnen die folgenden Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren und Aufrufen von Pub/Sub-Benachrichtigungen für einen Bucket benötigen:
Rolle Storage-Administrator (
roles/storage.admin
) für den Bucket, für den Sie Pub/Sub-Benachrichtigungen konfigurieren möchtenRolle Pub/Sub-Administrator (
roles/pubsub.admin
) für das Projekt, in dem Sie Pub/Sub-Benachrichtigungen erhalten möchten
Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Konfigurieren und Aufrufen von Pub/Sub-Benachrichtigungen erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
storage.buckets.get
storage.buckets.update
pubsub.topics.create
pubsub.topics.setIamPolicy
Sie können diese Berechtigungen möglicherweise mit anderen vordefinierten Rollen oder benutzerdefinierten Rollen erhalten.
Eine Anleitung zum Zuweisen von Rollen für Buckets finden Sie unter IAM mit Buckets verwenden. Unter Zugriff steuern finden Sie Anleitungen zum Zuweisen von Rollen für Projekte und zum Festlegen der Zugriffssteuerung für Themen und Abos.
Prüfen Sie, ob ein Pub/Sub-Thema vorhanden ist
Falls noch nicht geschehen, erstellen Sie ein Pub/Sub-Thema, an das Sie Benachrichtigungen senden möchten. Dieser Schritt ist nicht erforderlich, wenn Sie die Google Cloud CLI oder Terraform verwenden möchten, um die Anleitung auf dieser Seite auszuführen.
Dem Dienst-Agent Ihres Projekts die erforderliche Rolle zuweisen
Die folgenden Schritte sind nicht erforderlich, wenn Sie die Google Cloud CLI oder Terraform verwenden möchten, um die Anleitung auf dieser Seite auszuführen.
Rufen Sie die E-Mail-Adresse des Dienst-Agents ab, der mit dem Projekt verknüpft ist, in dem sich Ihr Cloud Storage-Bucket befindet.
Gewähren Sie dem Dienst-Agent die Pub/Sub-Publisher-Rolle (
roles/pubsub.publisher
) für das entsprechende Pub/Sub-Thema. Eine Anleitung zum Gewähren von Rollen für Themen finden Sie unter Zugriff steuern.
Benachrichtigungskonfiguration anwenden
Mit den folgenden Schritten fügen Sie dem Bucket eine Benachrichtigungskonfiguration hinzu. Hierdurch werden für alle unterstützten Ereignisse Benachrichtigungen gesendet.
Console
Sie können Pub/Sub-Benachrichtigungen nicht mit der Google Cloud Console verwalten. Verwenden Sie stattdessen die gcloud CLI oder eine der verfügbaren Clientbibliotheken.
Befehlszeile
Führen Sie folgenden gcloud storage buckets notifications create
-Befehl aus:
gcloud storage buckets notifications create gs://BUCKET_NAME --topic=TOPIC_NAME
Dabei gilt:
BUCKET_NAME
ist der Name des entsprechenden Buckets. Beispiel:my-bucket
.TOPIC_NAME
ist das Pub/Sub-Thema, an das Benachrichtigungen gesendet werden sollen. Wenn Sie ein Thema angeben, das in Ihrem Projekt nicht vorhanden ist, erstellt der Befehl ein Thema für Sie.
Wenn Sie Benachrichtigungen für einen Teil der Ereignisse senden möchten, fügen Sie das Flag --event-types
ein.
Clientbibliotheken
C++
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Informationen zum Erstellen einer Benachrichtigungskonfiguration für einen Bucket mithilfe von PHP finden Sie in der Referenzdokumentation zur Google Cloud-Clientbibliothek.Python
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Terraform
Mit einer Terraform-Ressource können Sie einem Bucket eine Benachrichtigungskonfiguration hinzufügen.
REST APIs
JSON API
Installieren und initialisieren Sie die dcloud CLI, um ein Zugriffstoken für den Header
Authorization
zu generieren.Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header
Authorization
einfügen.Erstellen Sie eine JSON-Datei, die folgende Informationen enthält:
{ "topic": "projects/PROJECT_ID/topics/TOPIC_NAME", "payload_format": "JSON_API_V1" }
Dabei gilt:
PROJECT_ID
ist die ID des Projekts, das mit dem Pub/Sub-Thema verknüpft ist, an das Sie Benachrichtigungen senden möchten. Beispiel:my-pet-project
.TOPIC_NAME
ist das Pub/Sub-Thema, an das Benachrichtigungen gesendet werden sollen. Beispiel:my-topic
.
Wenn Sie Benachrichtigungen für einen Teil der Ereignisse senden möchten, fügen Sie das Feld
event_types
in den Text Ihrer JSON-Anfrage ein.Verwenden Sie
cURL
, um die JSON API mit einerPOST notificationConfigs
-Anfrage aufzurufen:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs"
Dabei gilt:
JSON_FILE_NAME
ist der Pfad für die Datei, die Sie in Schritt 2 erstellt haben.BUCKET_NAME
ist der Name des Buckets, für den Benachrichtigungen generiert werden sollen. Beispiel:my-bucket
.
XML API
Sie können Pub/Sub-Benachrichtigungen nicht mit der XML API verwalten.
Benachrichtigungskonfiguration abrufen
Führen Sie die folgenden Schritte aus, um eine bestimmte Benachrichtigungskonfiguration abzurufen, die Ihrem Bucket zugeordnet ist:
Console
Sie können Pub/Sub-Benachrichtigungen nicht mit der Google Cloud Console verwalten. Verwenden Sie stattdessen die Google Cloud CLI oder eine der verfügbaren Clientbibliotheken.
Befehlszeile
Führen Sie folgenden gcloud storage buckets notifications describe
-Befehl aus:
gcloud storage buckets notifications describe projects/_/buckets/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID
Dabei gilt:
BUCKET_NAME
ist der Name des Buckets, dessen Benachrichtigungskonfiguration Sie abrufen möchten, z. B.my-bucket
.NOTIFICATION_ID
ist die ID-Nummer der gewünschten Konfiguration. Beispiel:5
.
Wenn der Vorgang erfolgreich war, sieht die Antwort in etwa so aus:
etag: '132' id: '132' kind: storage#notification payload_format: JSON_API_V1 selfLink: https://www.googleapis.com/storage/v1/b/my-bucket/notificationConfigs/132 topic: //pubsub.googleapis.com/projects/my-project/topics/my-bucket
Clientbibliotheken
C++
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Informationen zum Abrufen einer Benachrichtigungskonfiguration für einen Bucket mithilfe von PHP finden Sie in der Referenzdokumentation zur Google Cloud-Clientbibliothek.Python
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
REST APIs
JSON API
Installieren und initialisieren Sie die dcloud CLI, um ein Zugriffstoken für den Header
Authorization
zu generieren.Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header
Authorization
einfügen.Verwenden Sie
cURL
, um die JSON API mit einerGET notificationConfigs
-Anfrage aufzurufen:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID"
Dabei gilt:
BUCKET_NAME
ist der Name des Buckets, dessen Benachrichtigungskonfiguration Sie abrufen möchten. Beispiel:my-bucket
NOTIFICATION_ID
ist die ID-Nummer der Benachrichtigungskonfiguration, die Sie abrufen möchten. Beispiel:5
.
XML API
Sie können Pub/Sub-Benachrichtigungen nicht mit der XML API verwalten.
Benachrichtigungskonfigurationen für einen Bucket auflisten
So listen Sie alle mit einem bestimmten Bucket verknüpften Benachrichtigungskonfigurationen auf:
Console
Sie können Pub/Sub-Benachrichtigungen nicht mit der Google Cloud Console verwalten. Verwenden Sie stattdessen die gcloud CLI oder eine der verfügbaren Clientbibliotheken.
Befehlszeile
Führen Sie folgenden gcloud storage buckets notifications list
-Befehl aus:
gcloud storage buckets notifications list gs://BUCKET_NAME
Dabei ist BUCKET_NAME
der Name des Buckets, dessen Benachrichtigungskonfigurationen Sie auflisten möchten. Beispiel: my-bucket
Clientbibliotheken
C++
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Informationen zum Auflisten der einem Bucket zugeordneten Benachrichtigungskonfigurationen mithilfe von PHP finden Sie in der Referenzdokumentation zur Google Cloud-Clientbibliothek.Python
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
REST APIs
JSON API
Installieren und initialisieren Sie die dcloud CLI, um ein Zugriffstoken für den Header
Authorization
zu generieren.Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header
Authorization
einfügen.Verwenden Sie
cURL
, um die JSON API mit einerGET notificationConfigs
-Anfrage aufzurufen:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs"
Dabei ist
BUCKET_NAME
der Name des Buckets, dessen Benachrichtigungskonfigurationen Sie auflisten möchten. Beispiel:my-bucket
XML API
Sie können Pub/Sub-Benachrichtigungen nicht mit der XML API verwalten.
Benachrichtigungskonfiguration entfernen
So entfernen Sie eine vorhandene Benachrichtigungskonfiguration aus einem Bucket:
Console
Sie können Pub/Sub-Benachrichtigungen nicht mit der Google Cloud Console verwalten. Verwenden Sie stattdessen die gcloud CLI oder eine der verfügbaren Clientbibliotheken.
Befehlszeile
Führen Sie folgenden gcloud storage buckets notifications delete
-Befehl aus:
gcloud storage buckets notifications delete projects/_/buckets/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID
Dabei gilt:
BUCKET_NAME
ist der Name des Buckets, dessen Benachrichtigungskonfiguration Sie löschen möchten. Beispiel:my-bucket
NOTIFICATION_ID
ist die ID-Nummer der Konfiguration, die Sie löschen möchten. Beispiel:5
.
Wenn der Vorgang erfolgreich war, sieht die Antwort in etwa so aus:
Completed 1
Nach dem Senden kann es bis zu 30 Sekunden dauern, bis alle durch die Benachrichtigungskonfiguration ausgelösten Benachrichtigungen gestoppt werden.
Clientbibliotheken
C++
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Informationen zum Löschen einer Benachrichtigungskonfiguration für einen Bucket mithilfe von PHP finden Sie in der Referenzdokumentation zur Google Cloud-Clientbibliothek.Python
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Terraform
Führen Sie terraform destroy
aus dem Ordner mit der Terraform-Datei aus, um die erstellte Benachrichtigungskonfiguration zu entfernen.
REST APIs
JSON API
Installieren und initialisieren Sie die dcloud CLI, um ein Zugriffstoken für den Header
Authorization
zu generieren.Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header
Authorization
einfügen.Verwenden Sie
cURL
, um die JSON API mit einerDELETE notificationConfigs
-Anfrage aufzurufen:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID"
Dabei gilt:
BUCKET_NAME
ist der Name des Buckets, dessen Benachrichtigungskonfiguration Sie löschen möchten. Beispiel:my-bucket
NOTIFICATION_ID
ist die ID-Nummer der Benachrichtigungskonfiguration, die Sie löschen möchten. Beispiel:5
.
Nach dem Senden kann es bis zu 30 Sekunden dauern, bis alle durch die Benachrichtigungskonfiguration ausgelösten Benachrichtigungen gestoppt werden.
XML API
Sie können Pub/Sub-Benachrichtigungen nicht mit der XML API verwalten.
Nächste Schritte
- Pub/Sub-Benachrichtigungen für Cloud Storage
- Abo in Pub/Sub erstellen, um von Cloud Storage gesendete Benachrichtigungen anzeigen zu lassen
- Python-Beispielanwendung für das Abfragen von Benachrichtigungen auf GitHub.
- Mit Cloud Run-Funktionen Ereignisse mit einem Cloud Storage-Trigger bereitstellen.