Verileri dışa ve içe aktarma

Cloud Firestore yönetilen dışa aktarma ve içe aktarma hizmetini kullanarak Yanlışlıkla silinen verileri kurtarmak ve çevrimdışı verileri dışa aktarmak için işleniyor. Tüm dokümanları veya yalnızca belirli koleksiyonları dışa aktarabilirsiniz. Benzer şekilde, dışa aktarılan tüm verileri veya yalnızca belirli koleksiyonları içe aktarabilirsiniz. Bir Cloud Firestore veritabanından dışa aktarılan veriler başka bir Cloud Firestore veritabanına aktarılabilir. Ayrıca BigQuery hedefine Cloud Firestore dışa aktarma işlemi

Bu sayfada, Cloud Firestore dokümanları yönetilen dışa ve içe aktarma hizmeti ile Cloud Storage. İlgili içeriği oluşturmak için kullanılan Cloud Firestore yönetilen dışa aktarma ve içe aktarma hizmeti şunun üzerinden kullanılabilir: gcloud komut satırı aracı ve Cloud Firestore API (REST, RPC).

Başlamadan önce

Yönetilen dışa aktarma ve içe aktarma hizmetini kullanabilmek için şu görevlerden yararlanabilirsiniz:

  1. Etkinleştir Google Cloud projeniz için faturalandırma. Yalnızca Google Cloud faturalandırmanın etkin olduğu projelerde dışa ve içe aktarma işlemleri kullanılabilir.
  2. Oluştur: projenize yakın bir konumda projeniz için Cloud Storage paketi Cloud Firestore veritabanı konumu. Aksi halde İstek Sahibi, dışa ve içe aktarma işlemleri için paket öder.
  3. Hesabınızın aşağıdaki işlemler için gerekli izinlere sahip olduğundan emin olun: Cloud Firestore ve Cloud Storage. Proje sahibiyseniz hesabınızda gerekli izinler vardır. Aksi halde aşağıdaki Roller, dışa ve içe aktarma işlemleri için gerekli izinleri verir. Cloud Storage erişimi için:

Hizmet aracısı izinleri

Dışa ve içe aktarma işlemleri bir Cloud Firestore hizmet aracısı kullanarak şu amaçlarla kullanılır: Cloud Storage işlemi yetkilendirin. Cloud Firestore hizmet aracısı şu adlandırma kuralını kullanır:

Cloud Firestore hizmet aracısı
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com

Hizmet aracıları hakkında daha fazla bilgi edinmek için Hizmet aracıları.

Cloud Firestore hizmet aracısının Dışa veya içe aktarma işleminde Cloud Storage paket kullanıldı. Cloud Storage paketi, Cloud Firestore paketinizle aynı projede içeriyorsa Cloud Firestore hizmet aracısı paketine otomatik olarak eklenmesini sağlar.

Cloud Storage paketi başka bir projedeyse Cloud Firestore hizmet temsilcisine Cloud Storage paketine erişim izni vermeniz gerekir.

Hizmet temsilcisine rol atama

gsutil komut satırı aracını kullanarak aşağıdaki rollerden birini atayın. Örneğin, kullanıcıya depolama alanı yöneticisi rolünü atamak için Cloud Firestore hizmet aracısı için aşağıdaki komutu çalıştırın:

gsutil iam ch serviceAccount:service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com:roles/storage.admin \
    gs://[BUCKET_NAME]

PROJECT_NUMBER yerine proje numaranızı yazın. Bu numara Cloud Firestore hizmet aracınızı adlandırmak için kullanılır. Hizmet aracısı adını görüntüleme başlıklı makaleyi inceleyin.

Alternatif olarak bu rolü Google Cloud konsolunu kullanarak atayın.

Hizmet aracısı adını göster

İçe ve dışa aktarma işlemlerinizin istekleri yetkilendirmek için kullandığı hesabı Google Cloud Console'daki İçe/Dışa Aktarma sayfasından görüntüleyebilirsiniz. Ayrıca, veritabanınızın Cloud Firestorehizmet aracısını mı yoksa eski App Engine hizmet hesabını mı kullandığını da görüntüleyebilirsiniz.

  1. Şu sayfanın yanındaki yetkilendirme hesabını görüntüleyin: İçe/Dışa aktarma işleri şu şekilde çalışır: etiketi.

