এই পৃষ্ঠায় Cloud Firestore ডেটাবেস কীভাবে তৈরি, আপডেট ও মুছে ফেলতে হয় তা বর্ণনা করা হয়েছে। আপনি প্রোজেক্ট পিছু একাধিক Cloud Firestore ডেটাবেস তৈরি করতে পারবেন। আপনি প্রোডাকশন ও টেস্টিং এনভায়রনমেন্ট সেট-আপ করতে, গ্রাহক ডেটা আলাদা করতে এবং ডেটা রিজিওনালাইজেশনের জন্য একাধিক ডেটাবেস ব্যবহার করতে পারবেন।
প্রয়োজনীয় ভূমিকা ও অনুমতি
ডেটাবেস তৈরি ও ম্যানেজ করতে, আপনার নিম্নলিখিত আইডেন্টিটি ও অ্যাক্সেস ম্যানেজমেন্ট ভূমিকা থাকতে হবে:
- Cloud Datastore-এর মালিক
(
roles/datastore.owner)
এই ভূমিকা আপনাকে ডেটাবেস তৈরি ও ম্যানেজ করার জন্য প্রয়োজনীয় নিম্নলিখিত অনুমতি প্রদান করে:
- ডেটাবেস তৈরি করুন:
datastore.databases.create - ডেটাবেস কনফিগারেশন পড়ুন:
datastore.databases.getMetadata - ডেটাবেস কনফিগার করুন:
datastore.databases.update - ডেটাবেস মুছুন:
datastore.databases.delete - ডেটাবেস ক্লোন করুন:
datastore.databases.clone
একটি ডেটাবেস তৈরি করুন
ডেটাবেস তৈরি করতে, নিম্নলিখিত পদ্ধতিগুলির মধ্যে একটি ব্যবহার করুন:
কনসোল
Firebase কনসোল
-
Firebase কনসোলে, ডেটাবেস ও স্টোরেজ > Firestore বিকল্পে যান।
- ডেটাবেস যোগ করুন বিকল্পে ক্লিক করুন।
- স্ট্যান্ডার্ড এডিশন বেছে নিন। পরবর্তী বিকল্পে ক্লিক করুন।
- ডেটাবেসের আইডি লিখুন।
- আপনার ডেটাবেসের জন্য লোকেশন বেছে নিন। পরবর্তী বিকল্পে ক্লিক করুন।
-
আপনার Cloud Firestore Security Rules-এর জন্য শুরুর মোড বেছে নিন:
- টেস্ট মোড
- মোবাইল এবং ওয়েব ক্লায়েন্ট লাইব্রেরি ব্যবহার শুরু করার জন্য ভালো, তবে যে কেউ আপনার ডেটা পড়তে এবং ওভাররাইট করতে পারবে। টেস্ট করার পরে, আপনার ডেটা সুরক্ষিত করুন বিভাগটি পর্যালোচনা করতে ভুলবেন না।
- প্রোডাকশন মোড
- মোবাইল এবং ওয়েব ক্লায়েন্ট থেকে সব রিড এবং রাইট করার অনুমতি বাতিল করে। আপনার যাচাই করা অ্যাপ্লিকেশন সার্ভার (Node.js, Python, Java) এখনও আপনার ডেটাবেস অ্যাক্সেস করতে পারবে
- তৈরি করুন বিকল্পে ক্লিক করুন।
gcloud
gcloud firestore databases create
কমান্ড ব্যবহার করুন।
-
Cloud Firestore Standard edition ডেটাবেস তৈরি করতে:
gcloud firestore databases create \ --database=DATABASE_ID \ --location=LOCATION \ --edition=standard --type=DATABASE_TYPE
নিম্নলিখিতগুলি পরিবর্তন করুন:
- DATABASE_ID: একটি সঠিক ডেটাবেসের আইডি।
- LOCATION: Cloud Firestore মাল্টি-রিজিয়ন বা রিজিয়নের নাম।
- DATABASE_TYPE: হয় নেটিভ মোডের জন্য
firestore-nativeঅথবা Datastore মোডের জন্যdatastore-mode।
--delete-protection হল মুছে ফেলা থেকে সুরক্ষা চালু করার একটি ঐচ্ছিক পতাকা।
আপনি এই সেটিং বন্ধ না করা পর্যন্ত, মুছে ফেলা থেকে সুরক্ষা চালু থাকা ডেটাবেস
মুছতে পারবেন না। এই সেটিং ডিফল্ট হিসেবে বন্ধ করা থাকে।
ডেটাবেসে ট্যাগ
যোগ করতে,
--tags
ফ্ল্যাগ ব্যবহার করুন। যেমন:
--tags=123/environment=production,123/costCenter=marketing--tags=tagKeys/333=tagValues/444
Firebase CLI
firebase firestore:databases:create DATABASE_ID \n--location=LOCATION \n[--edition EDITION] \n[--firestore-data-access FIRESTORE_ACCESS] \n[--realtime-updates REALTIME_UPDATES] \n[--delete-protection DELETE_PROTECTION_ENABLEMENT]
নিম্নলিখিতগুলি পরিবর্তন করুন:
- DATABASE_ID: একটি সঠিক ডেটাবেসের আইডি।
- LOCATION: Cloud Firestore মাল্টি-রিজিয়ন বা অঞ্চলের নাম।
- EDITION: Enterprise ফিচারের জন্য,
enterprise-এ সেট করুন। - FIRESTORE_ACCESS: (শুধুমাত্র এন্টারপ্রাইজ)
ENABLEDঅথবাDISABLED। - REALTIME_UPDATES: (শুধুমাত্র এন্টারপ্রাইজ)
ENABLEDঅথবাDISABLED। - DELETE_PROTECTION_ENABLEMENT: হয়
ENABLEDঅথবাDISABLED।
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 }
নিম্নলিখিতগুলি পরিবর্তন করুন:
- DATABASE_ID: একটি সঠিক ডেটাবেসের আইডি।
- LOCATION: Cloud Firestore মাল্টি-রিজিয়ন বা রিজিয়নের নাম।
- DATABASE_TYPE: হয় নেটিভ মোডের জন্য
FIRESTORE_NATIVEঅথবা Datastore মোডের জন্যDATASTORE_MODE। - DELETE_PROTECTION_ENABLEMENT: হয়
DELETE_PROTECTION_ENABLEDঅথবাDELETE_PROTECTION_DISABLED।
delete_protection_state হল একটি ঐচ্ছিক আর্গুমেন্ট যা মুছে ফেলা থেকে
সুরক্ষা চালু করে। আপনি এই সেটিং বন্ধ না করা পর্যন্ত
'মুছে ফেলা থেকে সুরক্ষা' চালু থাকা কোনও ডেটাবেস মুছতে পারবেন না। এই সেটিং ডিফল্ট হিসেবে বন্ধ করা থাকে।
ডেটাবেসের আইডি
সঠিক ডেটাবেস আইডিকে অবশ্যই এইসব নিয়ম মেনে চলতে হবে:
- শুধুমাত্র অক্ষর, সংখ্যা ও হাইফেন (
-) অক্ষর যোগ করুন। - অক্ষরগুলি ছোট হাতের হতে হবে।
- প্রথম অক্ষরটি অবশ্যই একটি বর্ণ হতে হবে।
- শেষ অক্ষরটি অবশ্যই কোনও বর্ণ বা সংখ্যা হতে হবে।
- কমপক্ষে ৪টি অক্ষর।
- সর্বাধিক ৬৩ অক্ষরের মধ্যে লিখতে হবে।
- UUID বা UUID-এর মতো দেখতে কিছু হওয়া চলবে না। যেমন,
f47ac10b-58cc-0372-8567-0e02b2c3d479-এর মতো আইডি ব্যবহার করবেন না।
এইসব নিয়মের ক্ষেত্রে একটি ব্যতিক্রম আছে: আপনি নিজে কোনও আইডি না লিখলে,
স্ট্যান্ডার্ড এডিশন (default) নামের একটি ডেটাবেস তৈরি করবে।
মনে রাখবেন, কোনও ডেটাবেস মুছে দেওয়ার পরে, আপনি প্রায় ৫ মিনিটের জন্য এটির আইডি আবার ব্যবহার করতে পারবেন না।
সুরক্ষা মুছে দিন
কোনও ডেটাবেস যাতে ভুলবশত মুছে না যায়, তার জন্য 'মুছে দেওয়া থেকে সুরক্ষা' ফিচার ব্যবহার করুন। আপনি মুছে ফেলা থেকে সুরক্ষা বন্ধ না করা পর্যন্ত মুছে ফেলা থেকে সুরক্ষা চালু থাকা ডেটাবেস মুছে ফেলতে পারবেন না। ডিফল্ট হিসেবে মুছে ফেলা থেকে সুরক্ষা বন্ধ করা থাকে। ডিলিট প্রোটেকশন চালু বা বন্ধ করতে আপনি ডেটাবেস কনফিগারেশন আপডেট করতে পারবেন।
আপনার ডেটাবেসের জন্য Cloud Firestore Security Rules সেট-আপ করুন
আপনার প্রতিটি ডেটাবেসে Cloud Firestore Security Rules ডিপ্লয় করতে Firebase CLI ব্যবহার করুন। Cloud Firestore Security Rules ম্যানেজ ও ডেপ্লয় করার গাইড দেখুন।
ক্লায়েন্ট লাইব্রেরির মাধ্যমে নাম দেওয়া ডেটাবেস অ্যাক্সেস করুন
নামযুক্ত ডেটাবেসে (default) নাম নেই এমন যেকোনও ডেটাবেস অন্তর্ভুক্ত থাকে। ডিফল্ট হিসেবে, Firebase SDK এবং Google API ক্লায়েন্ট লাইব্রেরি কোনও প্রোজেক্টের (default)
Cloud Firestore ডেটাবেসের সাথে কানেক্ট করে। নাম আছে এমন ডেটাবেসের সাথে কানেক্ট করা ক্লায়েন্ট তৈরি করতে, ক্লায়েন্ট ইনস্ট্যান্টিয়েট করার সময় ডেটাবেসের আইডি সেট করুন।
ডেটাবেসের তালিকা
আপনার ডেটাবেসের তালিকা তৈরি করতে নিম্নলিখিত পদ্ধতিগুলির মধ্যে একটি ব্যবহার করুন:
কনসোল
Google Cloud কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
gcloud
আপনার প্রোজেক্টের সব ডেটাবেসের তালিকা পেতে
gcloud firestore databases list
কমান্ড ব্যবহার করুন।
gcloud firestore databases list
Firebase CLI
আপনার প্রোজেক্টের সব ডেটাবেসের তালিকা দেখতে firebase firestore:databases:list কমান্ড ব্যবহার করুন।
firebase firestore:databases:list
ডেটাবেসের বিবরণ দেখুন
একটি ডেটাবেস সম্পর্কে বিস্তারিত তথ্য দেখতে, নিম্নলিখিত পদ্ধতিগুলির মধ্যে একটি ব্যবহার করুন:
gcloud
gcloud firestore databases describe কমান্ড ব্যবহার করুন:
gcloud firestore databases describe --database=DATABASE_ID
Firebase CLI
firebase firestore:databases:get কমান্ড ব্যবহার করুন:
firebase firestore:databases:get DATABASE_ID
Enterprise ডেটাবেসের আউটপুটে নিম্নলিখিত ফিল্ড অন্তর্ভুক্ত থাকে:
Edition:ENTERPRISEFirestore Data Access:DATA_ACCESS_MODE_ENABLEDঅথবাDATA_ACCESS_MODE_DISABLEDMongoDB Compatible Data Access:DATA_ACCESS_MODE_ENABLEDঅথবাDATA_ACCESS_MODE_DISABLEDRealtime Updates:REALTIME_UPDATES_ENABLEDঅথবাREALTIME_UPDATES_DISABLED
DATABASE_ID-এর পরিবর্তে ডেটাবেসের আইডি লিখুন।
ডেটাবেস কনফিগারেশন আপডেট করুন
কোনও ডেটাবেসের কনফিগারেশন সেটিংস আপডেট করতে, gcloud firestore
databases
update
কমান্ড ব্যবহার করুন।
মুছে দেওয়া থেকে সুরক্ষা চালু বা বন্ধ করতে এই কমান্ড ব্যবহার করুন।
মুছে ফেলা থেকে সুরক্ষা সংক্রান্ত সেটিং আপডেট করুন
কোনও ডেটাবেসে মুছে ফেলা সংক্রান্ত সুরক্ষা চালু করতে, --delete-protection ফ্ল্যাগ সহ gcloud firestore databases
update কমান্ড ব্যবহার করুন। যেমন:
gcloud
gcloud firestore databases update --database=DATABASE_ID --delete-protection
DATABASE_ID-এর পরিবর্তে ডেটাবেসের আইডি লিখুন।
কোনও ডেটাবেসে মুছে ফেলা সংক্রান্ত সুরক্ষা বন্ধ করতে, --no-delete-protection ফ্ল্যাগ সহ gcloud firestore databases
update কমান্ড ব্যবহার করুন। যেমন:
gcloud
gcloud firestore databases update --database=DATABASE_ID --no-delete-protection
DATABASE_ID-এর পরিবর্তে ডেটাবেসের আইডি লিখুন।
ডেটাবেস মুছে দেওয়া
ডেটাবেস মুছে ফেলতে, কনসোল বা কমান্ড-লাইন টুল ব্যবহার করুন।
ডেটাবেসে 'মুছে ফেলা থেকে সুরক্ষা' সেটিং চালু করা থাকলে, আপনাকে প্রথমে মুছে ফেলা থেকে সুরক্ষা বন্ধ করতে হবে।
ডেটাবেসে App Engine সার্চ ডেটা বা ব্লব এনটিটি থাকলে, আপনাকে প্রথমে সেই ডেটা মুছে ফেলতে হবে।
কোনও ডেটাবেস মুছে দিলে, সেই ডেটাবেসের জন্য কোনও Eventarc ট্রিগার অটোমেটিক মুছে যায় না। ট্রিগার ইভেন্ট ডেলিভার করা বন্ধ করে দেয়, তবে আপনি ট্রিগার মুছে না দেওয়া পর্যন্ত এটি থেকে যায়।
ডেটাবেস মুছে ফেলার জন্য কোনও চার্জ নেওয়া হয় না।
কনসোল
-
Firebase কনসোলে, ডেটাবেস ও স্টোরেজ > Firestore বিকল্পে যান।
- ডেটা ট্যাবে, ডেটাবেসের জন্য ডেটা টেবিল ভিউয়ের উপরে, -এ ক্লিক করুন, তারপর ডেটাবেস মুছুন বিকল্প বেছে নিন।
- ডেটাবেস মুছে দিতে নির্দেশাবলী অনুসরণ করুন।
gcloud
`gcloud firestore databases delete` কমান্ড ব্যবহার করুন।
gcloud firestore databases delete --database=DATABASE_ID
মুছে ফেলার জন্য DATABASE_ID-এর পরিবর্তে ডেটাবেসের আইডি লিখুন। ডিফল্ট ডেটাবেস মুছতে '(default)' আইডি ব্যবহার করুন
ডেটাবেস ক্লোন করা
আপনি একটি নতুন ডেটাবেসে বেছে নেওয়া টাইমস্ট্যাম্পে আগে থেকে থাকা ডেটাবেস ক্লোন করতে পারবেন:
ক্লোন করা ডেটাবেস হল একটি নতুন ডেটাবেস যা সোর্স ডেটাবেসের মতো একই লোকেশনে তৈরি করা হবে।
ক্লোন তৈরি করতে, Cloud Firestore সোর্স ডেটাবেসের পয়েন্ট-ইন-টাইম রিকভারি (PITR) ডেটা ব্যবহার করে। ক্লোন করা ডেটাবেসে সব ডেটা ও ইনডেক্স অন্তর্ভুক্ত থাকে।
ডিফল্ট হিসেবে, ক্লোন করা ডেটাবেস সোর্স ডেটাবেসের মতোই এনক্রিপ্ট করা হবে, Google-এর ডিফল্ট এনক্রিপশন বা CMEK এনক্রিপশন ব্যবহার করে। আপনি অন্য এনক্রিপশন টাইপ নির্দিষ্ট করতে পারেন অথবা CMEK এনক্রিপশনের জন্য অন্য কী ব্যবহার করতে পারেন।
টাইমস্ট্যাম্পে এক মিনিটের গ্র্যানুলারিটি থাকে এবং এটি অতীতে কোনও নির্দিষ্ট সময়কে উল্লেখ করে, যা PITR উইন্ডো দ্বারা নির্ধারিত সময়সীমার মধ্যে পড়ে:
- আপনার ডেটাবেসের জন্য PITR চালু করা থাকলে, আপনি গত ৭ দিনের (বা PITR ৭ দিনের কম সময় আগে চালু করা হলে, সেই সময়সীমার মধ্যে) যেকোনও মিনিট বেছে নিতে পারবেন।
- PITR চালু করা না থাকলে, আপনি গত এক ঘণ্টার মধ্যে যেকোনও মিনিট বেছে নিতে পারবেন।
- আপনি আপনার ডেটাবেসের বিবরণ থেকে বেছে নিতে পারেন এমন সবচেয়ে পুরনো টাইমস্ট্যাম্প চেক করতে পারবেন।
কনসোল
Firebase কনসোলে ডেটাবেস ও স্টোরেজ > Firestore পৃষ্ঠা খুলুন।
আপনার ডেটাবেসের নামের পাশে, , তারপর ডেটাবেস ক্লোন করুন বিকল্পে ক্লিক করুন। ক্লোন ডেটাবেস প্যানেল দেখা যাবে।
ডেটাবেস ক্লোন করুন প্যানে, ডেটাবেস ক্লোন করার জন্য প্যারামিটার প্রদান করুন:
ডেটাবেসের আইডি ফিল্ডে, নতুন ক্লোন করা ডেটাবেসের জন্য ডেটাবেসের আইডি লিখুন। ডেটাবেসের আইডি আগে থেকে থাকা কোনও ডেটাবেসে ব্যবহার করা হলে চলবে না।
ক্লোন করুন ফিল্ডে, ক্লোন করার জন্য একটি সময় বেছে নিন। বেছে নেওয়া সময়টি মিনিট গ্রানুলারিটিতে, PITR টাইমস্ট্যাম্পের সাথে সংশ্লিষ্ট।
ক্লোন করুন বিকল্পে ক্লিক করুন।
gcloud
ডেটাবেস ক্লোন করতে
gcloud firestore databases
clone কমান্ড ব্যবহার করুন:
gcloud 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: RFC 3339 ফর্ম্যাটে PITR টাইমস্ট্যাম্প, মিনিট গ্র্যানুলারিটিতে। যেমন:
2025-06-01T10:20:00.00Zঅথবা2025-06-01T10:30:00.00-07:00।DESTINATION_DATABASE_ID: নতুন ক্লোন করা ডেটাবেসের জন্য একটি ডেটাবেসের আইডি। এই ডেটাবেসের আইডি আগে থেকে থাকা কোনও ডেটাবেসের সাথে যুক্ত থাকলে চলবে না।
উদাহরণ:
gcloud firestore databases clone \
--source-database='projects/example-project/databases/(default)' \
--snapshot-time='2025-06-01T10:20:00.00Z' \
--destination-database='example-dest-db'
ডেটাবেস ক্লোন করার সময় আপনি কিছু ট্যাগের সাথে বাইন্ড করতে চাইলে, --tags ফ্ল্যাগ সহ আগের
কমান্ড ব্যবহার করুন, যা বাইন্ড করার জন্য ট্যাগ KEY=VALUE
পেয়ারের ঐচ্ছিক তালিকা।
উদাহরণ:
gcloud firestore databases clone \
--source-database='projects/example-project/databases/(default)' \
--snapshot-time='2025-06-01T10:20:00.00Z' \
--destination-database='example-dest-db'
ডিফল্ট হিসেবে, ক্লোন করা ডেটাবেসে সোর্স ডেটাবেসের মতো একই এনক্রিপশন কনফিগারেশন
থাকবে। এনক্রিপশন কনফিগারেশন পরিবর্তন করতে,
--encryption-type আর্গুমেন্ট ব্যবহার করুন:
- (ডিফল্ট)
use-source-encryption: সোর্স ডেটাবেসের মতো একই এনক্রিপশন কনফিগারেশন ব্যবহার করুন। google-default-encryption: Google-এর ডিফল্ট এনক্রিপশন ব্যবহার করুন।customer-managed-encryption: CMEK এনক্রিপশন ব্যবহার করুন।--kms-key-nameআর্গুমেন্টে কী আইডি উল্লেখ করুন।
ক্লোন করা ডেটাবেসের জন্য CMEK এনক্রিপশন কীভাবে কনফিগার করতে হয় তা নিম্নলিখিত উদাহরণে দেখানো হয়েছে:
gcloud firestore databases clone \
--source-database='projects/example-project/databases/(default)' \
--snapshot-time='2025-06-01T10:20:00.00Z' \
--destination-database='example-dest-db' \
--encryption-type='customer-managed-encryption' \
--kms-key-name='projects/example-project/locations/us-central1/keyRings/example-key-ring/cryptoKeys/example-key'
Firebase CLI
ডেটাবেস ক্লোন করতে firebase firestore:databases:clone কমান্ড ব্যবহার করুন:
firebase firestore:databases:clone \
'SOURCE_DATABASE' \
'DESTINATION_DATABASE' \
--snapshot-time 'PITR_TIMESTAMP'
নিম্নলিখিতগুলি পরিবর্তন করুন:
SOURCE_DATABASE: আগে থেকে থাকা ডেটাবেসের নাম যা আপনি ক্লোন করতে চান। নামটি এই ফর্ম্যাট ব্যবহার করে
projects/PROJECT_ID/databases/SOURCE_DATABASE_ID।DESTINATION_DATABASE: নতুন ক্লোন করা ডেটাবেসের জন্য ডেটাবেসের নাম। নামটি এই ফর্ম্যাট ব্যবহার করে
projects/PROJECT_ID/databases/DESTINATION_DATABASE_ID। এই ডেটাবেসের নাম আগে থেকে থাকা কোনও ডেটাবেসের সাথে যুক্ত থাকলে চলবে না।PITR_TIMESTAMP: RFC 3339 ফর্ম্যাটে PITR টাইমস্ট্যাম্প, মিনিট গ্র্যানুলারিটিতে। যেমন:
2025-06-01T10:20:00.00Zঅথবা2025-06-01T10:30:00.00-07:00। নির্দিষ্ট করা না থাকলে, বেছে নেওয়া স্ন্যাপশটটি বর্তমান সময়ের হবে, যা মিনিট পর্যন্ত রাউন্ড ডাউন করা হবে।
ডিফল্ট হিসেবে, ক্লোন করা ডেটাবেসে সোর্স ডেটাবেসের মতো একই এনক্রিপশন কনফিগারেশন
থাকবে। এনক্রিপশন কনফিগারেশন পরিবর্তন করতে,
--encryption-type আর্গুমেন্ট ব্যবহার করুন:
- (ডিফল্ট)
USE_SOURCE_ENCRYPTION: সোর্স ডেটাবেসের মতো একই এনক্রিপশন কনফিগারেশন ব্যবহার করুন। GOOGLE_DEFAULT_ENCRYPTION: Google-এর ডিফল্ট এনক্রিপশন ব্যবহার করুন।CUSTOMER_MANAGED_ENCRYPTION: CMEK এনক্রিপশন ব্যবহার করুন।--kms-key-nameআর্গুমেন্টে কী আইডি উল্লেখ করুন।
প্রতিটি ডেটাবেসের জন্য অ্যাক্সেস সংক্রান্ত অনুমতি কনফিগার করুন
আপনি পরিচয় এবং অ্যাক্সেস ম্যানেজমেন্ট শর্তাবলী ব্যবহার করে প্রতি-ডেটাবেস লেভেলে অ্যাক্সেসের অনুমতি কনফিগার করতে পারেন। নিম্নলিখিত উদাহরণগুলি এক বা একাধিক ডেটাবেসের জন্য শর্তসাপেক্ষ অ্যাক্সেস অ্যাসাইন করতে Google Cloud CLI ব্যবহার করে। এছাড়াও, আপনি Google Cloud Console-এ IAM শর্তাবলী নির্ধারণ করতে পারবেন।
আগে থেকে থাকা 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: একটি ইমেল আইডি যা নির্দিষ্ট Google অ্যাকাউন্টকে প্রতিনিধিত্ব করে। যেমন,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: একটি ইমেল আইডি যা নির্দিষ্ট Google অ্যাকাউন্টকে প্রতিনিধিত্ব করে। যেমন,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: একটি ইমেল আইডি যা নির্দিষ্ট Google অ্যাকাউন্টকে প্রতিনিধিত্ব করে। যেমন,alice@example.com।
Cloud মনিটরিং
Cloud Firestoreটি মেট্রিক দুটি মনিটর করা রিসোর্সের অধীনে রিপোর্ট করা হয়েছে।
আপনি
firestore.googleapis.com/Database-এ দেখে ডেটাবেস লেভেলে মোট মেট্রিক চেক করতে পারবেন। firestore_instance-এর অধীনে রিপোর্ট করা মেট্রিক
প্রোজেক্ট লেভেলে একত্রিত করা হয়।
সীমাবদ্ধতা
- প্রতি প্রোজেক্টে সর্বাধিক ১০০টি ডেটাবেস থাকতে পারে। এই সীমা বাড়ানোর অনুরোধ করতে আপনি সহায়তা টিমের সাথে যোগাযোগ করতে পারেন।
- আপনার
(default)ডেটাবেসে কোনও GAE সার্চ ডেটা থাকলে, আপনি সেটি মুছতে পারবেন না। GAE সার্চ ডেটা মুছে ফেলতে index delete api ব্যবহার করুন। আপনি সম্প্রতি GAE Search ডেটা মুছে থাকলে, ডেটাবেস মুছে ফেলার আগে আপনাকে হয়ত অপেক্ষা করতে হবে। - আপনার
(default)ডেটাবেসে কোনও ব্লব এনটিটি থাকলে, আপনি সেটি মুছতে পারবেন না। Blobstore ডেটা মুছে ফেলতে Blobstore delete api ব্যবহার করুন। আপনার(default)ডেটাবেসে Blobstore ডেটা আছে কিনা তা চেক করতে, Google Cloud কনসোলে নিম্নলিখিত GQL কোয়েরি রান করুন:SELECT * FROM __BlobInfo__। - ডেটাবেসের আইডি মুছে দেওয়ার ৫ মিনিট পরে আপনি সেটি আবার ব্যবহার করতে পারবেন।
- Cloud Function v1-এ Firestore-এর নামযুক্ত ডেটাবেস কাজ করে না। নাম দেওয়া ডেটাবেসের জন্য ইভেন্ট কনফিগার করতে Cloud Firestore Triggers (2nd Gen) ব্যবহার করুন।
- Firestore ফাংশন ট্রিগার v1 এবং Firestore ইভেন্ট ট্রিগার ডেটাবেস মুছে ফেলার পরে কাজ করা বন্ধ করে দিতে পারে, এমনকি একই নামে একটি নতুন ডেটাবেস তৈরি করা হলেও।