Admin Datastore

Firestore dalam mode Datastore sebelumnya mendukung kemampuan untuk mengaktifkan Admin Datastore, modul opsional dengan fitur penghapusan dan pencadangan massal. Datastore Admin telah diganti dengan alternatif yang lebih andal:

Mengakses Admin Datastore

Jika sebelumnya Anda mengaktifkan Datastore Admin, Anda dapat terus mengakses modul dengan membuka https://ah-builtin-python-bundle-dot-PROJECT_ID.appspot.com/_ah/datastore_admin?app_id=PROJECT_ID, dengan PROJECT_ID adalah ID project Google Cloud Anda. Jika menonaktifkan Admin Datastore, Anda tidak akan dapat mengaktifkan kembali modul.

Batasan penggunaan fitur Admin Datastore

  • Untuk tindakan menyalin, menghapus, dan pencadangan, pembaruan terbaru mungkin tidak dipertimbangkan.
  • Semua operasi Admin Datastore terjadi dalam aplikasi Anda, sehingga mengurangi kuota Anda.
  • Sebaiknya nonaktifkan operasi tulis selama pencadangan atau pemulihan.
  • Entity yang ada dengan kunci yang sama akan ditimpa selama operasi salin/pemulihan. Duplikat tidak dibuat jika operasi salin/pemulihan dilakukan beberapa kali. Operasi salin/pulihkan tidak menghapus data tambahan.
  • Jika menggunakan antrean non-default untuk pencadangan/pemulihan, Anda hanya dapat menentukan ah-builtin-python-bundle target di queue.yaml. Anda tidak dapat menggunakan target lain.

Izin akses database

Secara default, Admin Datastore dapat mengakses database Datastore dalam project yang sama dan tidak memerlukan izin Identity and Access Management untuk Datastore.

Mencadangkan data

Ikuti langkah-langkah di bawah untuk membuat file cadangan guna memulihkan data di masa mendatang atau untuk mengekspor.

  1. Jika belum melakukannya, buat bucket penyimpanan untuk project Anda. Secara opsional, pastikan akun layanan default App Engine untuk project tersebut memiliki akses ke bucket melalui Daftar Kontrol Akses. Nilai ini mungkin sudah ditetapkan secara default dan dapat diganti, jika diperlukan.

  2. (Direkomendasikan) Nonaktifkan operasi tulis Cloud Datastore.

  3. Buka Datastore Admin

  4. Pilih jenis entity yang ingin Anda cadangkan.

  5. Klik Backup Entities untuk menampilkan formulir pencadangan.

  6. Perhatikan bahwa nama cadangan diberikan dan menyertakan stempel waktu.

    Anda harus mengubah nilai ini jika membuat lebih dari satu cadangan per hari karena cadangan tidak akan dibuat jika cadangan dengan nama yang sama sudah ada.

  7. Perhatikan bahwa antrean default digunakan untuk tugas pencadangan; Anda dapat menggunakannya dalam sebagian besar kasus.

    Jika menggunakan antrean non-default untuk pencadangan/pemulihan, Anda hanya dapat menentukan ah-builtin-python-bundle target di queue.yaml. Anda tidak dapat menggunakan target lain.

  8. Pilih Google Cloud Storage sebagai lokasi penyimpanan cadangan.

  9. Saat memilih Cloud Storage, Anda akan diminta untuk memasukkan nama bucket tempat cadangan akan disimpan, dalam format [BUCKET_NAME]. Anda dapat menentukan nama bucket yang diakhiri dengan struktur direktori, seperti [BUCKET_NAME]/backups/foo): Jika folder tersebut belum ada, folder tersebut akan dibuat.

  10. Mulai tugas pencadangan dengan mengklik Backup Entities. Perhatikan bahwa halaman status tugas ditampilkan. Status tugas pencadangan

  11. Klik Kembali ke Datastore Admin untuk melihat status pencadangan.

  12. Setelah pencadangan selesai, jika Anda menonaktifkan operasi tulis Cloud Datastore, aktifkan kembali.

Pertimbangan pencadangan dan pemulihan

Fitur pencadangan dan pemulihan dimaksudkan untuk membantu Anda memulihkan data dari penghapusan yang tidak disengaja atau memungkinkan Anda mengekspor data. Anda dapat mencadangkan semua entity atau hanya jenis entity yang dipilih, dan Anda dapat memulihkan dari salah satu cadangan ini jika perlu.

Cadangan disimpan ke Cloud Storage.

Perhatikan bahwa cadangan tidak berisi indeks apa pun. Saat Anda memulihkan, indeks yang diperlukan akan otomatis dibuat ulang menggunakan definisi indeks yang Anda upload dengan aplikasi.