Hizmet aracısının Cloud Storage için Storage Admin rolüne ihtiyacı var dışa veya içe aktarma işlemi için kullanılacak pakettir.

Projeniz için gcloud uygulamasını kurun

İçe aktarma ve dışa aktarma işlemlerini Google Cloud Console veya gcloud komut satırı aracı üzerinden başlatabilirsiniz. gcloud özelliğini kullanmak için komut satırı aracını kurun aşağıdaki yöntemlerden birini kullanarak projenize bağlanabilirsiniz:

Verileri dışa aktarın

Dışa aktarma işlemi, veritabanınızdaki dokümanları bir Cloud Storage paketindeki bir dosya grubuna kopyalar. Dışa aktarma işleminin, alınan veritabanı anlık görüntüsüyle aynı olmadığını unutmayın. dışa aktarma başlangıç zamanında. Dışa aktarma işlemi, işlem sırasında yapılan değişiklikleri içerebilir. çalışıyordu.

Tüm dokümanları dışa aktar

Google Cloud Console

  1. Google Cloud Console'da Veritabanları sayfasına gidin.

    Veritabanlarına git

  2. Veritabanı listesinden gerekli veritabanını seçin.

  3. Gezinme menüsünde İçe/Dışa Aktar'ı tıklayın.

  4. Dışa aktar'ı tıklayın.

  5. Export all database'i (Veritabanının tamamını dışa aktar) tıklayın.

  6. Hedefi seçin'in altında bir Cloud Storage paketinin adını girin veya Göz at düğmesini kullanarak bir paket seçin.

  7. Dışa aktar'ı tıklayın.

Konsol İçe/Dışa Aktar sayfasına döner. İşlem başarıyla başlarsa Sayfa, son içe ve dışa aktarma işlemleri sayfasına bir giriş ekler. Hata durumunda, sayfada bir hata mesajı görüntülenir.

gcloud

Tümünü dışa aktarmak için firestore export komutunu kullanın veritabanınızdaki dokümanlarda [BUCKET_NAME] yerine kullandığınız e-posta adresini Cloud Storage paket. gcloud aracının şunları yapmasını önlemek için --async işaretini ekleyin: işlemin tamamlanmasını bekliyor.

  gcloud firestore export gs://[BUCKET_NAME] \
  --database=[DATABASE]

Aşağıdakini değiştirin:

  • BUCKET_NAME: sonrasında bir dosya öneki ekleyerek dışa aktarmalarınızı düzenleyin paket adı (örneğin, BUCKET_NAME/my-exports-folder/export-name). Eğer dosya öneki sağlamazsanız yönetilen dışa aktarma hizmeti geçerli zaman damgasına göre bir tane oluşturur.

  • DATABASE: Dışa aktarmak istediğiniz veritabanının adı belgeler. Varsayılan veritabanı için --database='(default)' değerini kullanın.

Bir dışa aktarma işlemi başlattığınızda, terminalin kapatılması işlemi iptal etme bölümünü inceleyin.

Belirli koleksiyonları dışa aktarma

Google Cloud Console

  1. Google Cloud Console'da Veritabanları sayfasına gidin.

    Veritabanları'na gidin

  2. Veritabanı listesinden gerekli veritabanını seçin.

  3. Gezinme menüsünde İçe/Dışa Aktar'ı tıklayın.

  4. Dışa aktar'ı tıklayın.

  5. Bir veya daha fazla koleksiyon grubunu dışa aktar seçeneğini tıklayın. Açılır listeyi kullanın menüsünde bir veya daha fazla koleksiyon grubu seçin.

  6. Hedef Seçin'in altına Cloud Storage paketinin adını girin veya bir paket seçmek için Göz at düğmesini kullanın.

  7. Dışa aktar'ı tıklayın.

Konsol İçe/Dışa Aktar sayfasına döner. İşlem başarıyla başlarsa Sayfa, son içe ve dışa aktarma işlemleri sayfasına bir giriş ekler. Hata durumunda, sayfada bir hata mesajı görüntülenir.

gcloud

