Veritabanlarını yönetin

Bu sayfada Cloud Firestore veritabanlarının nasıl oluşturulacağı, güncelleneceği ve silineceği açıklanmaktadır. Proje başına birden fazla Cloud Firestore veritabanı oluşturabilirsiniz. Üretim ve test ortamlarını ayarlamak, müşteri verilerini izole etmek ve verileri bölgeselleştirmek için birden fazla veritabanı kullanabilirsiniz.

(default) veritabanı

Uygulamanız birden fazla veritabanı gerektirmiyorsa (default) veritabanını kullanın.

Bir veritabanı belirtmezseniz Cloud Firestore istemci kitaplıkları ve Google Cloud CLI, varsayılan olarak (default) veritabanına bağlanır.

Ücretsiz kotayı yalnızca (default) veritabanıyla kullanabilirsiniz.

Gerekli roller

Veritabanları oluşturmak ve yönetmek için Owner veya Datastore Owner Kimliği ve Erişim Yönetimi rolüne ihtiyacınız vardır. Bu roller gerekli izinleri verir.

Gerekli izinler

Veritabanlarını yönetmek için aşağıdaki izinlere ihtiyacınız vardır:

  • Bir veritabanı oluşturun: datastore.databases.create
  • Veritabanı yapılandırmasını okuyun: datastore.databases.getMetadata
  • Bir veritabanı yapılandırın: datastore.databases.update
  • Bir veritabanını silin: datastore.databases.delete

Veritabanı oluştur

Veritabanı oluşturmak için aşağıdaki yöntemlerden birini kullanın:

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

    Veritabanlarına Git

  2. Veritabanı Oluştur'u tıklayın.
  3. Bir veritabanı modu seçin. Devam'ı tıklayın
  4. Veritabanınızı yapılandırın. Bir Veritabanı Kimliği girin. Bir konum seçin. Veritabanı Oluştur'u tıklayın.
gcloud

gcloud alpha firestore databases create komutunu kullanın.

gcloud alpha firestore databases create \
--database=DATABASE_ID \
--location=LOCATION \
--type=DATABASE_TYPE \
[--delete-protection]

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

--delete-protection silme korumasını etkinleştirmek için kullanılan isteğe bağlı bir bayraktır. Bu ayarı devre dışı bırakmadığınız sürece, silme koruması etkinleştirilmiş bir veritabanını silemezsiniz. Bu ayar varsayılan olarak devre dışıdır.

Firebase CLI
firebase firestore:databases:create DATABASE_ID \
--location=LOCATION \
[--delete-protection DELETE_PROTECTION_ENABLEMENT]

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

--delete-protection silme korumasını etkinleştirmek için isteğe bağlı bir bağımsız değişkendir. Bu ayarı devre dışı bırakmadığınız sürece, silme koruması etkinleştirilmiş bir veritabanını silemezsiniz. Bu ayar varsayılan olarak devre dışıdır.

Terraform
resource "google_firestore_database" "database" {
  project     = "project-id"
  name        = DATABASE_ID
  location_id = LOCATION
  type        = DATABASE_TYPE

  // Optional
  delete_protection_state = DELETE_PROTECTION_STATE
}

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

delete_protection_state , silme korumasını etkinleştirmek için isteğe bağlı bir bağımsız değişkendir. Bu ayarı devre dışı bırakmadığınız sürece, silme koruması etkinleştirilmiş bir veritabanını silemezsiniz. Bu ayar varsayılan olarak devre dışıdır.

Veritabanı Kimliği

Geçerli veritabanı kimlikleri (default) ve aşağıdakilere uyan kimlikleri içerir:

  • Yalnızca harf, sayı ve kısa çizgi ( - ) karakterlerini içerir.
  • Harfler küçük harf olmalıdır.
  • İlk karakter bir harf olmak zorunda.
  • Son karakter bir harf veya rakam olmalıdır.
  • Minimum 4 karakter.
  • Maksimum 63 karakter.
  • UUID olmamalı veya UUID'ye benzememelidir. Örneğin f47ac10b-58cc-0372-8567-0e02b2c3d479 gibi bir kimlik kullanmayın.

