Menggunakan objek yang dihapus secara soft

Ringkasan Penyiapan

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

Sebelum memulai

Untuk mendapatkan izin yang diperlukan guna mencantumkan, mengakses, dan memulihkan objek yang dihapus secara sementara, minta administrator 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 secara 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 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 lembut, Anda mungkin memerlukan peran dan izin tambahan. Lihat peran yang diperlukan untuk operasi yang berjalan lama guna mempelajari lebih lanjut.

Mencantumkan semua objek yang dihapus permanen di bucket

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

Konsol

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

    Buka Bucket

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

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

Command line

Untuk menampilkan daftar semua objek yang dihapus secara sementara di 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 permanen

Gunakan petunjuk berikut untuk melihat semua versi objek tertentu yang dihapus secara permanen di bucket Anda:

Konsol

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

    Buka Bucket

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

  3. Klik objek yang ingin Anda lihat semua versinya yang dihapus secara permanen. Halaman Detail objek akan ditampilkan.

  4. Klik tab Histori Versi.

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

Command line

Untuk menampilkan daftar semua versi objek yang dihapus secara sementara di 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 semua versinya ingin Anda lihat.

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 ingin Anda lihat semua versinya.

Memulihkan objek yang dihapus sementara

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

Gunakan petunjuk berikut untuk memulihkan objek yang dihapus permanen:

Konsol

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

    Buka Bucket

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

  3. Dalam daftar Tampilkan, pilih Hanya objek yang dihapus secara soft.

  4. Buka objek, yang mungkin terletak dalam folder.

  5. Klik objek yang dihapus secara permanen. Halaman Detail objek akan ditampilkan.

  6. Dalam daftar Tampilkan, pilih Hanya objek yang dihapus secara soft. Daftar semua versi objek tersebut yang dihapus secara permanen akan ditampilkan.

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

  8. Klik Confirm.

Command line

Untuk memulihkan versi objek yang dihapus secara 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 ingin Anda lihat semua versinya.
  • GENERATION_NUMBER: nomor generasi objek yang dihapus secara soft 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 Objek POST:

    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 keterangan:

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

Memulihkan objek yang dihapus sementara secara massal di bucket

Jika Anda ingin memulihkan sejumlah besar objek, atau tidak mengetahui objek tertentu 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 secara permanen secara massal di bucket:

Konsol

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

    Buka Bucket

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

  3. Klik menu Bucket overflow () yang terkait dengan bucket, lalu pilih Create restore job.

    Panel Create a restore job akan terbuka.

  4. Di bagian Pilih objek yang dihapus secara permanen yang akan dipulihkan, pilih periode penghapusan tempat Anda ingin memulihkan objek.

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

  6. (Opsional) Alihkan perilaku pemulihan tambahan di bagian Restore options.

  7. Klik Create.

Anda dapat melacak progres operasi pemulihan massal dengan mengklik tombol Notifications () 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 bisa mendapatkan detail operasi yang berjalan lama atau membatalkan operasi yang berjalan lama untuk menghentikan operasi pemulihan massal sebelum selesai. Untuk 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 Objek POST:

    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 bisa mendapatkan 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 mendapatkan 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 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 selanjutnya