Belirli koleksiyon gruplarını dışa aktarmak için --collection-ids işareti. İşlemde yalnızca dışa aktarım belirtilen koleksiyon kimliklerine sahip koleksiyon gruplarını. Koleksiyon grubu, belirtilen koleksiyon kimliğine sahip tüm koleksiyonları ve alt koleksiyonları (herhangi bir yolda) içerir.

gcloud firestore export gs://[BUCKET_NAME] \
--collection-ids=[COLLECTION_ID_1],[COLLECTION_ID_2],[SUBCOLLECTION_ID_1] \
--database=[DATABASE]

Örneğin, foo veritabanında restaurants koleksiyonunu ratings, reviews veya outlets gibi birden çok alt koleksiyon. Belirli koleksiyonları (restaurants ve reviews) dışa aktarmak için komutunuz aşağıdaki gibi görünür:

gcloud firestore export gs://[BUCKET_NAME] \
--collection-ids=restaurants,reviews \
--database='cymbal'

PITR zaman damgasından dışa aktarma

Veritabanınızı PITR verilerinden Cloud Storage hizmetine aktarabilirsiniz gcloud firestore export komutunu kullanabilirsiniz. Zaman damgasının bir tam dakika zaman damgası olduğu durumlarda, PITR verilerini dışa aktarabilirsiniz. yalnızca son yedi gün içindeki earliestVersionTime aralığından önce değil. Veriler artık güncel değilse belirtilen zaman damgasında görünüyorsa dışa aktarma işlemi başarısız olur.

PITR dışa aktarma işlemi, tüm dokümanları dışa aktarma ve belirli koleksiyonları dışa aktarma da dahil olmak üzere tüm filtreleri destekler.

  1. snapshot-time parametresini istenen kurtarma zaman damgasına göre belirterek veritabanını dışa aktarın.

    gcloud

    Veritabanını paketinize aktarmak için aşağıdaki komutu çalıştırın.

    gcloud firestore export gs://[BUCKET_NAME_PATH] \
        --snapshot-time=[PITR_TIMESTAMP] \
        --collection-ids=[COLLECTION_IDS] \
        --namespace-ids=[NAMESPACE_IDS]
    

    Nerede,

    • PITR_TIMESTAMP - dakika ayrıntı düzeyinde bir PITR zaman damgası (örneğin, 2023-05-26T10:20:00.00Z).

    PITR verilerini dışa aktarmadan önce aşağıdaki noktaları göz önünde bulundurun:

    • RFC 3339'da zaman damgasını belirtin biçimindedir. Örneğin, 2020-09-01T23:59:30.234233Z.
    • Belirttiğiniz zaman damgasının tam dakika zaman damgası olduğundan emin olun. son yedi gün içinde, yalnızca earliestVersionTime Veriler belirtilen konumda artık yoksa zaman damgası kullanılırsa bir hata oluşur.
    • Başarısız PITR dışa aktarma işlemi için sizden ücret alınmaz.

Verileri içe aktarma

Dosyalarınızı Cloud Storage üzerinde dışa aktardıktan sonra bu klasörlere aktarabilirsiniz veya başka bir projeye gönderebilirsiniz. Aşağıdaki noktalara dikkat edin içe aktarma işlemleri hakkında:

  • Verileri içe aktardığınızda, gerekli dizinler veritabanınızın mevcut dizin tanımları kullanılarak güncellenir. Dışa aktarma işlemi dizin tanımları içermez.

  • İçe aktarma işlemlerinde yeni doküman kimlikleri atanmaz. İçe aktarma işlemleri, dışa aktarma sırasında yakalanan kimlikleri kullanır. Bir doküman içe aktarılırken kimliği ayrılmış (kimlik çakışmalarını önlemek için) Aynı kimliğe sahip bir doküman zaten varsa mevcut dokümanın üzerine yazar.

  • Veritabanınızdaki bir doküman içe aktarma işleminden etkilenmiyorsa içe aktarma işleminden içe aktarma işleminden sonra veritabanınıza geri yüklenir.

  • İçe aktarma işlemleri Cloud Functions'ı tetiklemez. Anlık görüntü işleyicileri içe aktarma işlemleriyle ilgili güncellemeleri almaz.

  • .overall_export_metadata dosya adı, üst dosyasının adıyla eşleşmelidir. klasör:

    gs://BUCKET_NAME/OPTIONAL_NAMESPACE_PATH/PARENT_FOLDER_NAME/PARENT_FOLDER_NAME.overall_export_metadata

    Dışa aktarma işleminin çıkış dosyalarını taşır veya kopyalarsanız PARENT_FOLDER_NAME ve .overall_export_metadata dosya adlarını aynı tutun.

