Objektänderungen registrieren

Auf dieser Seite wird beschrieben, wie Sie Cloud Pub/Sub-Benachrichtigungen für Cloud Storage einrichten und verwenden. Mit Cloud Pub/Sub-Benachrichtigungen können Sie Änderungen an Ihren Cloud Storage-Objekten verfolgen. Weitere Informationen zu Cloud Pub/Sub für Cloud Storage finden Sie auf der Seite, auf der Konzepte für Benachrichtigungen erläutert werden.

Vorbereitung

Bevor Sie diese Funktion verwenden, gehen Sie so vor:

  1. Aktivieren Sie die Cloud Pub/Sub API für das Projekt, das die Benachrichtigungen erhalten wird.

    API aktivieren

  2. Achten Sie auf ausreichende Berechtigungen für den Bucket, den Sie überwachen möchten:

  3. 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, sollten Sie die Berechtigung pubsub.topics.create haben.

    • 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 Berechtigung pubsub.topics.setIamPolicy.

      Informationen dazu, wie Sie diese Cloud Pub/Sub-Berechtigungen erhalten, finden Sie in Cloud Pub/Sub-Zugriffssteuerung.

  4. Achten Sie darauf, dass ein bestehendes Cloud Pub/Sub-Thema vorhanden ist, an das Sie Benachrichtigungen senden möchten.

  5. Rufen Sie die E-Mail-Adresse des Dienstkontos ab, das mit dem Projekt verknüpft ist, in dem sich Ihr Cloud Storage-Bucket befindet.

  6. 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 Cloud 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. Um nur für einen Teil der Ereignisse Benachrichtigungen zu senden, fügen Sie das Flag -e in Ihren gsutil-Befehl oder den Schlüssel event_types in den Text Ihrer JSON-Anfrage ein.

gsutil

Verwenden Sie den Befehl gsutil notification create und ersetzen Sie [VALUES_IN_BRACKETS] 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.

JSON API

  1. 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.
  2. Erstellen Sie eine JSON-Datei, die die folgenden Informationen enthält, und ersetzen Sie [VALUES_IN_BRACKETS] durch die entsprechenden Werte:

    {
    "topic": "projects/[PROJECT_ID]/topics/[TOPIC_NAME]",
    "payload_format": "JSON_API_V1"
    }

  3. Verwenden Sie cURL, um die JSON API mit einer POST notificationConfigs-Anfrage aufzurufen, und ersetzen Sie [VALUES_IN_BRACKETS] durch die entsprechenden Werte:

    curl -X POST --data-binary @[JSON_FILE_NAME].json 
    -H "Authorization: Bearer [OAUTH2_TOKEN]"
    -H "Content-Type: application/json"
    "https://www.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 und ersetzen Sie [VALUES_IN_BRACKETS] durch die entsprechenden Werte:

gsutil notification list gs://[BUCKET_NAME]

JSON API

  1. 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.
  2. Verwenden Sie cURL, um die JSON API mit einer GET notificationConfigs-Anfrage aufzurufen, und ersetzen Sie [VALUES_IN_BRACKETS] durch die entsprechenden Werte:

    curl -X GET 
    -H "Authorization: Bearer [OAUTH2_TOKEN]"
    "https://www.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 und ersetzen Sie [VALUES_IN_BRACKETS] 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.

JSON API

  1. 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.
  2. Verwenden Sie cURL, um die JSON API mit einer DELETE notificationConfigs-Anfrage aufzurufen, und ersetzen Sie [VALUES_IN_BRACKETS] durch die entsprechenden Werte:

    curl -X DELETE 
    -H "Authorization: Bearer [OAUTH2_TOKEN]"
    "https://www.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.

Weitere Informationen

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...