Der Storage Transfer Service kann Ereignisbenachrichtigungen in Google Cloud empfangen, um Daten, die einem Cloud Storage-Bucket hinzugefügt oder aktualisiert wurden, automatisch zu übertragen. Weitere Informationen zu den Vorteilen ereignisgesteuerter Übertragungen
Bei ereignisgesteuerten Übertragungen aus Cloud Storage werden Pub/Sub-Benachrichtigungen verwendet, um zu erkennen, wann Objekte im Quell-Bucket geändert oder hinzugefügt wurden. Das Löschen von Objekten wird nicht erkannt. Wenn Sie ein Objekt in der Quelle löschen, wird das zugehörige Objekt im Ziel-Bucket nicht gelöscht.
Berechtigungen konfigurieren
Ermitteln Sie den Namen des Storage Transfer Service-Dienst-Agents für Ihr Projekt:
Rufen Sie die Referenzseite
googleServiceAccounts.get
auf.Es wird ein interaktives Steuerfeld mit dem Titel Diese Methode testen geöffnet.
Geben Sie im Steuerfeld unter Anfrageparameter Ihre Projekt-ID ein. Das hier angegebene Projekt muss das Projekt sein, das Sie zum Verwalten des Storage Transfer Service verwenden. Dieses kann sich vom Projekt des Quell-Buckets unterscheiden.
Klicken Sie auf Ausführen.
Die E-Mail-Adresse des Dienst-Agents wird als Wert von
accountEmail
zurückgegeben. Kopieren Sie diesen Wert.Die E-Mail des Dienst-Agents hat das Format
project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com
.Weisen Sie dem Storage Transfer Service-Dienst-Agent die Rolle
Pub/Sub Subscriber
zu.Cloud Console
Folgen Sie der Anleitung unter Zugriff über die Google Cloud Console steuern, um dem Storage Transfer Service die Rolle
Pub/Sub Subscriber
zu gewähren. Die Rolle kann auf Themen-, Abo- oder Projektebene gewährt werden.gcloud
CLIFolgen Sie der Anleitung unter Richtlinie festlegen, um die folgende Bindung hinzuzufügen:
{ "role": "roles/pubsub.subscriber", "members": [ "serviceAccount:project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com" }
Pub/Sub konfigurieren
Sie müssen die Voraussetzungen für die Verwendung von Pub/Sub mit Cloud Storage erfüllen.
So konfigurieren Sie eine Pub/Sub-Benachrichtigung für Cloud Storage:
gcloud storage buckets notifications create gs://BUCKET_NAME --topic=TOPIC_NAME
Erstellen Sie ein Pull-Abo für das Thema:
gcloud pubsub subscriptions create SUBSCRIPTION_ID --topic=TOPIC_NAME --ack-deadline=300
Übertragungsjob erstellen
Sie können einen ereignisbasierten Übertragungsjob mit der REST API oder der Google Cloud Console erstellen.
Der Name des Übertragungsjobs darf keine vertraulichen Informationen wie personenidentifizierbare Informationen oder Sicherheitsdaten enthalten. Ressourcennamen können an die Namen anderer Google Cloud-Ressourcen weitergegeben und für interne Google-Systeme außerhalb Ihres Projekts freigegeben werden.
Cloud Console
Rufen Sie in der Google Cloud Console die Seite Übertragungsjob erstellen auf.
Wählen Sie Cloud Storage sowohl als Quelle als auch als Ziel aus.
Wählen Sie als Planungsmodus die Option Ereignisgesteuert aus und klicken Sie auf Weiterer Schritt.
Wählen Sie den Quell-Bucket für diese Übertragung aus.
Geben Sie im Bereich Ereignisstream den Namen des Abos ein:
projects/PROJECT_NAME/subscriptions/SUBSCRIPTION_ID
Optional: Definieren Sie Filter und klicken Sie dann auf Vorgehen.
Wählen Sie den Ziel-Bucket für diese Übertragung aus.
Optional: Geben Sie eine Start- und Endzeit für die Übertragung ein. Wenn Sie keine Uhrzeit angeben, beginnt die Übertragung sofort und wird ausgeführt, bis sie manuell beendet wird.
Geben Sie Optionen für die Übertragung an. Weitere Informationen finden Sie auf der Seite Übertragungen erstellen.
Klicken Sie auf Erstellen.
Nach dem Erstellen wird der Übertragungsjob ausgeführt und ein Ereignislistener wartet auf Benachrichtigungen zum Pub/Sub-Abo. Auf der Seite mit den Jobdetails wird jede Stunde ein Vorgang angezeigt. Außerdem sind Details zu den für jeden Job übertragenen Daten enthalten.
REST
Wenn Sie eine ereignisgesteuerte Übertragung mit der REST API erstellen möchten, senden Sie das folgende JSON-Objekt an den Endpunkt transferJobs.create:
transfer_job { "description": "YOUR DESCRIPTION", "status": "ENABLED", "projectId": "PROJECT_ID", "transferSpec" { "gcsDataSource" { "bucketName": "GCS_SOURCE_NAME" }, "gcsDataSink": { "bucketName": "GCS_SINK_NAME" } } "eventStream" { "name": "projects/PROJECT_NAME/subscriptions/SUBSCRIPTION_ID", "eventStreamStartTime": "2022-12-02T01:00:00+00:00", "eventStreamExpirationTime": "2023-01-31T01:00:00+00:00" } }
eventStreamStartTime
und eventStreamExpirationTime
sind optional.
Wenn die Startzeit weggelassen wird, beginnt die Übertragung sofort. Wenn die Endzeit weggelassen wird, wird die Übertragung fortgesetzt, bis sie manuell beendet wird.
Clientbibliotheken
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für Storage Transfer Service finden Sie unter Storage Transfer Service-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Storage Transfer Service Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich beim Storage Transfer Service zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für Storage Transfer Service finden Sie unter Storage Transfer Service-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Storage Transfer Service Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich beim Storage Transfer Service zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für Storage Transfer Service finden Sie unter Storage Transfer Service-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Storage Transfer Service Node.js API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich beim Storage Transfer Service zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für Storage Transfer Service finden Sie unter Storage Transfer Service-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Storage Transfer Service Python API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich beim Storage Transfer Service zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.