Dışa aktarmadaki tüm dokümanları içe aktarma

Google Cloud Console

  1. Google Cloud Console'da Veritabanları sayfasına gidin.

    Veritabanlarına git

  2. Veritabanları listesinden gerekli veritabanını seçin.

  3. Gezinme menüsünde İçe/Dışa Aktar'ı tıklayın.

  4. İçe aktar'ı tıklayın.

  5. Dosya adı alanına bir dosyanın adını girin Tamamlanan dışa aktarma işleminden .overall_export_metadata dosya. Dosyayı seçmenize yardımcı olması için Göz at düğmesini kullanabilirsiniz.

  6. İçe aktar'ı tıklayın.

Konsol İçe/Dışa Aktar sayfasına döner. İşlem başarıyla başlarsa sayfa, son içe aktarma ve dışa aktarma sayfasına bir giriş ekler. Hata durumunda, sayfada bir hata mesajı görüntülenir.

gcloud

Birfirestore import önceki dışa aktarma işlemidir.

gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ --database=[DATABASE]

Aşağıdakini değiştirin:

  • BUCKET_NAME/EXPORT_PREFIX: bulunduğunuz konum dışa aktarabilirsiniz.

  • DATABASE: Veritabanının adı. Varsayılan veritabanı için --database='(default)' kullanın.

Örneğin:

gcloud firestore import gs://my-bucket/2017-05-25T23:54:39_76544/ --database='cymbal'

Dışa aktarma dosyalarınızın konumunu Google Cloud Console'da Cloud Storage tarayıcı:

Cloud Storage tarayıcıyı aç

Bir içe aktarma işlemi başlattığınızda, terminalin kapatılması işlemi iptal etme bölümünü inceleyin.

Belirli koleksiyonları içe aktarma

Google Cloud Console

Konsolda belirli koleksiyonları seçemezsiniz. Bunun yerine gcloud politikasını kullanın.

gcloud

Dışa aktarma dosyaları kümesinden belirli koleksiyon gruplarını içe aktarmak için --collection-ids işareti. İşlem yalnızca belirtilen koleksiyon kimliklerine sahip koleksiyon gruplarını içe aktarır. Koleksiyon grubu, belirtilen koleksiyon kimliği. --database kullanarak veritabanı adını belirtin tıklayın. Varsayılan veritabanı için --database='(default)' kullanın.

Yalnızca belirli koleksiyon gruplarının dışa aktarılması belirli koleksiyon gruplarının içe aktarılmasını destekler koleksiyon grupları. Tüm dokümanların dışa aktarılmasından belirli koleksiyonları içe aktaramazsınız.

  gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ \
  --collection-ids=[COLLECTION_ID_1],[COLLECTION_ID_2],[SUBCOLLECTION_ID_1] \
  --database=[DATABASE]

PITR dışa aktarma işlemini içe aktarma

Dışa aktarılan veritabanınızı içe aktarmak için Tüm dokümanları içe aktarma başlıklı makaledeki adımları uygulayın. Veritabanınızda mevcut olan bir belge, üzerine yazılır.

Dışa ve içe aktarma işlemlerini yönetme

Bir dışa veya içe aktarma işlemi başlattığınızda, Cloud Firestore şunları atar: işleme benzersiz bir ad verin. Silmek için işlem adını kullanabilirsiniz, işlemi iptal edebilir veya işlemin durumunu kontrol edebilirsiniz.

İşlem adlarının başında projects/[PROJECT_ID]/databases/(default)/operations/ öneki bulunur, örneğin:

projects/my-project/databases/(default)/operations/ASA1MTAwNDQxNAgadGx1YWZlZAcSeWx0aGdpbi1zYm9qLW5pbWRhEgopEg

Ancak describe, cancel ve delete komutları için bir işlem adı belirtirken ön eki çıkarabilirsiniz.

