Auf dieser Seite wird beschrieben, wie Sie Pub/Sub-Benachrichtigungen für Cloud Storage einrichten und verwenden. Mit Pub/Sub-Benachrichtigungen können Sie Änderungen an Ihren Cloud Storage-Objekten verfolgen.
Vorbereitung
Bevor Sie diese Funktion verwenden, gehen Sie so vor:
Aktivieren Sie die Pub/Sub API für das Projekt, das die Benachrichtigungen erhalten wird.
Achten Sie auf ausreichende Berechtigungen für den Bucket, den Sie überwachen möchten:
Wenn Sie der Inhaber des Projekts sind, zu dem der Bucket gehört, haben Sie wahrscheinlich die erforderliche Berechtigung.
Wenn Sie IAM verwenden, benötigen Sie die Berechtigung
storage.buckets.update
. Eine Anleitung dazu finden Sie unter IAM-Berechtigungen verwenden.Wenn Sie ACLs verwenden, benötigen Sie die Berechtigung
OWNER
. Weitere Informationen dazu finden Sie unter ACLs festlegen.
Achten Sie auf ausreichende Berechtigungen für das Projekt, das die Benachrichtigungen erhalten wird:
Wenn Sie der Inhaber des Projekts sind, das die Benachrichtigungen erhalten wird, haben Sie wahrscheinlich die erforderliche Berechtigung.
Wenn Sie Themen zum Empfangen von Benachrichtigungen erstellen möchten, benötigen Sie die Berechtigung
pubsub.topics.create
.Wenn Sie neue oder vorhandene Themen verwenden möchten, benötigen Sie die Berechtigung
pubsub.topics.setIamPolicy
. Als Ersteller eines Themas haben Sie normalerweise die Berechtigungpubsub.topics.setIamPolicy
.Unter Pub/Sub-Zugriffssteuerung wird beschrieben, wie Sie diese Pub/Sub-Berechtigungen erhalten.
Achten Sie darauf, dass ein bestehendes Cloud Pub/Sub-Thema vorhanden ist, an das Sie Benachrichtigungen senden möchten.
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.
Verwenden Sie die E-Mail-Adresse, die Sie im vorherigen Schritt erhalten haben, um dem Dienst-Agent die IAM-Rolle
pubsub.publisher
für das gewünschte Pub/Sub-Thema zuzuweisen.
Benachrichtigungskonfiguration anwenden
Mit den folgenden Schritten fügen Sie dem Bucket eine Benachrichtigungskonfiguration hinzu. Hierdurch werden für alle unterstützten Ereignisse Benachrichtigungen gesendet.
gsutil
Verwenden Sie den Befehl gsutil notification create
. Ersetzen Sie dabei PLACEHOLDERS
durch die entsprechenden Werte:
gsutil notification create -t TOPIC_NAME -f json gs://BUCKET_NAME
Wenn Sie einen TOPIC_NAME
-Wert angeben, der in Ihrem Projekt nicht existiert, erstellt gsutil einen für Sie.
Wenn Sie Benachrichtigungen für einen Teil der Ereignisse senden möchten, fügen Sie das Flag -e
ein.
Codebeispiele
C++
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.
Informationen zum Erstellen einer Benachrichtigungskonfiguration für einen Bucket mithilfe von C# finden Sie in der Referenzdokumentation zu CreateTopic.Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.
Informationen zum Erstellen einer Benachrichtigungskonfiguration für einen Bucket mithilfe von Go finden Sie in der Referenzdokumentation zu BucketHandle.Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Sie können Pub/Sub-Benachrichtigungen derzeit nicht mit der Java-Clientbibliothek verwalten.
Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.
Informationen zum Erstellen einer Benachrichtigungskonfiguration für einen Bucket mithilfe von Node.js finden Sie in der Referenzdokumentation zu Buckets.PHP
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.
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.
Informationen zum Erstellen einer Benachrichtigungskonfiguration für einen Bucket mithilfe von Python finden Sie in der Referenzdokumentation zu Buckets.Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.
Informationen zum Erstellen einer Benachrichtigungskonfiguration für einen Bucket mithilfe von Ruby finden Sie in der Referenzdokumentation zurGoogle::Cloud::Storage::Bucket
-Klasse.
JSON API
- Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden.
Erstellen Sie eine JSON-Datei mit den folgenden Informationen und ersetzen Sie
PLACEHOLDERS
durch die entsprechenden Werte:{ "topic": "projects/PROJECT_ID/topics/TOPIC_NAME", "payload_format": "JSON_API_V1" }
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. Ersetzen Sie dabeiPLACEHOLDERS
durch die entsprechenden Werte:curl -X POST --data-binary @JSON_FILE_NAME.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs"
Benachrichtigungskonfigurationen für einen Bucket auflisten
So listen Sie die mit einem bestimmten Bucket verknüpften Benachrichtigungskonfigurationen auf:
gsutil
Verwenden Sie den Befehl gsutil notification list
. Ersetzen Sie dabei PLACEHOLDERS
durch die entsprechenden Werte:
gsutil notification list gs://BUCKET_NAME
Codebeispiele
C++
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.
Informationen zum Auflisten der einem Bucket zugeordneten Benachrichtigungskonfigurationen mithilfe von C# finden Sie in der Referenzdokumentation zu StorageClient.Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.
Informationen zum Auflisten der einem Bucket zugeordneten Benachrichtigungskonfigurationen mithilfe von Go finden Sie in der Referenzdokumentation zu BucketHandle.Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Sie können Pub/Sub-Benachrichtigungen derzeit nicht mit der Java-Clientbibliothek verwalten.
Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.
Informationen zum Auflisten der einem Bucket zugeordneten Benachrichtigungskonfigurationen mithilfe von Node.js finden Sie in der Referenzdokumentation zu Buckets.PHP
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.
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.
Informationen zum Auflisten der einem Bucket zugeordneten Benachrichtigungskonfigurationen mithilfe von Python finden Sie in der Referenzdokumentation zu Buckets.Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.
Informationen zum Auflisten der einem Bucket zugeordneten Benachrichtigungskonfigurationen mithilfe von Ruby finden Sie in der Referenzdokumentation zurGoogle::Cloud::Storage::Bucket
-Klasse.
JSON API
- Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden.
Verwenden Sie
cURL
, um die JSON API mit einerGET notificationConfigs
-Anfrage aufzurufen. Ersetzen Sie dabeiPLACEHOLDERS
durch die entsprechenden Werte:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs"
Benachrichtigungskonfiguration entfernen
So entfernen Sie eine vorhandene Benachrichtigungskonfiguration aus einem Bucket:
gsutil
Verwenden Sie den Befehl gsutil notification delete
. Ersetzen Sie dabei PLACEHOLDERS
durch die entsprechenden Werte:
gsutil notification delete projects/_/buckets/BUCKET_NAME/notificationConfigs/CONFIGURATION_NAME
Nach dem Senden kann es bis zu 30 Sekunden dauern, bis alle durch die Benachrichtigungskonfiguration ausgelösten Benachrichtigungen gestoppt werden.
Codebeispiele
C++
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.
Informationen zum Löschen einer Benachrichtigungskonfiguration für einen Bucket mithilfe von C# finden Sie in der Referenzdokumentation zu StorageClient.Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.
Informationen zum Löschen einer Benachrichtigungskonfiguration für einen Bucket mithilfe von Go finden Sie in der Referenzdokumentation zu BucketHandle.Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Sie können Pub/Sub-Benachrichtigungen derzeit nicht mit der Java-Clientbibliothek verwalten.
Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.
Informationen zum Löschen einer Benachrichtigungskonfiguration für einen Bucket mithilfe von Node.js finden Sie in der Referenzdokumentation zu Benachrichtigungen.PHP
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.
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.
Informationen zum Löschen einer Benachrichtigungskonfiguration für einen Bucket mithilfe von Python finden Sie in der Referenzdokumentation zu Benachrichtigungen.
Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.
Informationen zum Löschen einer Benachrichtigungskonfiguration für einen Bucket mithilfe von Ruby finden Sie in der Referenzdokumentation zurGoogle::Cloud::Storage::Notification
-Klasse.
JSON API
- Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden.
Verwenden Sie
cURL
, um die JSON API mit einerDELETE notificationConfigs
-Anfrage aufzurufen. Ersetzen Sie dabeiPLACEHOLDERS
durch die entsprechenden Werte:curl -X DELETE \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs/CONFIGURATION_NAME"
Nach dem Senden kann es bis zu 30 Sekunden dauern, bis alle durch die Benachrichtigungskonfiguration ausgelösten Benachrichtigungen gestoppt werden.
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
- Fotoalbum erstellen, in dem Pub/Sub-Benachrichtigungen für Cloud Storage verwendet werden
- Pub/Sub für Aufgaben mit langer Ausführungszeit verwenden