Bir veritabanını silerseniz, 5 dakika geçene kadar veritabanı kimliğini hemen yeniden kullanamazsınız.

Korumayı sil

Bir veritabanının yanlışlıkla silinmesini önlemek için silme korumasını kullanın. Silme korumasını devre dışı bırakana kadar, silme koruması etkinleştirilmiş bir veritabanını silemezsiniz. Silme koruması varsayılan olarak devre dışıdır. Veritabanını oluşturduğunuzda silme korumasını etkinleştirebilir veya silme korumasını etkinleştirmek için veritabanı yapılandırmasını güncelleyebilirsiniz .

Veritabanlarınız için Cloud Firestore Güvenlik Kurallarını ayarlayın

Cloud Firestore Güvenlik Kurallarını veritabanlarınızın her birine dağıtmak için Firebase CLI'yi kullanın. Cloud Firestore Güvenlik Kurallarını yönetme ve dağıtma kılavuzuna bakın.

İstemci kitaplığıyla adlandırılmış bir veritabanına erişme

Adlandırılmış bir veritabanı, adlandırılmamış (default) herhangi bir veritabanını içerir. Varsayılan olarak Firebase SDK'ları ve Google API İstemci Kitaplıkları, bir projedeki (default) Cloud Firestore veritabanına bağlanır. Adlandırılmış bir veritabanına bağlı bir istemci oluşturmak için, bir istemciyi başlattığınızda veritabanı kimliğini ayarlayın.

Veritabanlarını listeleme

Veritabanlarınızı listelemek için aşağıdaki yöntemlerden birini kullanın:

Konsol

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

Veritabanlarına Git

gcloud

Projenizdeki tüm veritabanlarını listelemek için gcloud firestore databases list komutunu kullanın.

gcloud firestore databases list

Veritabanı ayrıntılarını görüntüle

Tek bir veritabanıyla ilgili ayrıntıları görüntülemek için gcloud firestore databases describe komutunu kullanın:

gcloud
gcloud firestore databases describe --database=DATABASE_ID

DATABASE_ID bir veritabanı kimliğiyle değiştirin.

Veritabanı yapılandırmasını güncelle

Bir veritabanının yapılandırma ayarlarını güncellemek için gcloud alpha firestore databases update komutunu kullanın. Silme korumasını etkinleştirmek veya devre dışı bırakmak için değişiklik yapmak için bu komutu kullanın.

Silme koruması ayarını güncelleyin

Bir veritabanında silme korumasını etkinleştirmek için gcloud alpha firestore databases update komutunu --delete-protection bayrağıyla birlikte kullanın. Örneğin:

gcloud
gcloud alpha firestore databases update --database=DATABASE_ID --delete-protection

DATABASE_ID bir veritabanı kimliğiyle değiştirin.

Bir veritabanında silme korumasını devre dışı bırakmak için gcloud alpha firestore databases update komutunu --no-delete-protection bayrağıyla birlikte kullanın. Örneğin:

gcloud
gcloud alpha firestore databases update --database=DATABASE_ID --no-delete-protection

DATABASE_ID bir veritabanı kimliğiyle değiştirin.

Veritabanını silme

Bir veritabanını silmek için konsolu veya komut satırı aracını kullanın.

Veritabanında silme koruması ayarı etkinse, önce silme korumasını devre dışı bırakmanız gerekir.

Veritabanında App Engine arama verileri veya blob varlıkları bulunuyorsa öncelikle bu verileri silmelisiniz.