Tüm dışa ve içe aktarma işlemlerini listeleme

Google Cloud Console

Google Cloud Console'un İçe/Dışa Aktarma sayfasında son dışa aktarma ve içe aktarma işlemlerinin listesini görüntüleyebilirsiniz.

  1. Google Cloud Console'da Veritabanları sayfasına gidin.

    Veritabanlarına git

  2. Veritabanları listesinden gerekli veritabanını seçin.

  3. Gezinme menüsünde İçe/Dışa Aktar'ı tıklayın.

gcloud

operations list komutunu kullanarak tüm çalışan ve yakın zamanda tamamlanan dışa ve içe aktarma işlemleri:

gcloud firestore operations list

İşlem durumunu kontrol et

Google Cloud Console

Son yaptığınız dışa veya içe aktarma işleminin durumunu Google Cloud Console'un İçe/Dışa Aktar sayfasını açın.

  1. Google Cloud Console'da Veritabanları sayfasına gidin.

    Veritabanları'na gidin

  2. Veritabanları listesinden gerekli veritabanını seçin.

  3. Gezinme menüsünde İçe/Dışa Aktar'ı tıklayın.

gcloud

Dışa aktarma işleminin durumunu göstermek için operations describe komutunu kullanma içe aktarma işlemi olabilir.

gcloud firestore operations describe [OPERATION_NAME]

Tamamlanma süresini tahmin etme

Uzun süreli bir işlemin durumuyla ilgili istek, metrikleri döndürür workEstimated ve workCompleted. Bu metriklerin her biri hem bayt sayısı hem de öğe sayısı olarak döndürülür:

  • workEstimated, tahmini toplam bayt ve doküman sayısını gösterir. işlenecek. Cloud Firestore bu metriği atlayabilir. tahmin edemezler.

  • workCompleted, şu ana kadar işlenen bayt ve doküman sayısını gösterir. İşlem tamamlandıktan sonra, değer burada gösterilen tam olarak işlenen bayt ve dokümanların yanı sıra workEstimated değerine ayarlanır.

İlerleme tahmini için workCompleted değerini workEstimated değerine bölün. Gecikmeli istatistik toplama işlemine bağlı olduğu için bu tahmin hatalı olabilir.

İşlemi iptal etme

Google Cloud Console

Devam eden bir dışa aktarma veya içe aktarma işlemini Google Cloud Console'un İçe/Dışa Aktar sayfasını açın.

  1. Google Cloud Console'da Veritabanları sayfasına gidin.

    Veritabanlarına git

  2. Veritabanı listesinden gerekli veritabanını seçin.

  3. Gezinme menüsünde İçe/Dışa Aktarma'yı tıklayın.

Şu anda çalışan Son içe aktarma ve dışa aktarma işlemleri tablosunda işlemlerin Tamamlandı sütununda bir İptal düğmesi bulunur. Önce İşlemi durdurmak için İptal düğmesi. Düğme, İptal ediliyor olarak değişir. mesajını ve ardından işlem tamamen durduğunda Cancelled (İptal edildi) mesajını görürsünüz.

gcloud

Devam eden bir işlemi durdurmak için operations cancel komutunu kullanın:

gcloud firestore operations cancel [OPERATION_NAME]

Çalışmakta olan bir işlemin iptal edilmesi, işlemin geri alınmasına neden olmaz. İptal edilen bir dışa aktarma işlemi, daha önce dışa aktarılan dokümanları Cloud Storage içinde bırakır. İptal edilen bir içe aktarma işlemi ise veritabanınızda daha önce yapılan güncellemeleri olduğu gibi bırakır. Siz kısmen tamamlanmış bir dışa aktarma içe aktarılamıyor.

İşlemi silme

Kaldırmak için gcloud firestore operations delete komutunu kullanın son işlemler listesinden bir işlem. Bu komut, verileri Cloud Storage içinden dosyaları dışa aktarabilirsiniz.

gcloud firestore operations delete [OPERATION_NAME]

İhracat ve ithalat işlemleri için faturalandırma ve fiyatlandırma

Kullanmadan önce Google Cloud projeniz için faturalandırmayı etkinleştirmeniz gerekir yönetilen dışa aktarma ve içe aktarma hizmeti sunar.

