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.
Hinweis
Bevor Sie diese Funktion verwenden, gehen Sie so vor:
Aktivieren Sie die Pub/Sub API für das Projekt, das die Benachrichtigungen erhalten wird.
Sie haben die Berechtigungen
storage.buckets.update
undstorage.buckets.get
für den Bucket, den Sie überwachen möchten. Eine Anleitung dazu finden Sie unter IAM-Berechtigungen verwenden. Wenn Sie der Inhaber des Projekts sind, zu dem der Bucket gehört, haben Sie wahrscheinlich bereits die erforderliche Berechtigung.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 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 Dienstkonto 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.
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 den Befehl gcloud storage buckets notifications create
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
So rufen Sie eine bestimmte Benachrichtigungskonfiguration ab, die Ihrem Bucket zugeordnet ist:
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 den Befehl gcloud storage buckets notifications describe
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 den Befehl gcloud storage buckets notifications list
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 den Befehl gcloud storage buckets notifications delete
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 Functions Ereignisse mit einem Cloud Storage-Trigger bereitstellen.