فقط مربوط به Cloud Firestore Enterprise edition. |
این صفحه نحوه ایجاد، بهروزرسانی و حذف Cloud Firestore با پایگاههای داده سازگاری MongoDB را شرح میدهد. شما می توانید چندین پایگاه داده Cloud Firestore در هر پروژه ایجاد کنید. میتوانید از پایگاههای اطلاعاتی متعدد برای راهاندازی محیطهای تولید و آزمایش، جداسازی دادههای مشتری و منطقهبندی دادهها استفاده کنید.
استفاده از لایه رایگان
Cloud Firestore سطح رایگانی را ارائه می دهد که به شما امکان می دهد بدون هزینه شروع کنید.
سطح رایگان فقط برای یک پایگاه داده Cloud Firestore در هر پروژه اعمال می شود. اولین پایگاه داده ای که در یک پروژه بدون پایگاه داده لایه آزاد ایجاد می شود، ردیف رایگان را دریافت می کند. اگر پایگاه داده با لایه آزاد اعمال شده حذف شود، پایگاه داده بعدی ایجاد شده، ردیف رایگان را دریافت می کند.
قبل از شروع
قبل از ایجاد پایگاه داده باید موارد زیر را تکمیل کنید:
اگر قبلاً این کار را نکردهاید، یک پروژه Firebase ایجاد کنید: در کنسول Firebase ، روی افزودن پروژه کلیک کنید، سپس دستورالعملهای روی صفحه را برای ایجاد یک پروژه Firebase یا افزودن خدمات Firebase به پروژه Google Cloud موجود دنبال کنید.
- همانطور که در بخش بعدی توضیح داده شد، نقش های مدیریت هویت و دسترسی مناسب را تعیین کنید.
نقش های مورد نیاز
برای ایجاد و مدیریت پایگاه های داده، به نقش Owner
یا Datastore Owner
Identity and Access Management نیاز دارید. این نقش ها مجوزهای لازم را می دهند.
مجوزهای مورد نیاز
برای مدیریت پایگاه های داده، به مجوزهای زیر نیاز دارید:
- ایجاد پایگاه داده:
datastore.databases.create
- پیکربندی پایگاه داده را بخوانید:
datastore.databases.getMetadata
- پایگاه داده را پیکربندی کنید:
datastore.databases.update
- دیتابیس را حذف کنید:
datastore.databases.delete
- شبیه سازی پایگاه داده:
datastore.databases.clone
یک پایگاه داده ایجاد کنید
برای ایجاد یک Cloud Firestore با پایگاه داده سازگاری MongoDB، از یکی از روش های زیر استفاده کنید:
کنسول Firebase
در کنسول Firebase ، به صفحه Firestore Database بروید.
- روی ایجاد پایگاه داده کلیک کنید.
- نسخه Enterprise را انتخاب کنید. روی Next کلیک کنید.
- شناسه پایگاه داده را وارد کنید.
- مکانی را برای پایگاه داده خود انتخاب کنید.
- پایگاه داده خود را در جایی که حالتی را انتخاب می کنید پیکربندی کنید.
- روی ایجاد کلیک کنید.
Firebase CLI
firebase firestore:databases:create --edition EDITION DATABASE_ID \ --location=LOCATION
gcloud CLI
gcloud firestore databases create
دستور و تنظیم --edition=enterprise
استفاده کنید.
gcloud firestore databases create \ --database=DATABASE_ID \ --location=LOCATION \ --edition=enterprise
موارد زیر را جایگزین کنید:
- DATABASE_ID : شناسه پایگاه داده معتبر .
- LOCATION : نام یک Cloud Firestore با سازگاری MongoDB با چند منطقه یا منطقه .
برای فعال کردن حفاظت حذف، پرچم --delete-protection
را اضافه کنید. تا زمانی که این تنظیم را غیرفعال نکنید، نمیتوانید پایگاه دادهای را که محافظت از حذف فعال است حذف کنید. این تنظیم به طور پیش فرض غیرفعال است.
gcloud firestore databases create \ --database=DATABASE_ID \ --location=LOCATION \ --edition=enterprise \ --delete-protection
برای افزودن برچسب به پایگاه داده، از پرچم --tags
استفاده کنید. به عنوان مثال:
-
--tags=123/environment=production,123/costCenter=marketing
-
--tags=tagKeys/333=tagValues/444
Terraform
از منبع google_firestore_database
استفاده کنید و database_edition
روی ENTERPRISE
تنظیم کنید
resource "google_firestore_database" "database" { name = "DATABASE_ID" location_id = "LOCATION" type = "FIRESTORE_NATIVE" database_edition = "ENTERPRISE" // Optional delete_protection_state = "DELETE_PROTECTION_STATE" }
موارد زیر را جایگزین کنید:
- DATABASE_ID : شناسه پایگاه داده معتبر .
- LOCATION : نام یک Cloud Firestore با سازگاری MongoDB با چند منطقه یا منطقه .
- DELETE_PROTECTION_ENABLEMENT : یا
DELETE_PROTECTION_ENABLED
یاDELETE_PROTECTION_DISABLED
.
برای فعال کردن حفاظت حذف، delete_protection_state
را روی DELETE_PROTECTION_ENABLED
تنظیم کنید. تا زمانی که این تنظیم را غیرفعال نکنید، نمیتوانید پایگاه دادهای را که محافظت از حذف فعال است حذف کنید. این تنظیم به طور پیش فرض غیرفعال است.
شناسه پایگاه داده
شناسه های پایگاه داده معتبر شامل شناسه هایی هستند که با موارد زیر مطابقت دارند:
- فقط شامل حروف، اعداد و کاراکترهای خط فاصله (
-
) است. - حروف باید کوچک باشند.
- کاراکتر اول باید یک حرف باشد.
- آخرین کاراکتر باید یک حرف یا عدد باشد.
- حداقل 4 کاراکتر
- حداکثر 63 کاراکتر.
- نباید UUID یا شبیه UUID باشد. به عنوان مثال، از شناسه ای مانند
f47ac10b-58cc-0372-8567-0e02b2c3d479
استفاده نکنید.
اگر پایگاه داده ای را حذف کنید، نمی توانید بلافاصله پس از 5 دقیقه از شناسه پایگاه داده دوباره استفاده کنید.
حفاظت را حذف کنید
برای جلوگیری از حذف تصادفی پایگاه داده، از حفاظت حذف استفاده کنید. حفاظت حذف به روش زیر عمل می کند:
- تا زمانی که محافظت حذف را غیرفعال نکنید، نمیتوانید پایگاه دادهای را که محافظت حذف فعال است حذف کنید.
- حفاظت حذف به طور پیش فرض غیرفعال است.
- هنگام ایجاد پایگاه داده میتوانید حفاظت حذف را فعال کنید یا میتوانید پیکربندی پایگاه داده را برای فعال کردن حفاظت حذف بهروزرسانی کنید .
فهرست پایگاه های داده
از یکی از روش های زیر برای فهرست کردن پایگاه های داده خود استفاده کنید:
کنسول Firebase
در کنسول Firebase ، به صفحه Firestore Database بروید.
- برای مشاهده تمام پایگاه های داده پروژه، روی Cloud Firestore کلیک کنید.
gcloud CLI
از دستور gcloud firestore databases list
برای فهرست کردن تمام پایگاه های داده پروژه خود استفاده کنید.
gcloud firestore databases list
مشاهده جزئیات پایگاه داده
برای مشاهده جزئیات یک پایگاه داده، از یکی از روش های زیر استفاده کنید:
کنسول Firebase
در کنسول Firebase ، به صفحه Firestore Database بروید.
- یک پایگاه داده را از لیست پایگاه های داده انتخاب کنید.
gcloud CLI
از دستور gcloud firestore databases describe
استفاده کنید:
gcloud firestore databases describe --database=DATABASE_ID
DATABASE_ID با شناسه پایگاه داده جایگزین کنید.
پیکربندی پایگاه داده را به روز کنید
برای به روز رسانی تنظیمات پیکربندی یک پایگاه داده، از دستور gcloud firestore databases update
استفاده کنید.
از این دستور برای تغییر، فعال یا غیرفعال کردن حفاظت حذف استفاده کنید.
تنظیمات حفاظت حذف را به روز کنید
برای فعال کردن محافظت از حذف در پایگاه داده، از دستور gcloud firestore databases update
با پرچم --delete-protection
استفاده کنید. به عنوان مثال:
gcloud CLI
gcloud firestore databases update --database=DATABASE_ID --delete-protection
DATABASE_ID با شناسه پایگاه داده جایگزین کنید.
برای غیرفعال کردن حفاظت حذف در پایگاه داده، از دستور gcloud firestore databases update
با پرچم --no-delete-protection
استفاده کنید. به عنوان مثال:
gcloud CLI
gcloud firestore databases update --database=DATABASE_ID --no-delete-protection
DATABASE_ID با شناسه پایگاه داده جایگزین کنید.
دیتابیس را حذف کنید
برای حذف پایگاه داده، از کنسول یا ابزار خط فرمان استفاده کنید. حذف پایگاه داده هزینه ای برای عملیات حذف ندارد.
اگر تنظیمات حفاظت حذف در پایگاه داده فعال باشد، ابتدا باید حفاظت حذف را غیرفعال کنید .
کنسول Firebase
در کنسول Firebase ، به صفحه Firestore Database بروید.
- پایگاه داده ای را که می خواهید حذف کنید انتخاب کنید.
- مشاهده بیشتر کلیک کنید.
- برای حذف پایگاه داده روی Delete کلیک کنید.
gcloud CLI
از دستور «حذف پایگاهدادههای firestore gcloud» استفاده کنید.
gcloud firestore databases delete --database=DATABASE_ID
برای حذف DATABASE_ID با شناسه پایگاه داده جایگزین کنید.
یک پایگاه داده را شبیه سازی کنید
می توانید یک پایگاه داده موجود را در یک مهر زمانی انتخاب شده در یک پایگاه داده جدید کلون کنید:
پایگاه داده کلون شده یک پایگاه داده جدید است که در همان مکان پایگاه داده منبع ایجاد می شود.
برای ایجاد یک کلون، Cloud Firestore از داده های بازیابی نقطه در زمان (PITR) پایگاه داده منبع استفاده می کند. پایگاه داده شبیه سازی شده شامل تمام داده ها و فهرست ها می باشد.
به طور پیشفرض، پایگاه داده شبیهسازیشده به همان روشی که پایگاه داده منبع با استفاده از رمزگذاری پیشفرض Google یا رمزگذاری CMEK رمزگذاری میشود. می توانید نوع رمزگذاری متفاوتی را مشخص کنید یا از کلید دیگری برای رمزگذاری CMEK استفاده کنید.
مُهر زمان دارای جزئیات یک دقیقه است و یک نقطه زمانی را در گذشته، در بازه زمانی تعریف شده توسط پنجره PITR مشخص می کند:
- اگر PITR برای پایگاه داده شما فعال باشد، هر دقیقه را در 7 روز گذشته انتخاب می کنید (یا کمتر اگر PITR کمتر از 7 روز پیش فعال شده باشد).
- اگر PITR فعال نیست، میتوانید هر دقیقه را در ساعت گذشته انتخاب کنید.
- می توانید اولین مهر زمانی را که می توانید در توضیحات پایگاه داده خود انتخاب کنید، بررسی کنید.
کنسول
در کنسول Google Cloud، به صفحه پایگاه داده بروید.
روی
روی مشاهده بیشتر در ردیف جدول پایگاه داده ای که می خواهید کلون کنید کلیک کنید. روی Clone کلیک کنید. کادر گفتگوی Create a clone ظاهر می شود.در گفتگوی Create a clone ، پارامترهایی را برای شبیه سازی پایگاه داده ارائه کنید:
در قسمت Give the clone an ID ، شناسه پایگاه داده برای پایگاه داده کلون شده جدید. این شناسه پایگاه داده نباید با پایگاه داده موجود مرتبط باشد.
در قسمت Clone from ، یک نقطه از زمان را برای استفاده برای شبیه سازی انتخاب کنید. زمان انتخاب شده مطابق با یک مهر زمانی PITR، در دانه بندی دقیقه است.
روی ایجاد کلون کلیک کنید.
gcloud
از دستور gcloud alpha firestore databases clone
برای شبیه سازی پایگاه داده استفاده کنید:
gcloud alpha firestore databases clone \
--source-database='SOURCE_DATABASE' \
--snapshot-time='PITR_TIMESTAMP' \
--destination-database='DESTINATION_DATABASE_ID'
موارد زیر را جایگزین کنید:
SOURCE_DATABASE : نام پایگاه داده یک پایگاه داده موجود که می خواهید شبیه سازی کنید. این نام از قالب
projects/ PROJECT_ID /databases/ SOURCE_DATABASE_ID
استفاده می کند.PITR_TIMESTAMP : یک مهر زمانی PITR در قالب RFC 3339 ، با جزئیات دقیقه. به عنوان مثال:
2025-06-01T10:20:00.00Z
یا2025-06-01T10:30:00.00-07:00
.DESTINATION_DATABASE_ID : شناسه پایگاه داده برای پایگاه داده کلون شده جدید. این شناسه پایگاه داده نباید با پایگاه داده موجود مرتبط باشد.
مثال:
gcloud alpha firestore databases clone \
--source-database='projects/example-project/databases/(default)' \
--snapshot-time='2025-06-01T10:20:00.00Z' \
--destination-database='projects/example-project/databases/example-dest-db'
پیکربندی رمزگذاری پایگاه داده کلون شده را تغییر دهید
بهطور پیشفرض، پایگاه داده شبیهسازیشده همان پیکربندی رمزگذاری شده را با پایگاه داده منبع خواهد داشت. برای تغییر پیکربندی رمزگذاری، از آرگومان --encryption-type
استفاده کنید:
- (پیشفرض)
use-source-encryption
: از همان پیکربندی رمزگذاری پایگاه داده منبع استفاده کنید. -
google-default-encryption
: از رمزگذاری پیش فرض Google استفاده کنید. -
customer-managed-encryption
: از رمزگذاری CMEK استفاده کنید. شناسه کلید را در آرگومان--kms-key-name
مشخص کنید.
مثال زیر نحوه پیکربندی رمزگذاری CMEK برای پایگاه داده کلون شده را نشان می دهد:
gcloud alpha firestore databases clone \
--source-database='projects/example-project/databases/(default)' \
--snapshot-time='2025-06-01T10:20:00.00Z' \
--destination-database='projects/example-project/databases/example-dest-db' \
--encryption-type='customer-managed-encryption' \
--kms-key-name='projects/example-project/locations/us-central1/keyRings/example-key-ring/cryptoKeys/example-key'
مجوزهای دسترسی به هر پایگاه داده را پیکربندی کنید
می توانید از شرایط مدیریت هویت و دسترسی برای پیکربندی مجوزهای دسترسی در سطح هر پایگاه داده استفاده کنید. مثالهای زیر از Google Cloud CLI برای اختصاص دسترسی مشروط به یک یا چند پایگاه داده استفاده میکنند. همچنین میتوانید شرایط IAM را در کنسول Google Cloud تعریف کنید .
سیاست های موجود IAM را مشاهده کنید
gcloud projects get-iam-policy PROJECT_ID
PROJECT_ID
را روی شناسه پروژه خود تنظیم کنید.
اجازه دسترسی به پایگاه داده
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'
موارد زیر را تنظیم کنید:
-
PROJECT_ID
: شناسه پروژه شما -
EMAIL
: یک آدرس ایمیل که نشان دهنده یک حساب خاص است. به عنوان مثال،alice@example.com
. -
DATABASE_ID
: شناسه پایگاه داده. -
TITLE
: عنوان اختیاری برای عبارت. -
DESCRIPTION
: شرح اختیاری عبارت.
اجازه دسترسی به همه به جز یک پایگاه داده
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'
موارد زیر را تنظیم کنید:
-
PROJECT_ID
: شناسه پروژه شما -
EMAIL
: یک آدرس ایمیل که نشان دهنده یک حساب خاص است. به عنوان مثال،alice@example.com
. -
DATABASE_ID
: شناسه پایگاه داده. -
TITLE
: عنوان اختیاری برای عبارت. -
DESCRIPTION
: شرح اختیاری عبارت.
خطمشیها را برای یک عضو و نقش مشخص حذف کنید
gcloud projects remove-iam-policy-binding PROJECT_ID \
--member='user:EMAIL' \
--role='roles/datastore.user' --all
موارد زیر را تنظیم کنید:
-
PROJECT_ID
: شناسه پروژه شما -
EMAIL
: یک آدرس ایمیل که نشان دهنده یک حساب خاص است. به عنوان مثال،alice@example.com
.
محدودیت ها
شما می توانید حداکثر 100 پایگاه داده در هر پروژه داشته باشید. برای درخواست افزایش تا این حد می توانید با پشتیبانی تماس بگیرید .
بعدش چی
- اجرای Quickstart: یک پایگاه داده ایجاد کنید و به آن متصل شوید .
- درباره تفاوت های رفتاری بیاموزید.
- با معیارهای Cloud Monitoring برای Cloud Firestore با سازگاری MongoDB آشنا شوید.