İhracat ve içe aktarma işlemleri ücretlendirilir için aşağıdaki fiyatlarda belirtilen fiyatlar üzerinden belge okuma ve yazma işlemleri için: Cloud Firestore fiyatlandırması. Dışa aktarma işlemleri bir okuma gerçekleştirir işlem sayısı. İçe aktarma işlemleri başına bir yazma işlemi uygulanır doküman içe aktarıldı.

Cloud Storage içinde depolanan çıkış dosyaları şuna dahil edilir: Cloud Storage veri depolama maliyetleri.

İhracat ve içe aktarma işlemlerinin maliyetleri harcamanıza dahil edilmez. sınır. Dışa aktarma veya içe aktarma işlemleri tamamlanana kadar Google Cloud bütçe uyarılarınız tetiklenmez. Aynı şekilde, dışa veya içe aktarma işlemi sırasında gerçekleştirilen okuma ve yazma işlemleri, İşlem tamamlandıktan sonra günlük kotanıza. Dışa aktarma ve içe aktarma işlemleri, konsolun kullanım bölümünde gösterilen kullanımı etkilemez.

İhracat ve ithalat maliyetlerini görüntüleme

Dışa ve içe aktarma işlemleri goog-firestoremanaged:exportimport öğesini uygular faturalandırılan işlemlere etiketi ekleyin. Cloud Faturalandırma raporları sayfasında, içe ve dışa aktarma işlemleriyle ilgili maliyetleri görüntülemek için şu etiketi kullanabilirsiniz:

Filtreler menüsünden goog-firestoremanaged etiketine erişin.

BigQuery'ye aktarın

Cloud Firestore dışa aktarma işleminden BigQuery ürününe veri yükleyebilirsiniz. ancak yalnızca bir collection-ids filtresi belirttiyseniz. Görüntüleyin Cloud Firestore dışa aktarma işleminden veri yükleniyor.

BigQuery sütun sınırı

BigQuery,tablo başına 10.000 sütun sınırı uygular. Cloud Firestore dışa aktarma işlemleri, her koleksiyon grubu için bir BigQuery tablo şeması oluşturur. Bu şemada, bir koleksiyon grubu şema sütunu haline gelir.

Bir koleksiyon grubunun BigQuery şeması 10.000 sütunu aşıyorsa Cloud Firestore dışa aktarma işlemi, sütun sınırının altında kalmaya çalışıyor bayt olarak işleyerek. Bu dönüşüm sütun sayısını seçerseniz verileri aşağıdaki sütunlara yükleyebilirsiniz: BigQuery, ancak eşleme alanlarındaki alt alanları sorgulayamazsınız. Sütun sayısı hâlâ 10.000'i aşıyorsa dışa aktarma işlemi koleksiyon grubu için bir BigQuery şeması oluşturur ve siz yükleyemezsiniz BigQuery ürününe gönderir.

Biçim ve meta veri dosyalarını dışa aktarma

Yönetilen dışa aktarma işleminin sonucunda LevelDB günlük biçimi.

Meta veri dosyaları

Dışa aktarma işlemi, her koleksiyon grubu için bir meta veri dosyası oluşturur belirtir. Meta veri dosyaları genellikle ALL_NAMESPACES_KIND_[COLLECTION_GROUP_ID].export_metadata olarak adlandırılır.

Meta veri dosyaları protokol arabellekleridir ve bu dosyaların kodunu protoc protokol derleyici. Örneğin, koleksiyon gruplarını belirlemek için bir meta veri dosyasının kodunu çözebilirsiniz. Dışa aktarma dosyaları şunları içerir:

protoc --decode_raw < export0.export_metadata

Hizmet aracısı taşıma

Cloud Firestore, içe aktarmayı yetkilendirmek için bir Cloud Firestore hizmet aracısı kullanır ve dışa aktarma işlemlerini App Engine hizmet hesabını kullanmak yerine. Hizmet aracısı ve hizmet hesabı aşağıdaki adlandırma kurallarını kullanır:

Cloud Firestore hizmet aracısı
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com

Cloud Firestore daha önce Cloud Firestore hizmet temsilcisi yerine App Engine varsayılan hizmet hesabını kullanıyordu. Veritabanınız App Engine hizmet hesabını kullanarak verileri içe veya dışa aktarmaya devam ediyorsa verilerini taşımak için bu bölümdeki talimatları uygulamanızı Cloud Firestore hizmet aracısını kullanmaya başlar.

