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.
(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
Google Cloud Platform Console'da Veritabanları sayfasına gidin.
- Veritabanı Oluştur'u tıklayın.
- Bir veritabanı modu seçin. Devam'ı tıklayın
- 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:
- DATABASE_ID : geçerli bir veritabanı kimliği .
- LOCATION : Cloud Firestore çoklu bölgesinin veya bölgesinin adı.
- DATABASE_TYPE : Yerel mod için
firestore-native
veya Datastore modu için datastore-mode.
--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:
- DATABASE_ID : geçerli bir veritabanı kimliği .
- LOCATION : Cloud Firestore çoklu bölgesinin veya bölgesinin adı.
- DELETE_PROTECTION_ENABLEMENT :
ENABLED
veyaDISABLED
. Oluşturulan veritabanı her zaman Firestore Native modundadır.
--delete-protection
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:
- DATABASE_ID : geçerli bir veritabanı kimliği .
- LOCATION : Cloud Firestore çoklu bölgesinin veya bölgesinin adı.
- DATABASE_TYPE : Yerel mod için
FIRESTORE_NATIVE
veya Datastore modu içinDATASTORE_MODE
. - DELETE_PROTECTION_ENABLEMENT :
DELETE_PROTECTION_ENABLED
veyaDELETE_PROTECTION_DISABLED
.
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.
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
Google Cloud Platform Console'da Veritabanları sayfasına gidin.
- 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.
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
- Proje başına en fazla 100 veritabanınız olabilir. Bu limitin artırılmasını talep etmek için destek ekibiyle iletişime geçebilirsiniz.
- Herhangi bir GAE arama verisi ve/veya blob varlığı içeriyorsa veritabanınızı silemezsiniz. Lütfen GAE arama verilerini silmek için indeks silme API'sini ve Blobstore verilerini silmek için Blobstore silme API'sini kullanın.
- Silme işleminin gerçekleşmesinden 5 dakika sonrasına kadar bir veritabanı kimliğini yeniden kullanamazsınız.
- Cloud Function v1, Firestore Adlandırılmış veritabanlarını desteklemez. Adlandırılmış veritabanlarına yönelik etkinlikleri yapılandırmak için lütfen Cloud Firestore Tetikleyicilerini (2. Nesil) kullanın.
- Firestore işlev tetikleyicileri v1 ve Firestore olay tetikleyicileri , aynı adla yeni bir veritabanı oluşturulsa bile veritabanı silindikten sonra çalışmayı durdurabilir.