Bir veritabanının silinmesi, o veritabanına ilişkin herhangi bir Eventarc tetikleyicisinin otomatik olarak silinmesine neden olmaz. Tetikleyici, etkinliklerin yayınlanmasını durdurur ancak siz tetikleyiciyi silene kadar varlığını sürdürür.

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

    Veritabanlarına Git

  2. Silmek istediğiniz veritabanı için tablo satırında Daha fazlasını görüntüle'ye tıklayın. Sil'i tıklayın. Bir diyalog belirir.
  3. Sil veritabanında mı? iletişim kutusunda, metin alanına veritabanı kimliğini yazarak silme işlemini onaylayın. Sil'i tıklayın. Konsol sizi işlemin başarısı veya başarısızlığı konusunda bilgilendirir.

    İşlem başarısız olursa veritabanı ayrıntılarını görüntüleyin ve silme korumasının devre dışı bırakıldığını doğrulayın. Silme korumasını devre dışı bırakmak için bkz. Silme koruması ayarını güncelleme .

gcloud

"gcloud alpha firestore veritabanlarını sil" komutunu kullanın.

gcloud alpha firestore databases delete --database=DATABASE_ID

DATABASE_ID silinecek veritabanının kimliğiyle değiştirin.

Veritabanı başına erişim izinlerini yapılandırma

Veritabanı bazında erişim izinlerini yapılandırmak için Kimlik ve Erişim Yönetimi Koşullarını kullanabilirsiniz. Aşağıdaki örneklerde, bir veya daha fazla veritabanına koşullu erişim atamak için Google Cloud CLI kullanılmaktadır. IAM koşullarını GCP Konsolunda da tanımlayabilirsiniz .

Mevcut IAM politikalarını görüntüleyin

gcloud projects get-iam-policy PROJECT_ID

PROJECT_ID proje kimliğiniz olarak ayarlayın.

Bir veritabanına erişim izni verme

gcloud projects add-iam-policy-binding PROJECT_ID \
--member='user:EMAIL' \
--role='roles/datastore.user' \
--condition='expression=resource.name=="projects/PROJECT_ID/databases/DATABASE_ID",title=TITLE,description=DESCRIPTION'

Aşağıdakileri ayarlayın:

  • PROJECT_ID : proje kimliğiniz
  • EMAIL : belirli bir Google hesabını temsil eden bir e-posta adresi. Örneğin, alice@example.com .
  • DATABASE_ID : bir veritabanı kimliği.
  • TITLE : ifade için isteğe bağlı bir başlık.
  • DESCRIPTION : ifadenin isteğe bağlı açıklaması.

Bir veritabanı dışında tümüne erişim izni ver

gcloud projects add-iam-policy-binding PROJECT_ID \
--member='user:EMAIL' \
--role='roles/datastore.user' \
--condition='expression=resource.name!="projects/PROJECT_ID/databases/DATABASE_ID",title=TITLE,description=DESCRIPTION'

Aşağıdakileri ayarlayın:

  • PROJECT_ID : proje kimliğiniz
  • EMAIL : belirli bir Google hesabını temsil eden bir e-posta adresi. Örneğin, alice@example.com .
  • DATABASE_ID : bir veritabanı kimliği.
  • TITLE : ifade için isteğe bağlı bir başlık.
  • DESCRIPTION : ifadenin isteğe bağlı açıklaması.

Belirli bir üye ve rol için politikaları kaldırın

gcloud projects remove-iam-policy-binding PROJECT_ID \
--member='user:EMAIL' \
--role='roles/datastore.user' --all

Aşağıdakileri ayarlayın:

  • PROJECT_ID : proje kimliğiniz
  • EMAIL : belirli bir Google hesabını temsil eden bir e-posta adresi. Örneğin, alice@example.com .

Bulut İzleme

Cloud Firestore ölçümleri, izlenen iki kaynak altında raporlanır.

firestore.googleapis.com/Database adresine bakarak toplu metrikleri veritabanı düzeyinde inceleyebilirsiniz. firestore_instance altında rapor edilen ölçümler proje düzeyinde toplanır.

Sınırlamalar

Sıradaki ne