App Engine hizmet hesabı
PROJECT_ID@appspot.gserviceaccount.com

Spesifik olduğu için Cloud Firestore hizmet aracısı tercih edilir Cloud Firestore numaralı telefona. App Engine hizmet hesabı paylaşılıyor birden fazla hizmet tarafından işlemesini sağlar.

uyumlu değildir.

Yetkilendirme hesabını görüntüle

İçe ve dışa aktarma işlemlerinizin yetkilendirme için hangi hesabı kullandığını görüntüleyebilirsiniz istekleri için Google Cloud konsolunun İçe/Dışa Aktar sayfasına gidin. Ayrıca transkriptinizi veritabanınız zaten Cloud Firestore kullanıyorsa hizmet temsilcisiyle iletişim kurabilirsiniz.

  1. Google Cloud Console'da Veritabanları sayfasına gidin.

    Veritabanlarına git

  2. Veritabanı listesinden gerekli veritabanını seçin.
  3. Gezinme menüsünde İçe/Dışa Aktar'ı tıklayın.

  4. Şu sayfanın yanındaki yetkilendirme hesabını görüntüleyin: İçe/Dışa aktarma işleri şu şekilde çalışır: etiketi.

Projeniz Cloud Firestore hizmet aracısını kullanmıyorsa aşağıdakilerden birini kullanarak Cloud Firestore hizmet aracısına taşıyabilirsiniz şu teknikleri uygulayın:

Bu tekniklerden ilki tercih edilir çünkü tek bir Cloud Firestore projesine etkisi olur. İkinci teknik ise mevcut Cloud Storage paketini taşımadığı için tercih edilir izin verir. Bununla birlikte, kuruluşta güvenlik uygunluğu sunar. seviyesinde olmalıdır.

Cloud Storage paket izinlerini kontrol edip güncelleyerek taşıyın

Taşıma işlemi iki adımdan oluşur:

  1. Cloud Storage paket izinlerini güncelleyin. Ayrıntılar için aşağıdaki bölüme bakın.
  2. Cloud Firestore hizmet aracısına taşıma işlemini onaylayın.

Hizmet aracısı paket izinleri

Cloud Storage paketi kullanan tüm dışa aktarma veya içe aktarma işlemleri için başka bir proje için Cloud Firestore hizmet aracısına izin vermelisiniz tüm izinleri verebilirsiniz. Örneğin, verileri başka bir cihaza taşıyan işlemler projenin diğer projedeki bir pakete erişmesi gerekir. Aksi takdirde, bu işlemler Cloud Firestore hizmet aracısına taşındıktan sonra başarısız olur.

Aynı proje içinde kalan içe ve dışa aktarma iş akışları gerekli değildir izinlerde yapılan değişiklikler hakkında daha fazla bilgi edinin. Cloud Firestore hizmet aracısı varsayılan olarak aynı projedeki paketlere erişebilir.

service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com hizmet temsilcisine erişim vermek için diğer projelerdeki Cloud Storage paketlerinin izinlerini güncelleyin. Hizmet aracısına Firestore Service Agent rolü verin.

Firestore Service Agent rolü, Cloud Storage paket. Salt okunur veya salt okuma izni vermeniz gerekiyorsa bir özel rol hakkında daha fazla bilgi edinin.

Aşağıdaki bölümde açıklanan taşıma süreci Cloud Storage adlı yeri tanımlamanıza yardımcı olur izin güncellemeleri gerekebilir.

Projeleri Firestore Hizmet Aracısı'na taşıma

