Halaman ini menunjukkan cara membuat dan memulai tugas transfer.
Untuk melihat apakah sumber dan tujuan Anda (juga dikenal sebagai sink) didukung oleh Storage Transfer Service, lihat Sumber dan sink yang didukung.
Agen dan kumpulan agen
Bergantung pada sumber dan tujuan, Anda mungkin perlu membuat dan mengonfigurasi kumpulan agen dan menginstal agen di komputer yang memiliki akses ke sumber atau tujuan.
Transfer dari Amazon S3, Microsoft Azure, daftar URL, atau Cloud Storage ke Cloud Storage tidak memerlukan agen dan kumpulan agen.
Transfer yang sumber dan/atau tujuannya adalah sistem file, atau dari penyimpanan yang kompatibel dengan S3, memerlukan agen dan kumpulan agen. Lihat Mengelola kumpulan agen untuk mengetahui petunjuknya.
Sebelum memulai
Sebelum mengonfigurasi transfer, pastikan Anda telah mengonfigurasi akses:
- Untuk pengguna dan akun layanan:
- Ke data sumber dan tujuan Anda.
Jika Anda menggunakan perintah gcloud
, instal gcloud CLI.
Buat transfer
Jangan sertakan informasi sensitif seperti informasi identitas pribadi (PII) atau data keamanan dalam nama tugas transfer Anda. Nama resource dapat diterapkan ke nama resource Google Cloud lainnya dan dapat diekspos ke sistem internal Google di luar project Anda.
Konsol Google Cloud
Buka halaman Storage Transfer Service di Konsol Google Cloud.
Klik Buat tugas transfer. Halaman Buat tugas transfer akan ditampilkan.
Pilih sumber:
Cloud Storage
Akun pengguna Anda harus memiliki izin storage.buckets.get untuk memilih bucket sumber dan tujuan. Atau, Anda dapat mengetik nama bucket secara langsung. Untuk informasi selengkapnya, lihat Memecahkan masalah akses.
Di bagian Source type, pilih Cloud Storage.
Pilih Jenis tujuan.
Jika tujuan Anda adalah Cloud Storage, pilih Scheduling mode. Transfer batch dijalankan satu kali atau terjadwal. Transfer berbasis peristiwa terus memantau sumber dan mentransfer data saat ditambahkan atau diubah.
Untuk mengonfigurasi transfer berbasis peristiwa, ikuti petunjuk di bagian Transfer berbasis peristiwa.
Klik Langkah berikutnya.
Pilih bucket dan (opsional) folder di bucket tersebut dengan melakukan salah satu tindakan berikut:
Masukkan nama dan jalur bucket Cloud Storage yang sudah ada di kolom Bucket or folder tanpa awalan
gs://
. Contohnya,my-test-bucket/path/to/files
Untuk menentukan bucket Cloud Storage dari project lain, ketik nama persis ke dalam kolom Bucket name.Pilih daftar bucket yang ada di project Anda dengan mengklik Browse, lalu memilih bucket.
Saat mengklik Browse, Anda dapat memilih bucket di project lain dengan mengklik Project ID, lalu memilih Project ID dan bucket baru.
Untuk membuat bucket baru, klik
Buat bucket baru.
Jika ini adalah transfer berbasis peristiwa, masukkan nama langganan Pub/Sub, yang menggunakan format berikut:
projects/PROJECT_NAME/subscriptions/SUBSCRIPTION_ID
- Secara opsional, pilih untuk
memfilter objek berdasarkan awalan
atau berdasarkan tanggal terakhir diubah. Jika Anda menentukan folder sebagai lokasi sumber, filter awalan akan relatif terhadap folder tersebut. Misalnya, jika sumber Anda adalah
my-test-bucket/path/
, filter sertakanfile
akan menyertakan semua file yang dimulai denganmy-test-bucket/path/file
. Klik Langkah berikutnya.
Amazon S3
Di bagian Jenis sumber, pilih Amazon S3.
Sebagai Jenis tujuan, pilih Google Cloud Storage.
Pilih Mode penjadwalan. Transfer batch dijalankan satu kali atau terjadwal. Transfer berbasis peristiwa terus memantau sumber dan mentransfer data saat ditambahkan atau diubah.
Untuk mengonfigurasi transfer berbasis peristiwa, ikuti petunjuk di bagian Transfer berbasis peristiwa.
Klik Langkah berikutnya.
Di kolom Bucket or folder name, masukkan nama bucket sumber.
Nama bucket adalah nama seperti yang muncul di AWS Management Console.
Jika Anda menggunakan distribusi CloudFront untuk mentransfer dari S3, masukkan nama domain distribusi di kolom domain CloudFront. Contoh,
https://dy1h2n3l4ob56.cloudfront.net
. Lihat Mentransfer dari S3 melalui CloudFront untuk mengonfigurasi distribusi CloudFront.Pilih metode autentikasi Amazon Web Services (AWS). Anda dapat memberikan kunci akses AWS atau Amazon Resource Name (ARN) untuk penggabungan identitas:
Kunci akses: Masukkan kunci akses Anda di kolom ID kunci akses dan rahasia yang terkait dengan kunci akses Anda di kolom Kunci akses rahasia.
ARN: Masukkan ARN Anda di kolom AWS IAM role ARN, dengan sintaksis berikut:
arn:aws:iam::ACCOUNT:role/ROLE-NAME-WITH-PATH
Dengan keterangan:
ACCOUNT
: ID akun AWS tanpa tanda hubung.ROLE-NAME-WITH-PATH
: Nama peran AWS termasuk jalur.
Untuk informasi lebih lanjut tentang ARN, lihat ARN IAM.
Jika ini adalah transfer berbasis peristiwa, masukkan ARN antrean Amazon SQS, yang menggunakan format berikut:
arn:aws:sqs:us-east-1:1234567890:event-queue
- Secara opsional, pilih untuk
memfilter objek berdasarkan awalan
atau berdasarkan tanggal terakhir diubah. Jika Anda menentukan folder sebagai lokasi sumber, filter awalan akan relatif terhadap folder tersebut. Misalnya, jika sumber Anda adalah
my-test-bucket/path/
, filter sertakanfile
akan menyertakan semua file yang dimulai denganmy-test-bucket/path/file
. Klik Langkah berikutnya.
Penyimpanan yang kompatibel dengan S3
Di bagian Source type, pilih S3-compatible object storage.
Klik Langkah berikutnya.
Tentukan informasi yang diperlukan untuk transfer ini:
Pilih kumpulan agen yang Anda konfigurasi untuk transfer ini.
Masukkan Bucket name yang sesuai dengan endpoint. Misalnya, jika data Anda berada di:
https://us-east-1.example.com/folder1/bucket_a
Masukkan:
folder1/bucket_a
Masukkan Endpoint. Jangan sertakan protokol (
http://
atauhttps://
). Pada contoh dari langkah sebelumnya, Anda akan memasukkan:us-east-1.example.com
Tentukan atribut opsional untuk transfer ini:
Masukkan Wilayah penandatanganan yang akan digunakan untuk penandatanganan permintaan. Kosongkan kolom ini jika sumber Anda tidak memerlukan region penandatanganan.
Pilih Proses penandatanganan untuk permintaan ini.
Pilih Addressing style. Ini menentukan apakah nama bucket diberikan dalam gaya jalur (mis.,
https://s3.region.example.com/bucket-name/key-name
) atau gaya yang dihosting virtual (misalnya,https://bucket-name.s3.region.example.com/key-name
). Baca [Hosting virtual bucket] di dokumentasi Amazon untuk mengetahui informasi selengkapnya.Pilih Protokol jaringan.
Pilih versi listingan API yang akan digunakan. Lihat dokumentasi ListObjectsV2 dan ListObjects untuk informasi selengkapnya.
Klik Langkah berikutnya.
Penyimpanan Blob Microsoft Azure
Di bagian Source type, pilih Azure Blob Storage atau Data Lake Storage Gen2.
Klik Langkah berikutnya.
Tentukan nilai berikut:
Nama akun Storage — nama akun Microsoft Azure Storage sumber.
Nama akun penyimpanan ditampilkan di portal Microsoft Azure Storage di bagian All services > Storage > Storage accounts.
Nama container — nama container Microsoft Azure Storage.
Nama container ditampilkan di portal Microsoft Azure Storage di bagian Storage explorer > Blob container.
Shared access signature (SAS) — token Microsoft Azure Storage SAS yang dibuat dari kebijakan akses yang disimpan. Untuk mengetahui informasi selengkapnya, lihat Memberikan akses terbatas ke resource Azure Storage menggunakan tanda tangan akses bersama (SAS).
Waktu habis masa berlaku default untuk token SAS adalah 8 jam. Saat membuat token SAS, pastikan untuk menetapkan waktu habis masa berlaku yang wajar agar Anda dapat menyelesaikan transfer.
- Secara opsional, pilih untuk
memfilter objek berdasarkan awalan
atau berdasarkan tanggal terakhir diubah. Jika Anda menentukan folder sebagai lokasi sumber, filter awalan akan relatif terhadap folder tersebut. Misalnya, jika sumber Anda adalah
my-test-bucket/path/
, filter sertakanfile
akan menyertakan semua file yang dimulai denganmy-test-bucket/path/file
. Klik Langkah berikutnya.
Sistem file
Di bagian Source type, pilih POSIX file system.
Pilih Jenis tujuan, lalu klik Langkah berikutnya.
Pilih kumpulan agen yang ada, atau pilih Create agent pool dan ikuti petunjuk untuk membuat kumpulan agen baru.
Menentukan jalur direktori sistem file yang sepenuhnya memenuhi syarat.
Klik Langkah berikutnya.
HDFS
Daftar URL
Di bagian Jenis sumber, pilih Daftar URL, lalu klik Langkah berikutnya.
Di bagian URL file TSV, berikan URL ke file nilai yang dipisahkan tab (TSV). Lihat Membuat Daftar URL untuk mengetahui detail cara membuat file TSV.
- Secara opsional, pilih untuk
memfilter objek berdasarkan awalan
atau berdasarkan tanggal terakhir diubah. Jika Anda menentukan folder sebagai lokasi sumber, filter awalan akan relatif terhadap folder tersebut. Misalnya, jika sumber Anda adalah
my-test-bucket/path/
, filter sertakanfile
akan menyertakan semua file yang dimulai denganmy-test-bucket/path/file
. Klik Langkah berikutnya.
Pilih tujuan:
Penyimpanan Cloud
Pada kolom Bucket or folder, masukkan bucket tujuan dan nama folder (opsional), atau klik Browse untuk memilih bucket dari daftar bucket yang ada di project saat ini. Untuk membuat bucket baru, klik
Buat bucket baru.
Klik Langkah berikutnya.
Pilih setelan untuk tugas transfer. Beberapa opsi hanya tersedia untuk kombinasi sumber/sink tertentu.
Di kolom Description, masukkan deskripsi transfer. Sebagai praktik terbaik, masukkan deskripsi yang bermakna dan unik sehingga Anda dapat membedakan tugas.
Di bagian Metadata options, pilih untuk menggunakan opsi default, atau klik View and select options guna menentukan nilai untuk semua metadata yang didukung. Baca Preservasi metadata untuk mengetahui detailnya.
Di bagian Kapan harus menimpa, pilih salah satu opsi berikut:
Jika berbeda: Menimpa file tujuan jika file sumber dengan nama yang sama memiliki nilai Etag atau checksum yang berbeda.
Selalu: Selalu menimpa file tujuan saat file sumber memiliki nama yang sama, meskipun file tersebut identik.
Di bagian Kapan harus menghapus, pilih salah satu dari opsi berikut:
Tidak pernah: Jangan pernah menghapus file dari sumber atau tujuan.
Hapus file dari sumber setelah ditransfer: Menghapus file dari sumber setelah ditransfer ke tujuan.
Hapus file dari tujuan jika file tersebut tidak ada di sumbernya: Jika file di bucket Cloud Storage tujuan juga tidak ada di sumbernya, hapus file dari bucket Cloud Storage.
Opsi ini memastikan bahwa bucket Cloud Storage tujuan sama persis dengan sumber Anda.
Di bagian Opsi notifikasi, pilih topik Pub/Sub dan peristiwa yang akan diberi tahu. Lihat Notifikasi Pub/Sub untuk mengetahui detail selengkapnya.
Klik Langkah berikutnya.
Sistem file
Pilih kumpulan agen yang ada, atau pilih Create agent pool dan ikuti petunjuk untuk membuat kumpulan agen baru.
Tentukan jalur direktori tujuan yang sepenuhnya memenuhi syarat.
Klik Langkah berikutnya.
Pilih opsi penjadwalan Anda:
Dari menu drop-down Run once, pilih salah satu opsi berikut:
Jalankan sekali: Menjalankan satu transfer, dimulai pada waktu yang Anda pilih.
Jalankan setiap hari: Menjalankan transfer setiap hari, dimulai pada waktu yang Anda pilih.
Anda dapat memasukkan Tanggal akhir opsional, atau mengosongkan Tanggal akhir untuk menjalankan transfer secara berkelanjutan.
Jalankan setiap minggu: Menjalankan transfer setiap minggu, dimulai pada waktu yang Anda pilih.
Jalankan dengan frekuensi kustom: Menjalankan transfer dengan frekuensi yang Anda pilih. Anda dapat memilih untuk mengulangi transfer pada interval reguler, yaitu Jam, Hari, atau Minggu.
Anda dapat memasukkan Tanggal akhir opsional, atau mengosongkan Tanggal akhir untuk menjalankan transfer secara berkelanjutan.
Dari menu drop-down Mulai sekarang, pilih salah satu opsi berikut:
Dimulai sekarang: Memulai transfer setelah Anda mengklik Buat.
Dimulai: Memulai transfer pada tanggal dan waktu yang Anda pilih. Klik Kalender untuk menampilkan kalender guna memilih tanggal mulai.
Untuk membuat tugas transfer, klik Buat.
gcloud CLI
Untuk membuat tugas transfer baru, gunakan perintah
gcloud transfer jobs create
. Membuat tugas baru akan memulai transfer yang ditentukan, kecuali jika
jadwal atau --do-not-run
ditentukan.
gcloud transfer jobs create \
SOURCE DESTINATION
Dengan keterangan:
SOURCE adalah sumber data untuk transfer ini. Format untuk setiap sumber adalah:
- Cloud Storage:
gs://BUCKET_NAME
. Untuk mentransfer dari folder tertentu, tentukangs://BUCKET_NAME/FOLDER_PATH/
, termasuk garis miring. - Amazon S3:
s3://BUCKET_NAME/FOLDER_PATH
- Penyimpanan yang kompatibel dengan S3:
s3://BUCKET_NAME
. Nama bucket relatif terhadap endpoint. Misalnya, jika data Anda berada dihttps://us-east-1.example.com/folder1/bucket_a
, masukkans3://folder1/bucket_a
. - Microsoft Azure Storage:
https://myaccount.blob.core.windows.net/CONTAINER_NAME
- Daftar URL:
https://PATH_TO_URL_LIST
atauhttp://PATH_TO_URL_LIST
- Sistem file POSIX:
posix:///PATH
. Jalur ini harus merupakan jalur absolut dari root mesin host agen. - HDFS:
hdfs:///PATH
- Cloud Storage:
DESTINATION adalah salah satu dari:
- Cloud Storage:
gs://BUCKET_NAME
. Untuk mentransfer ke direktori tertentu, tentukangs://BUCKET_NAME/FOLDER_PATH/
, termasuk garis miring. - Sistem file POSIX:
posix:///PATH
. Jalur ini harus merupakan jalur absolut dari root mesin host agen.
- Cloud Storage:
Jika transfer memerlukan agen transfer, opsi berikut tersedia:
--source-agent-pool
menentukan kumpulan agen sumber yang akan digunakan untuk transfer ini. Diperlukan untuk transfer yang berasal dari sistem file.--destination-agent-pool
menentukan kumpulan agen tujuan yang akan digunakan untuk transfer ini. Diperlukan untuk transfer ke sistem file.--intermediate-storage-path
adalah jalur ke bucket Cloud Storage, dalam bentukgs://my-intermediary-bucket
. Diperlukan untuk transfer antara dua sistem file. Baca artikel Membuat bucket Cloud Storage sebagai perantara untuk mengetahui detail tentang cara membuat bucket perantara.
Opsi tambahan mencakup:
--source-creds-file
menentukan jalur relatif ke file lokal di komputer Anda yang menyertakan kredensial AWS atau Azure untuk sumber transfer. Untuk mengetahui informasi pemformatan file kredensial, lihat referensi TransferSpec.--do-not-run
mencegah Storage Transfer Service menjalankan tugas setelah pengiriman perintah. Untuk menjalankan tugas, perbarui tugas untuk menambahkan jadwal, atau gunakanjobs run
untuk memulainya secara manual.--manifest-file
menentukan jalur ke file CSV di Cloud Storage yang berisi daftar file yang akan ditransfer dari sumber Anda. Untuk pemformatan file manifes, lihat Mentransfer file atau objek tertentu menggunakan manifes.Informasi pekerjaan: Anda dapat menentukan
--name
,--description
, dan--source-creds-file
.Jadwal: Tentukan
--schedule-starts
,--schedule-repeats-every
, dan--schedule-repeats-until
, atau--do-not-run
.Kondisi objek: Gunakan kondisi untuk menentukan objek mana yang ditransfer. Situasi tersebut mencakup
--include-prefixes
dan--exclude-prefixes
, serta kondisi berbasis waktu di--include-modified-[before | after]-[absolute | relative]
. Jika Anda menentukan folder dengan sumber, filter awalan akan relatif terhadap folder tersebut. Lihat Memfilter objek sumber menurut awalan untuk mengetahui informasi selengkapnya.Kondisi objek tidak didukung untuk transfer yang melibatkan sistem file.
Opsi transfer: Tentukan apakah akan menimpa file tujuan (
--overwrite-when=different
ataualways
) dan apakah akan menghapus file tertentu selama atau setelah transfer (--delete-from=destination-if-unique
atausource-after-transfer
); tentukan nilai metadata yang perlu dipertahankan (--preserve-metadata
); dan tetapkan kelas penyimpanan secara opsional pada objek yang ditransfer (--custom-storage-class
).Notifications: Konfigurasikan notifikasi Pub/Sub untuk transfer dengan
--notification-pubsub-topic
,--notification-event-types
, dan--notification-payload-format
.Cloud Logging: Mengaktifkan Cloud Logging untuk transfer tanpa agen, atau transfer dari sumber yang kompatibel dengan S3, dengan
--log-actions
dan--log-action-states
. Lihat Cloud Logging untuk Storage Transfer Service untuk mengetahui detailnya.
Transfer dari sumber yang kompatibel dengan S3 juga menggunakan opsi berikut:
--source-endpoint
(wajib) menentukan endpoint sistem penyimpanan Anda. Contoh,s3.example.com
. Hubungi penyedia Anda untuk mengetahui format yang benar. Jangan cantumkan protokol (http://
atauhttps://
).--source-signing-region
menentukan region untuk permintaan penandatanganan. Hapus flag ini jika penyedia penyimpanan Anda tidak memerlukan region penandatanganan.--source-auth-method
menentukan metode autentikasi yang akan digunakan. Nilai yang valid adalahAWS_SIGNATURE_V2
atauAWS_SIGNATURE_V4
. Lihat dokumentasi SigV4 dan SigV2 Amazon untuk mengetahui informasi selengkapnya.--source-request-model
menentukan gaya pengalamatan yang akan digunakan. Nilai yang valid adalahPATH_STYLE
atauVIRTUAL_HOSTED_STYLE
. Gaya jalur menggunakan formathttps://s3.example.com/BUCKET_NAME/KEY_NAME
. Gaya yang dihosting virtual menggunakan format `https://BUCKET_NAME.s3.example.com/KEY_NAME.--source-network-protocol
menentukan protokol jaringan yang harus digunakan agen untuk tugas ini. Nilai yang valid adalahHTTP
atauHTTPS
.--source-list-api
menentukan versi API listingan S3 untuk menampilkan objek dari bucket. Nilai yang valid adalahLIST_OBJECTS
atauLIST_OBJECTS_V2
. Lihat dokumentasi ListObjectsV2 dan ListObjects Amazon untuk informasi selengkapnya.
Untuk melihat semua opsi, jalankan gcloud transfer jobs create --help
atau lihat
dokumentasi referensi gcloud
.
Contoh
Amazon S3 ke Cloud Storage
Jalankan perintah berikut untuk membuat tugas transfer harian guna memindahkan data yang dimodifikasi dalam 1 hari terakhir dari s3://my-s3-bucket
ke bucket Cloud Storage bernama my-storage-bucket
:
gcloud transfer jobs create \
s3://my-s3-bucket gs://my-storage-bucket \
--source-creds-file=/examplefolder/creds.txt \
--include-modified-after-relative=1d \
--schedule-repeats-every=1d
Penyimpanan yang kompatibel dengan S3 ke Cloud Storage
Untuk mentransfer dari sumber yang kompatibel dengan S3 ke bucket Cloud Storage:
gcloud transfer jobs create s3://my-s3-compat-bucket gs://my-storage-bucket \
--source-agent-pool=my-source-agent-pool
--source-endpoint=us-east-1.example.com/ \
--source-auth-method=AWS_SIGNATURE_V2 \
--source-request-model=PATH_STYLE \
--source-network-protocol=HTTPS \
--source-list-api=LIST_OBJECTS_V2
Sistem file ke Cloud Storage
Untuk mentransfer dari sistem file ke bucket Cloud Storage, tentukan hal berikut.
gcloud transfer jobs create \
posix:///tmp/source gs://my-storage-bucket \
--source-agent-pool=my-source-agent-pool
Cloud Storage ke sistem file
Untuk mentransfer dari bucket Cloud Storage ke sistem file, tentukan hal berikut.
gcloud transfer jobs create \
gs://my-storage-bucket posix:///tmp/destination \
--destination-agent-pool=my-destination-agent-pool
Sistem file ke sistem file
Untuk mentransfer antara dua sistem file, Anda harus menentukan kumpulan agen sumber, kumpulan agen tujuan, dan bucket Cloud Storage perantara yang dilalui data.
Baca artikel Membuat bucket Cloud Storage sebagai perantara untuk mengetahui detail tentang bucket intermediate.
Kemudian, tentukan 3 resource ini saat memanggil transfer jobs create
:
gcloud transfer jobs create \
posix:///tmp/source/on/systemA posix:///tmp/destination/on/systemB \
--source-agent-pool=source_agent_pool \
--destination-agent-pool=destination_agent_pool \
--intermediate-storage-path=gs://my-intermediary-bucket
REST
Contoh berikut menunjukkan cara menggunakan Storage Transfer Service melalui REST API.
Saat Anda mengonfigurasi atau mengedit tugas transfer menggunakan Storage Transfer Service API, waktu harus dalam UTC. Untuk informasi selengkapnya tentang menentukan jadwal tugas transfer, lihat Menjadwalkan.
Melakukan transfer antar bucket Cloud Storage
Dalam contoh ini, Anda akan mempelajari cara memindahkan file dari satu bucket Cloud Storage ke bucket lainnya. Misalnya, Anda dapat memindahkan data ke bucket di lokasi lain.
Minta menggunakan transferJobs create:
POST https://storagetransfer.googleapis.com/v1/transferJobs { "description": "YOUR DESCRIPTION", "status": "ENABLED", "projectId": "PROJECT_ID", "schedule": { "scheduleStartDate": { "day": 1, "month": 1, "year": 2015 }, "startTimeOfDay": { "hours": 1, "minutes": 1 } }, "transferSpec": { "gcsDataSource": { "bucketName": "GCS_SOURCE_NAME" }, "gcsDataSink": { "bucketName": "GCS_SINK_NAME" }, "transferOptions": { "deleteObjectsFromSourceAfterTransfer": true } } }
200 OK { "transferJob": [ { "creationTime": "2015-01-01T01:01:00.000000000Z", "description": "YOUR DESCRIPTION", "name": "transferJobs/JOB_ID", "status": "ENABLED", "lastModificationTime": "2015-01-01T01:01:00.000000000Z", "projectId": "PROJECT_ID", "schedule": { "scheduleStartDate": { "day": 1, "month": 1, "year": 2015 }, "startTimeOfDay": { "hours": 1, "minutes": 1 } }, "transferSpec": { "gcsDataSource": { "bucketName": "GCS_SOURCE_NAME", }, "gcsDataSink": { "bucketName": "GCS_NEARLINE_SINK_NAME" }, "objectConditions": { "minTimeElapsedSinceLastModification": "2592000.000s" }, "transferOptions": { "deleteObjectsFromSourceAfterTransfer": true } } } ] }
Transfer dari Amazon S3 ke Cloud Storage
Dalam contoh ini, Anda akan mempelajari cara memindahkan file dari Amazon S3 ke bucket Cloud Storage. Pastikan untuk meninjau Mengonfigurasi akses ke Amazon S3 dan Harga untuk memahami implikasi memindahkan data dari Amazon S3 ke Cloud Storage.
Saat membuat tugas transfer, jangan sertakan awalan s3://
untuk bucketName
di nama sumber bucket Amazon S3.
Minta menggunakan transferJobs create:
POST https://storagetransfer.googleapis.com/v1/transferJobs { "description": "YOUR DESCRIPTION", "status": "ENABLED", "projectId": "PROJECT_ID", "schedule": { "scheduleStartDate": { "day": 1, "month": 1, "year": 2015 }, "scheduleEndDate": { "day": 1, "month": 1, "year": 2015 }, "startTimeOfDay": { "hours": 1, "minutes": 1 } }, "transferSpec": { "awsS3DataSource": { "bucketName": "AWS_SOURCE_NAME", "awsAccessKey": { "accessKeyId": "AWS_ACCESS_KEY_ID", "secretAccessKey": "AWS_SECRET_ACCESS_KEY" } }, "gcsDataSink": { "bucketName": "GCS_SINK_NAME" } } }
200 OK { "transferJob": [ { "creationTime": "2015-01-01T01:01:00.000000000Z", "description": "YOUR DESCRIPTION", "name": "transferJobs/JOB_ID", "status": "ENABLED", "lastModificationTime": "2015-01-01T01:01:00.000000000Z", "projectId": "PROJECT_ID", "schedule": { "scheduleStartDate": { "day": 1, "month": 1, "year": 2015 }, "scheduleEndDate": { "day": 1, "month": 1, "year": 2015 }, "startTimeOfDay": { "hours": 1, "minutes": 1 } }, "transferSpec": { "awsS3DataSource": { "bucketName": "AWS_SOURCE_NAME" }, "gcsDataSink": { "bucketName": "GCS_SINK_NAME" }, "objectConditions": {}, "transferOptions": {} } } ] }
Jika Anda mentransfer dari S3 melalui distribusi CloudFront, tentukan
nama domain distribusi sebagai nilai
kolom transferSpec.awsS3DataSource.cloudfrontDomain
:
"transferSpec": {
"awsS3DataSource": {
"bucketName": "AWS_SOURCE_NAME",
"cloudfrontDomain": "https://dy1h2n3l4ob56.cloudfront.net",
"awsAccessKey": {
"accessKeyId": "AWS_ACCESS_KEY_ID",
"secretAccessKey": "AWS_SECRET_ACCESS_KEY"
}
},
...
}
Transfer antara Microsoft Azure Blob Storage dan Cloud Storage
Dalam contoh ini, Anda akan mempelajari cara memindahkan file dari Microsoft Azure Storage ke bucket Cloud Storage, menggunakan token tanda tangan akses bersama (SAS) Microsoft Azure Storage.
Untuk informasi selengkapnya tentang Microsoft Azure Storage SAS, lihat Memberikan akses terbatas ke resource Azure Storage menggunakan tanda tangan akses bersama (SAS).
Sebelum memulai, pelajari Mengonfigurasi akses ke Microsoft Azure Storage dan Harga untuk memahami implikasi pemindahan data dari Microsoft Azure Storage ke Cloud Storage.
Minta menggunakan transferJobs create:
POST https://storagetransfer.googleapis.com/v1/transferJobs { "description": "YOUR DESCRIPTION", "status": "ENABLED", "projectId": "PROJECT_ID", "schedule": { "scheduleStartDate": { "day": 14, "month": 2, "year": 2020 }, "scheduleEndDate": { "day": 14 "month": 2, "year": 2020 }, "startTimeOfDay": { "hours": 1, "minutes": 1 } }, "transferSpec": { "azureBlobStorageDataSource": { "storageAccount": "AZURE_SOURCE_NAME", "azureCredentials": { "sasToken": "AZURE_SAS_TOKEN", }, "container": "AZURE_CONTAINER", }, "gcsDataSink": { "bucketName": "GCS_SINK_NAME" } } }
200 OK { "transferJob": [ { "creationTime": "2020-02-14T01:01:00.000000000Z", "description": "YOUR DESCRIPTION", "name": "transferJobs/JOB_ID", "status": "ENABLED", "lastModificationTime": "2020-02-14T01:01:00.000000000Z", "projectId": "PROJECT_ID", "schedule": { "scheduleStartDate": { "day": 14 "month": 2, "year": 2020 }, "scheduleEndDate": { "day": 14, "month": 2, "year": 2020 }, "startTimeOfDay": { "hours": 1, "minutes": 1 } }, "transferSpec": { "azureBlobStorageDataSource": { "storageAccount": "AZURE_SOURCE_NAME", "azureCredentials": { "sasToken": "AZURE_SAS_TOKEN", }, "container": "AZURE_CONTAINER", }, "objectConditions": {}, "transferOptions": {} } } ] }
Mentransfer dari sistem file
Dalam contoh ini, Anda akan mempelajari cara memindahkan file dari sistem file POSIX ke bucket Cloud Storage.
Gunakan transferJobs.create
dengan
posixDataSource
:
POST https://storagetransfer.googleapis.com/v1/transferJobs { "name":"transferJobs/sample_transfer", "description": "My First Transfer", "status": "ENABLED", "projectId": "my_transfer_project_id", "schedule": { "scheduleStartDate": { "year": 2022, "month": 5, "day": 2 }, "startTimeOfDay": { "hours": 22, "minutes": 30, "seconds": 0, "nanos": 0 } "scheduleEndDate": { "year": 2022, "month": 12, "day": 31 }, "repeatInterval": { "259200s" }, }, "transferSpec": { "posixDataSource": { "rootDirectory": "/bar/", }, "sourceAgentPoolName": "my_example_pool", "gcsDataSink": { "bucketName": "destination_bucket" "path": "foo/bar/" }, } }
Kolom
schedule
bersifat opsional. Jika tidak disertakan, tugas transfer harus dimulai
dengan permintaan transferJobs.run
.
Untuk memeriksa status transfer Anda setelah membuat tugas, gunakan
transferJobs.get
:
GET https://storagetransfer.googleapis.com/v1/transferJobs/sample_transfer?project_id=my_transfer_project_id
Menentukan jalur sumber dan tujuan
Jalur sumber dan tujuan memungkinkan Anda menentukan direktori sumber dan tujuan saat mentransfer data ke bucket Cloud Storage. Misalnya, anggaplah Anda memiliki file file1.txt
dan file2.txt
serta bucket Cloud Storage bernama B
. Jika Anda menetapkan jalur tujuan bernama my-stuff
, setelah transfer selesai, file Anda akan berada di gs://B/my-stuff/file1.txt
dan gs://B/my-stuff/file2.txt
.
Menentukan jalur sumber
Untuk menentukan jalur sumber saat membuat tugas transfer, tambahkan kolom path
ke kolom gcsDataSource
dalam spesifikasi TransferSpec
Anda:
{ gcsDataSource: { bucketName: "SOURCE_BUCKET", path: "SOURCE_PATH/", }, }
Dalam contoh ini:
- SOURCE_BUCKET: Bucket Cloud Storage sumber.
- SOURCE_PATH: Jalur Cloud Storage sumber.
Menentukan jalur tujuan
Untuk menentukan folder tujuan saat membuat tugas transfer, tambahkan kolom path
ke kolom gcsDataSink
dalam spesifikasi TransferSpec
Anda:
{ gcsDataSink: { bucketName: "DESTINATION_BUCKET", path: "DESTINATION_PATH/", }, }
Dalam contoh ini:
- DESTINATION_BUCKET: Bucket Cloud Storage tujuan.
- DESTINATION_PATH: Jalur Cloud Storage tujuan.
Contoh permintaan yang lengkap
Berikut adalah contoh permintaan lengkap:
POST https://storagetransfer.googleapis.com/v1/transferJobs { "description": "YOUR DESCRIPTION", "status": "ENABLED", "projectId": "PROJECT_ID", "schedule": { "scheduleStartDate": { "day": 1, "month": 1, "year": 2015 }, "startTimeOfDay": { "hours": 1, "minutes": 1 } }, "transferSpec": { "gcsDataSource": { "bucketName": "GCS_SOURCE_NAME", "path": "GCS_SOURCE_PATH", }, "gcsDataSink": { "bucketName": "GCS_SINK_NAME", "path": "GCS_SINK_PATH", }, "objectConditions": { "minTimeElapsedSinceLastModification": "2592000s" }, "transferOptions": { "deleteObjectsFromSourceAfterTransfer": true } } }
Library klien
Contoh berikut menunjukkan cara menggunakan Storage Transfer Service secara terprogram dengan Go, Java, Node.js, dan Python.
Saat Anda mengonfigurasi atau mengedit tugas transfer secara terprogram, waktu harus dalam UTC. Untuk informasi selengkapnya tentang menentukan jadwal tugas transfer, lihat Menjadwalkan.
Untuk informasi selengkapnya tentang library klien Storage Transfer Service, lihat Mulai menggunakan library klien Storage Transfer Service.
Melakukan transfer antar bucket Cloud Storage
Dalam contoh ini, Anda akan mempelajari cara memindahkan file dari satu bucket Cloud Storage ke bucket lainnya. Misalnya, Anda dapat memindahkan data ke bucket di lokasi lain.
Go
Java
Mencari sampel lama? Lihat Panduan Migrasi Storage Transfer Service.
Node.js
Python
Mencari sampel lama? Lihat Panduan Migrasi Storage Transfer Service.
Transfer dari Amazon S3 ke Cloud Storage
Dalam contoh ini, Anda akan mempelajari cara memindahkan file dari Amazon S3 ke bucket Cloud Storage. Pastikan untuk meninjau Mengonfigurasi akses ke Amazon S3 dan Harga untuk memahami implikasi memindahkan data dari Amazon S3 ke Cloud Storage.
Saat membuat tugas transfer, jangan sertakan awalan s3://
untuk bucketName
di nama sumber bucket Amazon S3.
Go
Java
Mencari sampel lama? Lihat Panduan Migrasi Storage Transfer Service.
Node.js
Python
Mencari sampel lama? Lihat Panduan Migrasi Storage Transfer Service.
Transfer antara Microsoft Azure Blob Storage dan Cloud Storage
Dalam contoh ini, Anda akan mempelajari cara memindahkan file dari Microsoft Azure Storage ke bucket Cloud Storage, menggunakan token tanda tangan akses bersama (SAS) Microsoft Azure Storage.
Untuk informasi selengkapnya tentang Microsoft Azure Storage SAS, lihat Memberikan akses terbatas ke resource Azure Storage menggunakan tanda tangan akses bersama (SAS).
Sebelum memulai, pelajari Mengonfigurasi akses ke Microsoft Azure Storage dan Harga untuk memahami implikasi pemindahan data dari Microsoft Azure Storage ke Cloud Storage.
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 mengautentikasi ke Storage Transfer Service, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Storage Transfer Service, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Storage Transfer Service, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Storage Transfer Service, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Mentransfer dari sistem file
Dalam contoh ini, Anda akan mempelajari cara memindahkan file dari sistem file POSIX ke bucket Cloud Storage.