Anda juga dapat menggunakan file cadangan untuk mengekspor data ke layanan Google Cloud lainnya, seperti BigQuery.

Pemulihan tidak menetapkan ID baru ke entitas. Pemulihan menggunakan ID yang ada pada waktu pencadangan dan menimpa entity yang ada dengan ID yang sama. Selama pemulihan, ID dicadangkan saat entitas sedang dipulihkan. Tindakan ini akan mencegah konflik ID dengan entity baru jika operasi tulis diaktifkan saat pemulihan berjalan. Entitas baru yang ditambahkan sejak pencadangan akan dipertahankan.

Anda dapat memulihkan semua data dari cadangan atau memulihkan jenis entity tertentu dari cadangan. Selain itu, Anda juga dapat menggunakan fitur ini untuk memulihkan cadangan data satu aplikasi ke beberapa aplikasi lain, asalkan Anda menggunakan Cloud Storage untuk pencadangan.

Membatalkan pencadangan

Jika tugas pencadangan sedang berjalan, tugas tersebut akan muncul dalam daftar Pencadangan Tertunda di layar Admin Cloud Datastore.

Untuk menghentikan pencadangan yang sedang berjalan ini:

  1. Buka Datastore Admin
  2. Di bagian Cadangan Tertunda, pilih cadangan dalam daftar, lalu klik Batalkan.

Saat Anda membatalkan tugas pencadangan, App Engine akan mencoba menghapus data cadangan yang telah disimpan hingga saat itu. Namun, dalam beberapa kasus, beberapa file dapat tetap ada setelah penghentian. Anda dapat menemukan file ini di lokasi yang Anda pilih untuk pencadangan di Google Cloud Storage dan menghapusnya dengan aman setelah pembatalan selesai. Nama file tersebut diawali dengan pola berikut: datastore_backup_[BUCKET_NAME].

Menemukan informasi tentang pencadangan

Anda mungkin ingin mengetahui detail tentang pencadangan, seperti jenis entity yang dikandungnya, tempat pencadangan disimpan di Google Cloud Storage, serta waktu mulai dan waktu berakhirnya. Untuk menampilkan informasi pencadangan ini:

  1. Buka Datastore Admin
  2. Pilih satu atau beberapa cadangan di daftar Cadangan atau Cadangan Tertunda.
  3. Klik Info untuk menampilkan informasi cadangan tersebut.
  4. Klik Kembali untuk kembali ke layar utama Cloud Datastore Admin.

Memulihkan data

Untuk memulihkan dari cadangan:

  1. (Direkomendasikan) Nonaktifkan operasi tulis Cloud Datastore untuk aplikasi Anda. Sebaiknya lakukan hal ini untuk menghindari konflik antara pemulihan dan data baru yang ditulis ke Cloud Datastore.
  2. Buka Datastore Admin
  3. Dalam daftar cadangan yang tersedia, pilih cadangan yang ingin Anda pulihkan.
  4. Klik Pulihkan.
  5. Di halaman saran yang ditampilkan, perhatikan daftar entitas dengan kotak centang. Secara default, semua entity akan dipulihkan. Hapus centang pada kotak di samping setiap entitas yang tidak ingin Anda pulihkan.
  6. Di halaman saran, perhatikan juga bahwa antrean default, dengan setelan performa yang telah dikonfigurasi sebelumnya, digunakan untuk tugas pemulihan. Ubah ini ke antrean lain yang telah Anda konfigurasi secara berbeda jika Anda memerlukan karakteristik performa antrean yang berbeda, pastikan antrean yang dipilih tidak memiliki target apa pun yang ditentukan di queue.yaml selain ah-builtin-python-bundle.
  7. Mulai pemulihan dengan mengklik Pulihkan. Perhatikan bahwa halaman status tugas ditampilkan.
  8. Klik Kembali ke Datastore Admin untuk melihat status pemulihan. Status pemulihan
  9. Setelah pemulihan selesai, jika Anda menonaktifkan operasi tulis, aktifkan kembali operasi tulis Cloud Datastore untuk aplikasi Anda.

Memulihkan data ke aplikasi lain

Jika mencadangkan data menggunakan Google Cloud Storage, Anda dapat memulihkan cadangan ke aplikasi selain aplikasi yang digunakan untuk membuat cadangan.

