Menggunakan objek yang dihapus secara sementara

Ringkasan Penyiapan

Halaman ini menjelaskan cara mencantumkan, mengakses, dan memulihkan objek yang dihapus sementara.

Sebelum memulai

Untuk mendapatkan izin yang diperlukan untuk mencantumkan, mengakses, dan memulihkan objek yang dihapus sementara, minta administrator Anda untuk memberi Anda peran IAM Storage Admin (roles/storage.admin) di bucket, folder terkelola, atau project.

Peran bawaan ini berisi izin yang diperlukan untuk mencantumkan, mengakses, dan memulihkan objek yang dihapus sementara. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk mencantumkan, mengakses, dan memulihkan objek yang dihapus sementara:

  • storage.buckets.get (izin ini hanya diperlukan untuk menggunakan konsol Google Cloud guna menjalankan petunjuk di halaman ini)
  • storage.buckets.list (izin ini hanya diperlukan untuk menggunakan konsol Google Cloud guna menjalankan petunjuk di halaman ini)
  • storage.objects.get (izin ini hanya diperlukan untuk menggunakan konsol Google Cloud guna menjalankan petunjuk di halaman ini)
  • storage.objects.list
  • storage.objects.restore
  • storage.objects.create
  • storage.objects.delete (izin ini hanya diperlukan untuk memulihkan objek dengan cara yang menyebabkan objek yang ada ditimpa)
  • storage.buckets.restore (izin ini hanya diperlukan untuk memulihkan objek yang dihapus sementara secara massal)

Untuk mengetahui informasi tentang cara memberikan peran pada bucket, lihat Menggunakan IAM dengan bucket. Untuk mengetahui informasi tentang cara memberikan peran pada project, lihat Mengelola akses ke project.

Untuk mengelola operasi yang berjalan lama yang dimulai dari metode penghapusan sementara, Anda mungkin memerlukan peran dan izin tambahan. Lihat peran yang diperlukan untuk operasi yang berjalan lama untuk mempelajari lebih lanjut.

Mencantumkan semua objek yang dihapus sementara di bucket

Gunakan petunjuk berikut untuk mencantumkan semua objek yang dihapus sementara dalam bucket:

Konsol

  1. Di Google Cloud konsol, buka halaman Bucket Cloud Storage.

    Buka Buckets

  2. Dalam daftar bucket, klik nama bucket yang objek yang dihapus sementara ingin Anda lihat. Halaman Bucket details akan terbuka dengan tab Objects dipilih.

  3. Dalam daftar Tampilkan, pilih Hanya objek yang dihapus sementara. Daftar objek yang dihapus sementara akan ditampilkan.

Command line

Untuk menampilkan daftar semua objek yang dihapus sementara dalam bucket, gunakan perintah gcloud storage ls dengan flag --soft-deleted dan --recursive:

  gcloud storage ls gs://BUCKET_NAME --soft-deleted --recursive

Ganti kode berikut:

  • BUCKET_NAME: nama bucket. Contoh, my-bucket.

REST API

JSON API

  1. Menginstal dan melakukan inisialisasi gcloud CLI, yang memungkinkan Anda membuat token akses untuk header Authorization.

  2. Gunakan cURL untuk memanggil JSON API dengan permintaan untuk mencantumkan objek yang menggunakan parameter kueri ?softDeleted:

    curl -X GET \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o?softDeleted=true"

    Dengan BUCKET_NAME adalah nama bucket yang relevan. Contoh, my-bucket.

Melihat semua versi objek yang dihapus sementara

Gunakan petunjuk berikut untuk melihat semua versi yang dihapus sementara dari objek tertentu di bucket Anda:

Konsol

  1. Di Google Cloud konsol, buka halaman Bucket Cloud Storage.

    Buka Buckets

  2. Dalam daftar bucket, klik nama bucket yang berisi objek yang versi soft-deleted-nya ingin Anda lihat. Halaman Bucket details akan terbuka dengan tab Objects dipilih.

  3. Klik objek yang ingin Anda lihat semua versi yang dihapus sementara. Halaman Object details akan ditampilkan.

  4. Klik tab Histori Versi.

  5. Dalam daftar Tampilkan, pilih Hanya objek yang dihapus sementara. Daftar semua versi yang dihapus sementara untuk objek tersebut akan ditampilkan.

Command line

Untuk menampilkan daftar semua versi objek yang dihapus sementara dalam bucket, gunakan perintah gcloud storage ls:

  gcloud storage ls gs://BUCKET_NAME/OBJECT_NAME --soft-deleted

Ganti kode berikut:

  • BUCKET_NAME: nama bucket. Contoh, my-bucket.
  • OBJECT_NAME: nama objek yang ingin Anda lihat semua versinya.

