| Firestore Standard sürümü ve Firestore Enterprise sürümü için geçerlidir. |
Bu sayfada, Cloud Firestore programlanmış yedeklemeler özelliğinin nasıl kullanılacağı açıklanmaktadır. Verilerinizi uygulama düzeyinde veri bozulmasına veya yanlışlıkla veri silinmesine karşı korumak için yedekleri kullanın.
Yedeklemeler, belirtilen veritabanının günlük veya haftalık yedeklerini almak için yedekleme planları yapılandırmanıza olanak tanır. Daha sonra bu yedekleri kullanarak verileri yeni bir veritabanına geri yükleyebilirsiniz.
Yedeklemeler hakkında
Yedek, veritabanının belirli bir zamandaki tutarlı bir kopyasıdır. Yedek, o andaki tüm verileri ve dizin yapılandırmalarını içerir.
Yedekleme, veritabanı geçerlilik süresi politikalarını içermez. Yedek, kaynak veritabanıyla aynı konumda bulunur.Yedeklerin yapılandırılabilir bir saklama süresi vardır ve saklama süresi dolana veya siz yedeği silene kadar saklanır. Kaynak veritabanının silinmesi, ilgili yedekleri otomatik olarak silmez.
Cloud Firestore, bir veritabanıyla ilgili yedeklemeler ve yedekleme planları ile ilgili meta verileri depolar. Cloud Firestore, veritabanının tüm yedeklerinin süresi dolana veya yedekler silinene kadar bu meta verileri saklar.
Yedek oluşturma veya saklama, canlı veritabanınızdaki okuma ya da yazma işlemlerinin performansını etkilemez.
Maliyetler
Yedekleri kullandığınızda aşağıdaki işlemler için ücretlendirilirsiniz:
- Her bir yedeklemenin kullandığı depolama alanı miktarı.
- Geri yükleme işlemi için yedeklemenin boyutuna göre ücretlendirilirsiniz.
Daha fazla bilgi ve tam ücretler için Fiyatlandırma sayfasını inceleyin.
Başlamadan önce
Bu özellik için Blaze fiyatlandırma planı gerekir.Gerekli roller
Yedeklemeleri ve yedekleme planlarını yönetmek için gereken izinleri almak üzere yöneticinizden size aşağıdaki Identity and Access Management rollerinden birini veya daha fazlasını vermesini isteyin:
roles/datastore.owner: Cloud Firestore veritabanına tam erişimroles/datastore.backupsAdmin: Yedeklemelere okuma ve yazma erişimiroles/datastore.backupsViewer: Yedeklere okuma erişimiroles/datastore.backupSchedulesAdmin: Yedekleme programlarına okuma ve yazma erişimiroles/datastore.backupSchedulesViewer: Yedekleme programlarına okuma erişimiroles/datastore.restoreAdmin: Geri yükleme işlemlerini başlatma izinleri
Yedekleme programları oluşturma ve yönetme
Aşağıdaki örneklerde, yedekleme programının nasıl ayarlanacağı gösterilmektedir. Her veritabanı için en fazla bir günlük yedekleme planı ve en fazla bir haftalık yedekleme planı yapılandırabilirsiniz. Haftanın farklı günleri için birden fazla haftalık yedekleme programı yapılandıramazsınız.
Yedeklemenin yapılacağı saati tam olarak yapılandıramazsınız. Yedeklemeler her gün farklı zamanlarda yapılır. Haftalık yedekleme programları için yedeklemenin yapılacağı haftanın gününü yapılandırabilirsiniz.
Yedekleme programı oluşturma
Yedekleme programı oluşturmak için aşağıdaki araçlardan birini kullanın.
Günlük yedekleme programı oluşturma
Google Cloud konsolu
Google Cloud Console'da Veritabanları sayfasına gidin.
- Veritabanları listesinde veritabanının satırını bulun. Programlanmış yedeklemeler sütununda, yedekleme programı olup olmamasına bağlı olarak Yedeklemeleri görüntüle veya Ayarları düzenle'yi tıklayın.
- Afet kurtarma ayarlarını düzenlemek için Düzenle'yi tıklayın.
- Günlük onay kutusunu işaretleyin, saklama süresini ayarlayın ve ardından Kaydet'i tıklayın.
Firebase CLI
Bir veritabanı için yedekleme planı oluşturmak üzerefirebase firestore:databases:backups:schedules:create komutunu kullanın.
Günlük yedekleme planı oluşturmak için --recurrence işaretini DAILY olarak ayarlayın:
firebase firestore:backups:schedules:create \ --database 'DATABASE_ID' \ --recurrence 'DAILY' \ --retention RETENTION_PERIOD
Aşağıdakini değiştirin:
- DATABASE_ID: Yedeklenecek veritabanının kimliği. Varsayılan veritabanı için
'(default)'olarak ayarlayın. - RETENTION_PERIOD: Bu değeri 14 haftaya (
14w) kadar ayarlayın.
Terraform
Günlük yedekleme planı oluşturmak için birgoogle_firestore_backup_schedule kaynağı oluşturun.
resource "google_firestore_backup_schedule" "daily-backup" { project = PROJECT_ID database = DATABASE_ID retention = RETENTION_PERIOD_SECONDS daily_recurrence {} }
Aşağıdakini değiştirin:
- PROJECT_ID: Projenin kimliği.
- DATABASE_ID: Yedeklenecek veritabanının kimliği. Varsayılan veritabanı için
'(default)'olarak ayarlayın. - RETENTION_PERIOD_SECONDS: Bu değeri saniye cinsinden bir değere ayarlayın ve ardından "s" ekleyin. Maksimum değer
8467200s(14 hafta) olabilir.
google_firestore_database türündeki bir Terraform kaynağına kaynak referansı da kullanabilirsiniz.
Haftalık yedekleme programı oluşturma
Google Cloud konsolu
Google Cloud Console'da Veritabanları sayfasına gidin.
- Veritabanları listesinde veritabanının satırını bulun. Programlanmış yedeklemeler sütununda, yedekleme programı olup olmamasına bağlı olarak Yedeklemeleri görüntüle veya Ayarları düzenle'yi tıklayın.
- Afet kurtarma ayarlarını düzenlemek için Düzenle'yi tıklayın.
- Haftalık onay kutusunu işaretleyin, bir yedekleme günü seçin, saklama süresini ayarlayın ve ardından Kaydet'i tıklayın.
Firebase CLI
Haftalık yedekleme programı oluşturmak için--recurrence işaretini WEEKLY olarak ayarlayın ve --day-of-week seçeneğini belirleyin:
firebase firestore:backups:schedules:create \ --database 'DATABASE_ID' \ --recurrence 'WEEKLY' \ --retention RETENTION_PERIOD --day-of-week DAY
- DATABASE_ID: Yedeklenecek veritabanının kimliği. Varsayılan veritabanı için
'(default)'olarak ayarlayın. - RETENTION_PERIOD: Bu değeri 14 haftaya (
14w) kadar ayarlayın. - DAY: Yedeklemenin yapılacağı gün. Aşağıdakilerden birini seçin:
- Pazar için
SUNDAY - Pazartesi için
MONDAY - Salı için
TUESDAY - Çarşamba için
WEDNESDAY - Perşembe için
THURSDAY - Cuma için
FRIDAY - Cumartesi için
SATURDAY
- Pazar için
Terraform
Haftalık yedekleme planı oluşturmak içingoogle_firestore_backup_schedule kaynağı oluşturun.
resource "google_firestore_backup_schedule" "weekly-backup" { project = PROJECT_ID database = DATABASE_ID retention = RETENTION_PERIOD_SECONDS weekly_recurrence { day = DAY } }
Aşağıdakini değiştirin:
- PROJECT_ID: Projenin kimliği.
- DATABASE_ID: Yedeklenecek veritabanının kimliği. Varsayılan veritabanı için
'(default)'olarak ayarlayın. - RETENTION_PERIOD_SECONDS: Bu değeri saniye cinsinden bir değere ayarlayın ve ardından "s" ekleyin. Maksimum değer
8467200s(14 hafta) olabilir. - DAY: Yedeklemenin yapılacağı gün. Aşağıdakilerden birini seçin:
- Pazar için
SUNDAY - Pazartesi için
MONDAY - Salı için
TUESDAY - Çarşamba için
WEDNESDAY - Perşembe için
THURSDAY - Cuma için
FRIDAY - Cumartesi için
SATURDAY
- Pazar için
google_firestore_database türündeki bir Terraform kaynağına kaynak referansı da kullanabilirsiniz.
Yedekleme programlarını listeleme
Bir veritabanının tüm yedekleme programlarını listelemek için aşağıdaki yöntemlerden birini kullanın:
Google Cloud konsolu
Google Cloud Console'da Veritabanları sayfasına gidin.
- Veritabanları listesinde veritabanının satırını bulun. Programlanmış yedeklemeler sütununda, yedekleme programı olup olmamasına bağlı olarak Yedeklemeleri görüntüle veya Ayarları düzenle'yi tıklayın.
- Olağanüstü durum kurtarma sayfası açılır. Bu sayfada yedekleme programları açıklanır ve mevcut yedekler listelenir.
Firebase CLI
firebase firestore:backups:schedules:list komutunu kullanın.
firebase firestore:backups:schedules:list \ --database 'DATABASE_ID'
'(default)' kullanın.
Yedekleme programını açıklayın
Yedekleme programıyla ilgili bilgileri almak için aşağıdaki yöntemlerden birini kullanın:
Google Cloud konsolu
Google Cloud Console'da Veritabanları sayfasına gidin.
- Veritabanları listesinde veritabanının satırını bulun. Programlanmış yedeklemeler sütununda, yedekleme programı olup olmadığına bağlı olarak Yedeklemeleri görüntüle veya Ayarları düzenle'yi tıklayın.
- Olağanüstü durum kurtarma sayfası açılır. Bu sayfada yedekleme programları açıklanır ve mevcut yedekler listelenir.
gcloud
gcloud firestore backups schedules describe komutunu kullanın:
gcloud firestore backups schedules describe \ --database='DATABASE_ID' \ --backup-schedule=BACKUP_SCHEDULE_ID
- DATABASE_ID: Yedeklenecek veritabanının kimliği. Varsayılan veritabanı için
'(default)'olarak ayarlayın. - BACKUP_SCHEDULE_ID: Yedekleme programının kimliği. Tüm yedekleme programlarını listelediğinizde her yedekleme programının kimliğini görüntüleyebilirsiniz.
Yedekleme programını güncelleme
Yedekleme programının saklama süresini güncellemek için aşağıdaki yöntemlerden birini kullanın:
Google Cloud konsolu
Google Cloud Console'da Veritabanları sayfasına gidin.
- Veritabanları listesinde veritabanının satırını bulun. Programlanmış yedeklemeler sütununda Yedeklemeleri görüntüle veya Ayarları düzenle'yi tıklayın.
- Afet kurtarma ayarlarını düzenlemek için Düzenle'yi tıklayın.
- Yedekleme programı ayarlarını düzenleyin ve ardından Kaydet'i tıklayın.
Firebase CLI
firebase firestore:backups:schedules:update komutunu kullanın:
firebase firestore:backups:schedules:update \ BACKUP_SCHEDULE \ --retention RETENTION_PERIOD
- BACKUP_SCHEDULE: Yedekleme programının tam kaynak adı. Tüm yedekleme programlarını listelediğinizde her yedekleme programının adını görüntüleyebilirsiniz.
- RETENTION_PERIOD: Bu değeri 14 haftaya (
14w) kadar ayarlayın.
Yedekleme programının saklama süresini güncelleyebilirsiniz ancak yinelenme sıklığını güncelleyemezsiniz. Farklı bir yinelenme sıklığına sahip bir yedekleme planına ihtiyacınız varsa artık gerekli değilse eski yedekleme planını silin ve tercih edilen yinelenme sıklığına sahip yeni bir yedekleme planı oluşturun.
Yedekleme planını silme
Yedekleme programını silmek için aşağıdaki yöntemlerden birini kullanın:
Google Cloud konsolu
Google Cloud Console'da Veritabanları sayfasına gidin.
- Veritabanları listesinde veritabanının satırını bulun. Programlanmış yedeklemeler sütununda, yedekleme programı olup olmamasına bağlı olarak Yedeklemeleri görüntüle veya Ayarları düzenle'yi tıklayın.
- Afet kurtarma ayarlarını düzenlemek için Düzenle'yi tıklayın.
- Yedekleme programı ayarlarını düzenleyin ve ardından Kaydet'i tıklayın.
Firebase CLI
firebase firestore:backups:schedules:delete komutunu kullanın:
firebase firestore:backups:schedules:delete \ BACKUP_SCHEDULE
- BACKUP_SCHEDULE: Yedekleme programının tam kaynak adı. Tüm yedekleme programlarını listelediğinizde her yedekleme programının adını görüntüleyebilirsiniz.
Yedekleme programını sildiğinizde, bu program tarafından oluşturulmuş yedeklerin silinmeyeceğini unutmayın. Saklama süreleri dolduktan sonra silinmelerini bekleyebilir veya bir yedeklemeyi manuel olarak silmek için Yedeklemeyi silme bölümüne bakabilirsiniz.
Yedekleri yönet
Yedekleri listeleme
Kullanılabilir yedekleri listelemek için aşağıdaki yöntemlerden birini kullanın:
Google Cloud konsolu
Google Cloud Console'da Veritabanları sayfasına gidin.
- Veritabanları listesinde veritabanının satırını bulun. Programlanmış yedeklemeler sütununda, yedekleme programı olup olmamasına bağlı olarak Yedeklemeleri görüntüle veya Ayarları düzenle'yi tıklayın.
- Afet kurtarma ayarlarını düzenlemek için Düzenle'yi tıklayın.
- Yedekleme programı ayarlarını düzenleyin ve ardından Kaydet'i tıklayın.
Firebase CLI
firebase firestore:backups:list komutunu kullanın:
firebase firestore:backups:list
--location işaretini kullanın:
firebase firestore:backups:list \ --location=LOCATION
LOCATION ifadesini bir Cloud Firestore konumunun adıyla değiştirin.
Yedeklemeyi açıklama
Yedeklemeyle ilgili ayrıntıları görüntülemek için aşağıdaki yöntemlerden birini kullanın:
Google Cloud konsolu
Google Cloud Console'da Veritabanları sayfasına gidin.
- Veritabanları listesinde veritabanının satırını bulun. Programlanmış yedeklemeler sütununda, yedekleme programı olup olmamasına bağlı olarak Yedeklemeleri görüntüle veya Ayarları düzenle'yi tıklayın.
- Olağanüstü durum kurtarma sayfası açılır. Bu sayfada yedekleme programları açıklanır ve mevcut yedekler listelenir.
Firebase CLI
firebase firestore:backups:get komutunu kullanın:
firebase firestore:backups:get BACKUP
- BACKUP: : Bir yedeğin tam kaynak adı. Tüm yedekleri listelediğinizde her yedeğin adını görebilirsiniz.
Yedeği sil
Yedekleri silmek için aşağıdaki yöntemlerden birini kullanın.
Google Cloud konsolu
Google Cloud Console'da Veritabanları sayfasına gidin.
- Veritabanları listesinde veritabanının satırını bulun. Programlanmış yedeklemeler sütununda, yedekleme programı olup olmamasına bağlı olarak Yedeklemeleri görüntüle veya Ayarları düzenle'yi tıklayın. Olağanüstü durum kurtarma sayfası açılır. Bu sayfada yedekleme programları açıklanır ve mevcut yedekler listelenir.
- Yedeklemeler tablosunda bir yedeklemenin satırını bulun ve İşlemler sütununda Daha fazla göster'i() tıklayın. Sil'i tıklayın.
- Metin alanını kullanarak işlemi onaylayın ve Sil'i tıklayın.
Firebase CLI
firebase firestore:backups:delete komutunu kullanın:
firebase firestore:backups:delete \ BACKUP
- BACKUP: Bir yedeğin tam kaynak adı. Tüm yedekleri listelediğinizde her yedeğin adını görebilirsiniz.
Veritabanı yedeğindeki verileri geri yükleme
Geri yükleme işlemi, yedeklemedeki verileri yeni bir Cloud Firestore veritabanına yazar.
Geri yükleme işlemini başlatmak için aşağıdaki yöntemlerden birini kullanın:
Google Cloud konsolu
Google Cloud Console'da Veritabanları sayfasına gidin.
- Veritabanları listesinde veritabanının satırını bulun. Programlanmış yedeklemeler sütununda, yedekleme programı olup olmamasına bağlı olarak Yedeklemeleri görüntüle veya Ayarları düzenle'yi tıklayın. Olağanüstü durum kurtarma sayfası açılır. Bu sayfada yedekleme programları açıklanır ve mevcut yedekler listelenir.
- Yedeklemeler tablosunda bir yedeklemenin satırını bulun ve İşlemler sütununda Daha fazla göster'i() tıklayın. Cloud Shell ile geri yükle'yi tıklayın.
-
Cloud Shell paneli, seçilen yedeklemeden geri yükleme yapmak için gcloud CLI komutuyla açılır. ID_OF_NEW_DATABASE ifadesini veritabanı kimliğiyle değiştirip komutu çalıştırın.
Komut çalıştırıldığında işlem hakkında daha fazla bilgi içeren bir yanıt döndürülür. Veritabanı kısa süre içinde veritabanları listenizde görünür. Geri yükleme işlemi biraz zaman alır ve veritabanına erişilebilmesi için işlemin tamamlanması gerekir.
Firebase CLI
firebase firestore:databases:restore komutunu kullanın:
firebase firestore:databases:restore \ --backup 'BACKUP' \ --database 'DATABASE_ID'
- BACKUP: Bir yedeğin tam kaynak adı. Tüm yedekleri listelediğinizde her yedeğin adını görebilirsiniz.
- DATABASE_ID: Yeni veritabanı için veritabanı kimliği. Kullanımda olan bir veritabanı kimliğini kullanamazsınız.
Sınırlamalar
Geri yükleme işlemi, (default) veritabanındaki App Engine arama verilerini veya blob varlıklarını geri yüklemez. Bu veriler yalnızca (default) veritabanı için geçerlidir ve (default) veritabanından bu tür verileri desteklemeyen bir veritabanına geri yükleme yaparsanız kullanılamaz. Bu nedenle, yedeklemelere dahil edilmez.
Geri yükleme işleminden sonra yapılması gerekenler
Geri yükleme işlemini tamamladıktan sonra şunları yapmanız gerekir:
Yeni veritabanınıza uygun IAM denetimlerinin uygulandığını doğrulayın.
Daha önce TTL politikaları kullandıysanız bunları yeni veritabanına yeniden uygulayın. TTL politikaları yedeklere dahil edilmez ve geri yüklenen veritabanlarına otomatik olarak yeniden uygulanmaz.