Untuk memulihkan data cadangan dari aplikasi sumber ke aplikasi target:

  1. Buat kebijakan Identity and Access Management (IAM) di bucket penyimpanan aplikasi sumber dengan izin berikut:

    • Akun utama: [PROJECT_ID]@appspot.gserviceaccount.com
    • Peran: Storage Legacy Bucket Reader dan Storage Legacy Object Reader

    dengan [PROJECT_ID] adalah project ID aplikasi target.

  2. Buat cadangan baru di aplikasi sumber.

  3. (Direkomendasikan) Nonaktifkan penulisan Cloud Datastore untuk aplikasi target Anda guna menghindari konflik antara data yang dipulihkan dan data baru apa pun yang ditulis ke Cloud Datastore.

  4. Buka Datastore Admin

  5. Di kotak teks di samping tombol berlabel Import Backup Information, tentukan bucket aplikasi sumber yang berisi cadangan, dalam format /gs/[BUCKET_NAME]. Bucket penyimpanan cadangan
    Atau, berikan handle file untuk pencadangan tertentu: Untuk melihat handle file untuk pencadangan, buka halaman Admin untuk aplikasi sumber, pilih pencadangan, lalu klik Info. Anda akan melihat handle file di samping label Handle.

  6. Klik Impor Informasi Cadangan.
    Halaman pilihan yang dihasilkan menampilkan cadangan yang tersedia untuk bucket yang Anda tentukan, kecuali jika Anda menentukan cadangan berdasarkan nama sebutan channel-nya. Pilih cadangan yang diinginkan, lalu klik salah satu opsi berikut:

    • Tambahkan ke daftar cadangan jika Anda ingin cadangan ini disimpan dalam daftar cadangan yang tersedia untuk aplikasi Anda.
    • Pulihkan dari cadangan jika Anda ingin memulihkan dari cadangan ini, tetapi tidak ingin cadangan ditampilkan dalam daftar cadangan yang tersedia untuk aplikasi Anda.
  7. Di halaman saran yang ditampilkan, perhatikan daftar entitas dengan kotak centang. Secara default, semua entity akan dipulihkan. Hapus centang pada kotak di samping setiap entitas yang tidak ingin Anda pulihkan.

  8. Selain itu, di halaman saran, perhatikan bahwa antrean default, dengan setelan performa yang telah dikonfigurasi sebelumnya, digunakan untuk tugas pemulihan. Ubah ini ke antrean lain yang telah Anda konfigurasikan secara berbeda jika Anda memerlukan karakteristik performa antrean yang berbeda.

  9. Mulai pemulihan dengan mengklik Pulihkan. Perhatikan bahwa halaman status tugas ditampilkan.

  10. Setelah pemulihan selesai, jika Anda menonaktifkan operasi tulis Cloud Datastore, aktifkan kembali.

Melihat penggunaan resource

Pencadangan yang sangat sering dilakukan sering kali menyebabkan biaya yang lebih tinggi. Saat menjalankan tugas Cloud Datastore Admin, Anda sebenarnya menjalankan tugas MapReduce yang mendasarinya. Tugas MapReduce menyebabkan jam kerja instance frontend meningkat di samping operasi Penyimpanan dan penggunaan Penyimpanan.

Untuk melihat penggunaan resource Anda:

  1. Buka halaman App Engine di konsol Google Cloud.

    Buka halaman App Engine

  2. Gunakan menu pulldown di bagian atas halaman untuk memilih layanan default dan versi ah-builtin-python-bundle.

Mengaktifkan atau menonaktifkan operasi tulis database

Sebaiknya nonaktifkan operasi tulis sebelum melakukan pemulihan. Tindakan ini membantu menghindari konflik antara pemulihan dan data baru yang ditulis ke database Anda.

Menonaktifkan penulisan akan mencegah entitas diubah oleh

  • Datastore Viewer.
  • aplikasi yang menggunakan Datastore API.

Untuk mengaktifkan atau menonaktifkan operasi tulis:

  1. Buka halaman Admin.

    Buka halaman Admin

  2. Klik Aktifkan penulisan untuk mengaktifkan penulisan, atau Nonaktifkan penulisan untuk menonaktifkan penulisan. Teks tombol bervariasi, bergantung pada status project Anda.

Melihat penggunaan resource Datastore Admin

Saat menjalankan tugas Datastore Admin, Anda sebenarnya menjalankan tugas MapReduce yang mendasarinya. Tugas MapReduce menyebabkan jam instance frontend meningkat di atas operasi Storage dan penggunaan Storage.

Untuk melihat penggunaan resource Anda:

  1. Buka halaman App Engine di konsol Google Cloud.

    Buka halaman App Engine

  2. Gunakan menu pulldown di bagian atas halaman untuk memilih layanan default dan versi ah-builtin-python-bundle.

Menonaktifkan akses Admin Datastore

  1. Jalankan perintah berikut, ganti PROJECT_ID dengan ID project Google Cloud Anda:

    curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://appengine.googleapis.com/v1/apps/PROJECT_ID/services/default/versions/ah-builtin-python-bundle