REST API

JSON API

  1. Menginstal dan melakukan inisialisasi gcloud CLI, yang memungkinkan Anda membuat token akses untuk header Authorization.

  2. Gunakan cURL untuk memanggil JSON API dengan permintaan untuk mencantumkan objek yang menggunakan parameter kueri ?softDeleted:

    curl -X GET \
      -H "Authorization: Bearer OAUTH2_TOKEN" \
      -H "Content-Type: application/json" \
      "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o?matchGlob=OBJECT_NAME&softDeleted=true"

    Ganti kode berikut:

    • BUCKET_NAME: nama bucket. Contoh, my-bucket.
    • OBJECT_NAME: nama objek yang versinya ingin Anda lihat.

Memulihkan objek yang dihapus sementara

Anda dapat memulihkan versi tertentu dari objek yang dihapus sementara di bucket Anda. Perhatikan bahwa Anda tidak dapat memulihkan objek dalam bucket yang dihapus sementara. Untuk memulihkan objek dalam bucket yang dihapus sementara, Anda harus memulihkan bucket yang dihapus sementara terlebih dahulu.

Gunakan petunjuk berikut untuk memulihkan objek yang dihapus sementara:

Konsol

  1. Di Google Cloud konsol, buka halaman Bucket Cloud Storage.

    Buka Buckets

  2. Dalam daftar bucket, klik nama bucket yang berisi objek yang dihapus sementara yang ingin Anda pulihkan. Halaman Bucket details akan terbuka dengan tab Objects dipilih.

  3. Dalam daftar Tampilkan, pilih Hanya objek yang dihapus sementara.

  4. Buka objek, yang mungkin terletak dalam folder.

  5. Klik objek yang dihapus sementara. Halaman Object details akan ditampilkan.

  6. Dalam daftar Tampilkan, pilih Hanya objek yang dihapus sementara. Daftar semua versi yang dihapus sementara dari objek tersebut akan ditampilkan.

  7. Untuk memulihkan versi objek yang dihapus sementara tertentu, klik Pulihkan di samping versi objek tersebut. Panel versi objek pemulihan akan terbuka.

  8. Klik Confirm.

Command line

Untuk memulihkan versi objek yang dihapus sementara, gunakan perintah gcloud storage restore:

  gcloud storage restore gs://BUCKET_NAME/OBJECT_NAME#GENERATION_NUMBER

Ganti kode berikut:

  • BUCKET_NAME: nama bucket. Contoh, my-bucket.
  • OBJECT_NAME: nama objek yang semua versinya ingin Anda lihat.
  • GENERATION_NUMBER: nomor pembuatan objek yang dihapus sementara yang ingin Anda pulihkan. Contoh, 1560468815691234. Jika Anda tidak menentukan nomor pembuatan, versi terbaru akan dipulihkan.

Untuk opsi tambahan guna memulihkan beberapa objek secara massal, termasuk memulihkan semua versi objek dengan tanda all-versions, lihat referensi gcloud storage restore.

REST API

JSON API

  1. Menginstal dan melakukan inisialisasi gcloud CLI, yang memungkinkan Anda membuat token akses untuk header Authorization.

  2. Gunakan cURL untuk memanggil JSON API dengan permintaan POST Object:

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME/restore?generation=GENERATION_NUMBER"

    Dengan:

    • BUCKET_NAME adalah nama bucket yang relevan. Contoh, my-bucket.
    • OBJECT_NAME adalah nama objek yang dihapus sementara yang ingin Anda pulihkan. Contoh, cat.jpeg.
    • GENERATION_NUMBER adalah nomor pembuatan objek yang dihapus sementara yang ingin Anda pulihkan. Contoh, 1560468815691234.

Memulihkan objek yang dihapus sementara secara massal dalam bucket

Jika Anda ingin memulihkan sejumlah besar objek, atau tidak mengetahui objek spesifik yang ingin dipulihkan, gunakan operasi pemulihan massal. Perhatikan bahwa operasi pemulihan massal terjadi secara asinkron dan dalam beberapa kasus, dapat memerlukan waktu satu jam atau lebih untuk dimulai.

Operasi pemulihan massal memulai operasi yang berjalan lama di bucket. Anda dapat menggunakan Google Cloud CLI untuk mendapatkan dan mencantumkan operasi yang berjalan lama sehingga Anda dapat melihat detail dan status operasi pemulihan massal saat sedang berlangsung.

Gunakan petunjuk berikut untuk memulihkan objek yang dihapus sementara secara massal dalam bucket:

Konsol

  1. Di Google Cloud konsol, buka halaman Bucket Cloud Storage.

    Buka Buckets

  2. Dalam daftar bucket, temukan bucket yang berisi objek yang ingin Anda pulihkan.

  3. Klik menu Bucket overflow () yang terkait dengan bucket, lalu pilih Buat tugas pemulihan.

    Panel Create a restore job akan terbuka.

  4. Di bagian Pilih objek yang dihapus sementara yang akan dipulihkan, pilih periode penghapusan yang objeknya ingin Anda pulihkan.

  5. (Opsional) Pilih Filter menurut pola glob dan masukkan pola glob untuk memulihkan hanya objek yang memenuhi kriteria pola glob.

  6. (Opsional) Aktifkan/nonaktifkan perilaku pemulihan tambahan di bagian Opsi pemulihan.

  7. Klik Buat.

Anda dapat melacak progres operasi pemulihan massal dengan mengklik tombol Notifikasi () yang ada di header konsol Google Cloud .

Command line

Untuk menggunakan operasi pemulihan massal guna memulihkan semua objek dalam bucket, gunakan perintah gcloud storage restore.

Perintah berikut melakukan operasi pemulihan massal untuk memulihkan semua objek bucket yang dihapus selama jangka waktu tertentu secara asinkron:

  gcloud storage restore gs://BUCKET_NAME/** \
      --async --deleted-after-time=DELETED_AFTER_TIME \
      --deleted-before-time=DELETED_BEFORE_TIME

Ganti kode berikut:

  • BUCKET_NAME: nama bucket. Contoh, my-bucket.
  • DELETED_AFTER_TIME: argumen opsional untuk menentukan tanggal setelah objek dipulihkan. Contoh, 2022-12-01.
  • DELETED_BEFORE_TIME: argumen opsional untuk menentukan tanggal sebelum objek dipulihkan. Contoh, 2022-12-21.

    Jika berhasil, perintah akan menampilkan ID operasi yang berjalan lama yang terkait dengan operasi pemulihan massal. Anda dapat memperoleh detail operasi yang berjalan lama atau membatalkan operasi yang berjalan lama untuk menghentikan operasi pemulihan massal sebelum selesai. Untuk mengetahui informasi selengkapnya, lihat Menggunakan operasi yang berjalan lama.

REST API

JSON API

  1. Menginstal dan melakukan inisialisasi gcloud CLI, yang memungkinkan Anda membuat token akses untuk header Authorization.

  2. Gunakan cURL untuk memanggil JSON API dengan permintaan POST Object:

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/bulkRestore"

    Dengan BUCKET_NAME adalah nama bucket yang relevan. Contoh, my-bucket.

Jika berhasil, perintah akan menampilkan ID operasi yang berjalan lama yang terkait dengan operasi pemulihan massal. Anda dapat memperoleh detail operasi yang berjalan lama atau membatalkan operasi yang berjalan lama untuk menghentikan operasi pemulihan massal sebelum selesai. Untuk mengetahui informasi selengkapnya, lihat Menggunakan operasi yang berjalan lama.

Menggunakan operasi yang berjalan lama untuk pemulihan massal

Operasi pemulihan massal memulai operasi yang berjalan lama. Anda dapat mengambil dan mencantumkan operasi yang berjalan lama untuk melihat detail dan status operasi pemulihan massal, atau menghapus operasi yang berjalan lama untuk membatalkan operasi pemulihan massal saat sedang berlangsung.

Untuk mengetahui petunjuk tentang cara menggunakan operasi yang berjalan lama yang dimulai dari operasi di Cloud Storage, seperti operasi pemulihan massal, lihat Menggunakan operasi yang berjalan lama.

Contoh berikut menunjukkan operasi yang berjalan lama yang ditampilkan dari operasi pemulihan massal:

done: false
{
  "kind": "storage@operation",
  "name": "projects/_/buckets/my-bucket/operations/CiQyODRlMTY0My0wNGExLTQ3MWItOTE2Zi1hZmQ0ZmM4ZDc4MjQQAg",
  "metadata": {
    "@type": "type.googleapis.com/google.storage.v2.BulkRestoreObjectsMetadata",
    "commonMetadata": {
      "type": "bulk-restore-objects",
      "createTime": "2023-10-20T21:08:11.289Z",
      "updateTime": "2023-10-20T21:18:37.583Z",
      "endTime": "2023-10-20T21:18:37.583Z",
      "requestedCancellation": false,
      "progressPercent": -1,
    },
    "allow_overwrite": false,
    "matchGlobs": ["*"],
    "succeededCount": "0",
    "failedCount": "0",
    "skippedCount": "0",
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.storage.v2.BulkRestoreObjectsResponse"
  }
}

Langkah berikutnya