App Engine hizmet hesabından veri taşıma işlemini yapmak için aşağıdaki adımları tamamlayın Cloud Firestore hizmet aracısı. Taşıma işlemi tamamlandıktan sonra geri alınamaz.

  1. Google Cloud Console'da Veritabanları sayfasına gidin.

    Veritabanlarına git

  2. Veritabanı listesinden gerekli veritabanını seçin.
  3. Gezinme menüsünde İçe/Dışa Aktar'ı tıklayın.

  4. Projeniz henüz Cloud Firestore hizmetine taşınmadıysa taşıma işlemini açıklayan bir banner görürsünüz ve Paket Durumunu Kontrol Et düğmesi. Bir sonraki adım, proje yöneticisi olarak Olası izin hatalarını düzeltebilirsiniz.

    Paket durumunu kontrol et'i tıklayın.

    Taşıma işlemini tamamlama seçeneğini ve Cloud Storage paketlerinin listesini içeren bir menü açılır. Bu işlem birkaç dakika sürebilir. listenin yüklenmesini tıklayın.

    Bu listede, yakın zamanda içe ve dışa aktarma işlemlerinde kullanılır ancak şu anda okuma ve dışa aktarma işlemleri için Cloud Firestore hizmet aracısına yazma izinleri verir.

  5. Projenizin Cloud Firestore ana adını not edin yapabilirsiniz. Hizmet aracısı adı, Erişim verilecek hizmet aracısı etiketinin altında görünür.
  6. Listede, gelecekteki içe veya dışa aktarma işlemleri için kullanacağınız tüm paketler için aşağıdaki adımları uygulayın:

    1. Bu paketin tablo satırında Düzelt'i tıklayın. Bu işlem, paketin izinler sayfasını yeni bir sekmede açar.

    2. Ekle'yi tıklayın.
    3. Yeni ana hesaplar alanına Cloud Firestore hizmet aracısı.
    4. Rol seçin alanında Hizmet Aracıları > Firestore Hizmet Aracısı.
    5. Kaydet'i tıklayın.
    6. Cloud Firestore İçe/Dışa Aktar sayfasının bulunduğu sekmeye dönün.
    7. Bu adımları listedeki diğer paketler için tekrarlayın. Görüntüledikten sonra, listenin tüm sayfalarında yer alır.
  7. Firestore Hizmet Temsilcisi'ne taşı'yı tıklayın. Şu durumda: hâlâ başarısız izin kontrolü olan paketleriniz varsa Taşı'yı tıklayarak taşıma işleminizi onaylamanız gerekir.

    Taşıma işleminiz tamamlandığında bir uyarı alırsınız. Taşıma işlemi geri alındı.

Taşıma durumunu görüntüleme

Projenizin taşıma durumunu doğrulamak için:

  1. Google Cloud Console'da Veritabanları sayfasına gidin.

    Veritabanlarına git

  2. Veritabanı listesinden gerekli veritabanını seçin.
  3. Gezinme menüsünde İçe/Dışa Aktar'ı tıklayın.

  4. İçe/dışa aktarma işleri şu şekilde çalıştırılır: etiketinin yanındaki yöneticiyi bulun.

    Ana hesap service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com ise projeniz zaten Cloud Firestore hizmet temsilcisiyle iletişim kurabilirsiniz. Taşıma işlemi geri alınamaz.

    Proje taşınmadıysa sayfanın üst kısmında bir banner gösterilir Paket Durumunu Kontrol Et düğmesiyle. Taşıma işlemini tamamlamak için Firestore hizmet temsilcisine taşıma başlıklı makaleyi inceleyin.

Kuruluş genelinde bir politika kısıtlaması ekleyin

  • Kuruluşunuzun politikasında aşağıdaki kısıtlamayı ayarlayın:

    İçe/dışa aktarma için Firestore Hizmet Aracısı'nı zorunlu kıl (firestore.requireP4SAforImportExport).

    Bu kısıtlama, içe ve dışa aktarma işlemlerinin istekleri yetkilendirmek için Cloud Firestore hizmet aracısını kullanmasını gerektirir. Bu kısıtlamayı ayarlamak için bkz. Kuruluş politikaları oluşturma ve yönetme ziyaret edin.

Bu kuruluş politikası kısıtlaması uygulandığında için uygun Cloud Storage paket izinleri Cloud Firestore hizmet aracısı.

Kısıtlama, herhangi bir içe veya dışa aktarma iş akışı için izin hataları oluşturuyorsa devre dışı bırakarak varsayılan hizmet hesabını kullanmaya geri dönebilirsiniz. Cloud Storage paketi kontrol edip güncelledikten sonra izin seçeneğini belirlerseniz kısıtlamayı tekrar etkinleştirebilirsiniz.