Halaman ini menunjukkan cara membuat tugas transfer antara sistem file (baik lokal maupun di cloud) dan Cloud Storage.
Transfer dari sistem file ke Cloud Storage adalah transfer berbasis agen, yang berarti Anda akan menginstal agen software di mesin dengan akses ke sistem file Anda untuk mengatur transfer.
Konfigurasikan izin
Sebelum membuat transfer, Anda harus mengonfigurasi izin untuk entitas berikut:
Akun pengguna yang digunakan untuk membuat transfer. Akun ini adalah akun yang login ke konsol Google Cloud , atau akun yang ditentukan saat melakukan autentikasi ke CLI `gcloud`. Akun pengguna dapat berupa akun pengguna biasa, atau akun layanan yang dikelola pengguna. | |
Akun layanan yang dikelola Google, yang juga dikenal sebagai agen
layanan, yang digunakan oleh Storage Transfer Service. Akun ini umumnya diidentifikasi berdasarkan
alamat emailnya, yang menggunakan format
project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com .
|
|
![]() |
Akun agen transfer yang memberikan Google Cloud izin untuk agen transfer. Akun agen transfer menggunakan kredensial pengguna yang menginstalnya, atau kredensial akun layanan yang dikelola pengguna, untuk melakukan autentikasi. |
Lihat Izin transfer berbasis agen untuk mengetahui petunjuknya.
Menginstal agen ke dalam kumpulan agen
Transfer berbasis agen menggunakan agen software untuk mengatur transfer. Agen ini harus diinstal di komputer dengan akses ke sistem file yang terlibat dalam transfer.
- Buat kumpulan agen. Gunakan
akun pengguna
untuk tindakan ini.
- Instal agen
ke dalam kumpulan agen. Gunakan akun agen transfer
untuk tindakan ini.
Sebaiknya mulai dengan 3 agen di kumpulan agen sumber Anda. Setelah transfer sedang berlangsung, pantau kecepatan transfer; Anda dapat menambahkan lebih banyak agen ke dalam kumpulan saat transfer sedang berlangsung.
Sebaiknya gunakan satu VM per agen, masing-masing dengan minimal 4 CPU dan RAM 8 GiB.
Opsi transfer
Fitur Storage Transfer Service berikut tersedia untuk transfer dari sistem file ke Cloud Storage.
- Mentransfer file tertentu menggunakan manifes
- Anda dapat meneruskan daftar file agar Storage Transfer Service dapat bertindak. Lihat Mentransfer file atau objek tertentu menggunakan file manifes untuk mengetahui detailnya.
- Tentukan kelas penyimpanan
- Anda dapat menentukan
kelas penyimpanan Cloud Storage yang akan digunakan untuk data Anda di bucket
tujuan. Lihat opsi
StorageClass
untuk detail REST, atau gunakan flag--custom-storage-class
dengan Google Cloud CLI.Perhatikan bahwa setelan kelas penyimpanan apa pun akan diabaikan jika bucket tujuan mengaktifkan Autoclass. Jika Autoclass diaktifkan, objek yang ditransfer ke dalam bucket awalnya ditetapkan ke penyimpanan Standard.
- Penyimpanan metadata
-
Saat mentransfer file dari sistem file, Storage Transfer Service dapat secara opsional menyimpan atribut tertentu sebagai metadata kustom. Jika file ini ditulis kembali ke sistem file nanti, Storage Transfer Service dapat mengonversi metadata yang dipertahankan kembali ke atribut POSIX.
Lihat bagian Transfer sistem file POSIX di Mempertahankan metadata untuk mengetahui detail tentang metadata yang dapat dipertahankan, dan cara mengonfigurasi transfer Anda.
- Mengelola bandwidth jaringan
- Storage Transfer Service secara default menggunakan bandwidth sebanyak yang tersedia untuk mentransfer file dari sistem file Anda. Anda dapat menetapkan batas bandwidth untuk
mencegah transfer memengaruhi traffic jaringan lainnya. Batas bandwidth
diterapkan di tingkat kumpulan agen.
Lihat Mengelola bandwidth jaringan untuk mempelajari lebih lanjut.
Akun pengguna Anda memerlukan peran Storage Transfer Admin (
roles/storagetransfer.admin
) untuk menetapkan atau mengubah batas bandwidth. - Logging
- Storage Transfer Service mendukung Cloud Logging untuk Storage Transfer Service (direkomendasikan) serta log transfer berbasis agen.
Buat transfer
Jangan sertakan informasi sensitif seperti informasi identitas pribadi (PII) atau data keamanan dalam nama tugas transfer Anda. Nama resource dapat disalurkan ke nama resource Google Cloud lain dan dapat diekspos ke sistem internal Google di luar project Anda.
Storage Transfer Service menyediakan beberapa antarmuka untuk membuat transfer.
Google Cloud console
Buka halaman Storage Transfer Service di konsol Google Cloud .
Klik Buat tugas transfer. Halaman Buat tugas transfer akan ditampilkan.
Pilih Sistem file POSIX sebagai sumber.
Pilih Cloud Storage sebagai jenis tujuan, lalu klik Langkah berikutnya.
Pilih kumpulan agen yang ada, atau pilih Buat kumpulan agen dan ikuti petunjuk untuk membuat kumpulan baru.
Tentukan jalur yang sepenuhnya memenuhi syarat dari direktori sistem file.
Klik Next step.
Di kolom Bucket atau folder, masukkan bucket tujuan dan (opsional) nama folder, atau klik Jelajahi untuk memilih bucket dari daftar bucket yang ada di project saat ini. Untuk membuat bucket baru, klik
Buat bucket baru.
Klik Next step.
Pilih opsi penjadwalan Anda.
Klik Next step.
Pilih setelan untuk tugas transfer.
Di kolom Deskripsi, masukkan deskripsi transfer. Sebagai praktik terbaik, masukkan deskripsi yang bermakna dan unik agar Anda dapat membedakan tugas.
Di bagian Opsi metadata, gunakan opsi default, atau perbarui satu atau beberapa nilai. Lihat Penyimpanan metadata untuk mengetahui detailnya.
Di bagian Kapan menimpa, pilih salah satu opsi berikut:
Jangan pernah: Storage Transfer Service akan melewati transfer file apa pun dari sumber yang memiliki nama yang sama dengan file yang ada di tujuan.
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 keduanya identik.
Di bagian Kapan harus dihapus, pilih salah satu opsi berikut:
Jangan pernah: Jangan pernah menghapus file dari sumber atau tujuan.
Hapus file dari sumber setelah ditransfer: Hapus file dari sumber setelah ditransfer ke tujuan. Jika file sumber tidak ditransfer, misalnya karena sudah ada di tujuan, file sumber tidak akan dihapus.
Hapus file dari tujuan jika di sumbernya tidak ada: Jika file di bucket Cloud Storage tujuan tidak ada di sumber, maka hapus file dari bucket Cloud Storage.
Opsi ini memastikan bahwa bucket Cloud Storage tujuan sama persis dengan sumber Anda.
Pilih apakah akan Aktifkan logging di Cloud Storage dan/atau Aktifkan logging di Cloud Logging. Lihat Log transfer sistem file dan Cloud Logging untuk Storage Transfer Service untuk mengetahui informasi selengkapnya.
Untuk membuat tugas transfer, klik Buat.
gcloud
Sebelum menggunakan perintah gcloud
, instal Google Cloud 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 \ posix:///SOURCE \ gs://DESTINATION/ \ --source-agent-pool=SOURCE_POOL_NAME
Dengan:
SOURCE adalah jalur absolut dari root sistem file. Nilai ini diawali dengan
posix://
sehingga nilai akhir akan menyertakan 3 garis miring. Misalnya,posix:///tmp/data/
.DESTINATION adalah salah satu nama bucket Cloud Storage dan, secara opsional, jalur folder yang diikuti dengan garis miring di akhir. Contoh,
gs://example-bucket/data/
.--source-agent-pool
menentukan kumpulan agen sumber yang akan digunakan untuk transfer ini.
Opsi tambahan mencakup:
--do-not-run
mencegah Storage Transfer Service menjalankan tugas setelah perintah dikirimkan. Untuk menjalankan tugas, perbarui tugas tersebut 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 tugas: Anda dapat menentukan
--name
dan--description
.Jadwal: Tentukan
--schedule-starts
,--schedule-repeats-every
, dan--schedule-repeats-until
, atau--do-not-run
.Opsi transfer: Tentukan apakah akan mengganti 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 akan dipertahankan (--preserve-metadata
); dan secara opsional tetapkan class penyimpanan pada objek yang ditransfer (--custom-storage-class
).
Untuk melihat semua opsi, jalankan gcloud transfer jobs create --help
atau lihat
dokumentasi referensi gcloud
.
Perhatikan bahwa tidak semua opsi didukung untuk transfer berbasis agen;
opsi yang tidak didukung berisi catatan tentang hal ini dalam teks bantuannya.
REST
Contoh berikut menunjukkan cara menggunakan Storage Transfer Service melalui REST API.
Saat mengonfigurasi atau mengedit tugas transfer menggunakan Storage Transfer Service API, waktu harus dalam UTC. Untuk mengetahui informasi selengkapnya tentang cara menentukan jadwal tugas transfer, lihat Jadwalkan.
Untuk 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 setelah membuat tugas, gunakan
transferJobs.get
:
GET https://storagetransfer.googleapis.com/v1/transferJobs/sample_transfer?project_id=my_transfer_project_id
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 mengetahui informasi selengkapnya tentang cara menentukan jadwal tugas transfer, lihat Jadwalkan.
Untuk mengetahui informasi selengkapnya tentang library klien Storage Transfer Service, lihat Mulai menggunakan library klien Storage Transfer Service.
Untuk memindahkan file dari sistem file POSIX ke bucket Cloud Storage: