Halaman ini menjelaskan cara menggunakan operasi yang berjalan lama yang dimulai dari penggunaan panggilan metode di Cloud Storage. Untuk mengetahui informasi mendetail tentang semantik operasi yang berjalan lama yang ditampilkan dari panggilan metode tertentu, lihat dokumentasi khusus fitur.
Mendapatkan peran yang diperlukan
Untuk mendapatkan izin yang diperlukan guna mengelola operasi yang berjalan lama di Cloud Storage, minta administrator untuk memberi Anda peran Storage Admin (roles/storage.admin
) atau peran Storage Legacy Bucket Owner (roles/storage.legacyBucketOwner
) di bucket atau project yang digunakan untuk menjalankan operasi yang mendasarinya.
Peran bawaan ini berisi izin berikut, yang diperlukan untuk mengelola operasi yang berjalan lama di Cloud Storage:
storage.bucketOperations.cancel
storage.bucketOperations.get
storage.bucketOperations.list
Untuk informasi tentang cara memberikan peran pada bucket, lihat Menggunakan IAM dengan bucket. Untuk mengetahui informasi tentang cara memberikan peran pada project, lihat Mengelola akses.
Mendapatkan detail operasi yang berjalan lama
Command line
Untuk mendapatkan detail atau memeriksa status operasi yang berjalan lama, gunakan perintah gcloud storage operations describe
:
gcloud storage operations describe projects/_/buckets/BUCKET_NAME/operations/OPERATION_ID
Ganti:
BUCKET_NAME
dengan nama bucket yang berisi operasi yang berjalan lama. Contoh,my-bucket
.OPERATION_ID
dengan ID operasi yang berjalan lama, yang ditampilkan dalam respons metode yang Anda panggil. Misalnya, respons berikut ditampilkan dari pemanggilangcloud storage restore
dan ID operasi yang berjalan lama adalahBcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP
:Created: projects/_/buckets/my-bucket/operations/BcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP
REST API
JSON API
Menginstal dan melakukan inisialisasi gcloud CLI , yang memungkinkan Anda membuat token akses untuk header
Authorization
.Gunakan
cURL
untuk memanggil JSON API dengan permintaanoperations.get
:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/operations/OPERATION_ID"
Ganti:
BUCKET_NAME
dengan nama bucket yang terkait dengan operasi yang berjalan lama.OPERATION_ID
dengan ID operasi yang berjalan lama, yang ditampilkan dalam respons metode yang Anda panggil. Misalnya, respons berikut ditampilkan dari panggilangcloud storage restore
dan ID operasi yang berjalan lama adalahBcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP
:Created: projects/_/buckets/my-bucket/operations/BcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP
Jika permintaan berhasil, resource operations
akan
ditampilkan:
{ "kind": "storage#operation", "name": "projects/_/buckets/bucket/operations/operation_id", "metadata": { "@type": OperationMetadataType*, metadata OperationMetadata* }, "done": boolean, "response": { "@type": ResponseResourceType*, response ResponseResource* } }
Mencantumkan operasi yang berjalan lama dalam bucket
Command line
Untuk mencantumkan operasi yang berjalan lama di bucket, gunakan perintah gcloud storage operations list
:
gcloud storage operations list gs://BUCKET_NAME
Ganti:
BUCKET_NAME
dengan nama bucket yang berisi operasi yang berjalan lama. Contoh,my-bucket
.
REST API
JSON API
Menginstal dan melakukan inisialisasi gcloud CLI , yang memungkinkan Anda membuat token akses untuk header
Authorization
.Gunakan
cURL
untuk memanggil JSON API dengan permintaanoperations.get
:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/operations"
Ganti:
BUCKET_NAME
dengan nama bucket yang terkait dengan operasi yang berjalan lama yang ingin Anda cantumkan.
Jika permintaan berhasil, Anda akan mendapatkan respons yang mirip dengan berikut:
{ "kind": "storage#operations", "nextPageToken": string, "operations": [ operations Resource ] }
Membatalkan operasi yang berjalan lama
Command line
Untuk membatalkan operasi yang berjalan lama, gunakan perintah gcloud storage operations cancel
:
gcloud storage operations cancel projects/_/buckets/BUCKET_NAME/operations/OPERATION_ID
Ganti:
BUCKET_NAME
dengan nama bucket yang berisi operasi yang berjalan lama. Contoh,my-bucket
.OPERATION_ID
dengan ID operasi yang berjalan lama, yang ditampilkan dalam respons metode yang Anda panggil. Misalnya, respons berikut ditampilkan dari pemanggilangcloud storage restore
dan ID operasi yang berjalan lama adalahBcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP
:Created: projects/_/buckets/my-bucket/operations/BcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP
REST API
JSON API
Menginstal dan melakukan inisialisasi gcloud CLI , yang memungkinkan Anda membuat token akses untuk header
Authorization
.Gunakan
cURL
untuk memanggil JSON API dengan permintaanoperations.post
:curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/operations/OPERATION_ID/cancel"
Ganti:
BUCKET_NAME
dengan nama bucket yang terkait dengan operasi yang berjalan lama yang ingin Anda batalkan.OPERATION_ID
dengan ID operasi yang berjalan lama, yang ditampilkan dalam respons metode yang Anda panggil. Misalnya, respons berikut ditampilkan dari panggilangcloud storage restore
dan ID operasi yang berjalan lama adalahBcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP
:Created: projects/_/buckets/my-bucket/operations/BcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP
Metadata
Operasi yang berjalan lama memiliki metadata yang terkait dengannya. Metadata berikut mengidentifikasi properti operasi yang berjalan lama:
Waktu pembuatan: Waktu operasi yang berjalan lama dibuat.
Waktu berakhir: Waktu operasi yang berjalan lama selesai dijalankan.
Waktu pembaruan: Waktu terakhir kali operasi yang berjalan lama diubah.
Jenis: Jenis operasi yang berjalan lama yang dipanggil.
Pembatalan yang diminta: Menunjukkan apakah pengguna telah meminta pembatalan operasi yang berjalan lama.
Persentase progres: Perkiraan progres operasi yang berjalan lama, dalam persentase. Nilai
-1
berarti progres tidak diketahui.
Penanganan error
Operasi yang berjalan lama dimulai dari API asinkron dan memerlukan praktik penanganan error yang berbeda dari API sinkron. Tidak seperti API sinkron, respons terhadap panggilan API asinkron dapat menunjukkan keberhasilan meskipun operasi yang berjalan lama pada akhirnya gagal. Daripada mengandalkan kode status yang ditampilkan di header respons, Anda harus mengurai metadata operasi yang berjalan lama dalam isi respons untuk menentukan apakah panggilan API berhasil.
Misalnya, jika Anda membuat permintaan pemulihan massal penghapusan sementara, permintaan tersebut akan menampilkan
kode status HTTP yang berhasil (200 OK
) meskipun error terjadi selama
operasi. Untuk memeriksa apakah operasi pemulihan massal berhasil,
dapatkan status operasi yang berjalan lama.
Perhatikan bahwa API operasi yang berjalan lama (Get, List, Cancel) bersifat sinkron dan menampilkan error normal.