Layanan Transfer Penyimpanan dapat memproses notifikasi peristiwa di Google Cloud untuk mentransfer data yang telah ditambahkan atau diperbarui di bucket Cloud Storage secara otomatis. Pelajari lebih lanjut manfaat transfer berbasis peristiwa.
Transfer berbasis peristiwa dari Cloud Storage menggunakan notifikasi Pub/Sub untuk mengetahui kapan objek di bucket sumber telah diubah atau ditambahkan. Penghapusan objek tidak terdeteksi; menghapus objek di sumber tidak akan menghapus objek terkait di bucket tujuan.
Konfigurasikan izin
Temukan nama agen layanan Storage Transfer Service untuk project Anda:
Buka halaman referensi
googleServiceAccounts.get
.Panel interaktif akan terbuka, berjudul Coba metode ini.
Di panel, pada bagian Request parameters, masukkan ID project Anda. Project yang Anda tentukan di sini harus berupa project yang Anda gunakan untuk mengelola Storage Transfer Service, yang mungkin berbeda dengan project bucket sumber.
Klik Jalankan.
Email agen layanan Anda ditampilkan sebagai nilai
accountEmail
. Salin nilai ini.Email agen layanan menggunakan format
project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com
.Berikan peran
Pub/Sub Subscriber
ke agen layanan Storage Transfer Service.Cloud Console
Ikuti petunjuk di bagian Mengontrol akses melalui konsol Google Cloud untuk memberikan peran
Pub/Sub Subscriber
ke layanan Storage Transfer Service. Peran ini dapat diberikan di tingkat topik, langganan, atau project.gcloud
CLIIkuti petunjuk di bagian Menetapkan kebijakan untuk menambahkan binding berikut:
{ "role": "roles/pubsub.subscriber", "members": [ "serviceAccount:project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com" }
Mengonfigurasi Pub/Sub
Pastikan Anda telah memenuhi Prasyarat untuk menggunakan Pub/Sub dengan Cloud Storage.
Konfigurasikan notifikasi Pub/Sub untuk Cloud Storage:
gcloud storage buckets notifications create gs://BUCKET_NAME --topic=TOPIC_NAME
Buat langganan pull untuk topik:
gcloud pubsub subscriptions create SUBSCRIPTION_ID --topic=TOPIC_NAME --ack-deadline=300
Membuat tugas transfer
Anda dapat menggunakan REST API atau konsol Google Cloud untuk membuat tugas transfer berbasis peristiwa.
Jangan sertakan informasi sensitif seperti informasi identitas pribadi (PII) atau data keamanan dalam nama tugas transfer Anda. Nama resource dapat di-propagasi ke nama resource Google Cloud lainnya dan dapat diekspos ke sistem internal Google di luar project Anda.
Cloud Console
Buka halaman Create transfer job di Konsol Google Cloud.
Pilih Cloud Storage sebagai sumber dan tujuan.
Sebagai Scheduling mode, pilih Event-driven, lalu klik Next step.
Pilih bucket sumber untuk transfer ini.
Di bagian Aliran peristiwa, masukkan nama langganan:
projects/PROJECT_NAME/subscriptions/SUBSCRIPTION_ID
Secara opsional, tentukan filter, lalu klik Langkah berikutnya.
Pilih bucket tujuan untuk transfer ini.
Secara opsional, masukkan waktu mulai dan berakhir untuk transfer. Jika Anda tidak menentukan waktu, transfer akan segera dimulai dan akan berjalan hingga dihentikan secara manual.
Tentukan opsi transfer. Informasi selengkapnya tersedia di halaman Buat transfer.
Klik Create.
Setelah dibuat, tugas transfer akan mulai berjalan dan pemroses peristiwa menunggu notifikasi di langganan Pub/Sub. Halaman detail tugas menampilkan satu operasi setiap jam, dan menyertakan detail tentang data yang ditransfer untuk setiap tugas.
REST
Untuk membuat transfer berbasis peristiwa menggunakan REST API, kirim objek JSON berikut ke endpoint 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
dan eventStreamExpirationTime
bersifat opsional.
Jika waktu mulai dihilangkan, transfer akan langsung dimulai; jika waktu
akhir dihilangkan, transfer akan berlanjut hingga dihentikan secara manual.
Library klien
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Storage Transfer Service, lihat library klien Storage Transfer Service. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Storage Transfer Service Go API.
Untuk melakukan autentikasi ke Storage Transfer Service, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Storage Transfer Service, lihat library klien Storage Transfer Service. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Storage Transfer Service Java API.
Untuk melakukan autentikasi ke Storage Transfer Service, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Storage Transfer Service, lihat library klien Storage Transfer Service. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Storage Transfer Service Node.js API.
Untuk melakukan autentikasi ke Storage Transfer Service, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Storage Transfer Service, lihat library klien Storage Transfer Service. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Storage Transfer Service Python API.
Untuk melakukan autentikasi ke Storage Transfer Service, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.