ডাটাবেস পরিচালনা করুন

এই পৃষ্ঠায় Cloud Firestore ডেটাবেস তৈরি, আপডেট এবং ডিলিট করার পদ্ধতি বর্ণনা করা হয়েছে। আপনি প্রতিটি প্রজেক্টের জন্য একাধিক Cloud Firestore ডেটাবেস তৈরি করতে পারেন। প্রোডাকশন ও টেস্টিং এনভায়রনমেন্ট সেট আপ করতে, গ্রাহকের ডেটা আলাদা রাখতে এবং ডেটার আঞ্চলিকীকরণের জন্য আপনি একাধিক ডেটাবেস ব্যবহার করতে পারেন।

(default) ডাটাবেস

আপনি যদি কোনো ডেটাবেস নির্দিষ্ট না করেন, তাহলে Cloud Firestore ক্লায়েন্ট লাইব্রেরি এবং গুগল ক্লাউড সিএলআই ডিফল্টরূপে (default) ডেটাবেসের সাথে সংযোগ স্থাপন করে।

প্রয়োজনীয় ভূমিকা

ডাটাবেস তৈরি ও পরিচালনা করার জন্য আপনার Owner অথবা Datastore Owner Identity and Access Management রোলটি প্রয়োজন। এই রোলগুলো প্রয়োজনীয় অনুমতি প্রদান করে।

প্রয়োজনীয় অনুমতি

ডাটাবেস পরিচালনা করার জন্য আপনার নিম্নলিখিত অনুমতিগুলো প্রয়োজন:

  • একটি ডাটাবেস তৈরি করুন: datastore.databases.create
  • ডাটাবেস কনফিগারেশন পড়ুন: datastore.databases.getMetadata
  • একটি ডাটাবেস কনফিগার করুন: datastore.databases.update
  • ডাটাবেস মুছুন: datastore.databases.delete
  • একটি ডাটাবেস ক্লোন করুন: datastore.databases.clone

একটি ডাটাবেস তৈরি করুন

ডাটাবেস তৈরি করতে নিচের পদ্ধতিগুলোর মধ্যে যেকোনো একটি ব্যবহার করুন:

কনসোল
Firebase কনসোল
  1. Firebase কনসোলে, Firestore ডেটাবেস পৃষ্ঠায় যান।

    ফায়ারস্টোর ডেটাবেসে যান

  2. ডাটাবেস যোগ করুন -এ ক্লিক করুন।
  3. স্ট্যান্ডার্ড সংস্করণ নির্বাচন করুন। পরবর্তী ক্লিক করুন।
  4. একটি ডাটাবেস আইডি প্রবেশ করান।
  5. আপনার ডেটাবেসের জন্য একটি অবস্থান নির্বাচন করুন। পরবর্তী ধাপে যান।
  6. আপনার Cloud Firestore Security Rules জন্য একটি প্রারম্ভিক মোড নির্বাচন করুন:

    টেস্ট মোড
    মোবাইল এবং ওয়েব ক্লায়েন্ট লাইব্রেরি দিয়ে কাজ শুরু করার জন্য এটি ভালো, কিন্তু এর মাধ্যমে যে কেউ আপনার ডেটা পড়তে এবং মুছে ফেলতে পারে। পরীক্ষা করার পর, আপনার ডেটা সুরক্ষিত করুন’ অংশটি অবশ্যই পর্যালোচনা করে নেবেন।
    উৎপাদন মোড
    মোবাইল এবং ওয়েব ক্লায়েন্ট থেকে সমস্ত রিড এবং রাইট অ্যাক্সেস অস্বীকার করা হয়েছে। আপনার প্রমাণীকৃত অ্যাপ্লিকেশন সার্ভারগুলি (Node.js, Python, Java) এখনও আপনার ডাটাবেস অ্যাক্সেস করতে পারবে।
  7. তৈরি করুন- এ ক্লিক করুন।
জিক্লাউড

gcloud firestore databases create কমান্ডটি ব্যবহার করুন।

  • Cloud Firestore স্ট্যান্ডার্ড সংস্করণ ডাটাবেস তৈরি করতে:

    gcloud firestore databases create \
    --database=DATABASE_ID \
    --location=LOCATION \
    --edition=standard
    --type=DATABASE_TYPE

    নিম্নলিখিতগুলি প্রতিস্থাপন করুন:

--delete-protection হলো ডিলিট সুরক্ষা চালু করার জন্য একটি ঐচ্ছিক ফ্ল্যাগ। এই সেটিংটি নিষ্ক্রিয় না করা পর্যন্ত, ডিলিট সুরক্ষা চালু থাকা কোনো ডাটাবেস আপনি ডিলিট করতে পারবেন না। এই সেটিংটি ডিফল্টরূপে নিষ্ক্রিয় থাকে।

ডাটাবেসে ট্যাগ যোগ করতে --tags ফ্ল্যাগটি ব্যবহার করুন। উদাহরণস্বরূপ:

  • --tags=123/environment=production,123/costCenter=marketing
  • --tags=tagKeys/333=tagValues/444
ফায়ারবেস সিএলআই
firebase firestore:databases:create DATABASE_ID \
--location=LOCATION \
[--delete-protection DELETE_PROTECTION_ENABLEMENT]

নিম্নলিখিতগুলি প্রতিস্থাপন করুন:

--delete-protection ডিলিট প্রোটেকশন চালু করার জন্য এটি একটি ঐচ্ছিক আর্গুমেন্ট। এই সেটিংটি নিষ্ক্রিয় না করা পর্যন্ত আপনি ডিলিট প্রোটেকশন চালু থাকা কোনো ডাটাবেস ডিলিট করতে পারবেন না। এই সেটিংটি ডিফল্টরূপে নিষ্ক্রিয় থাকে।

টেরাফর্ম
resource "google_firestore_database" "database" {
  project     = "project-id"
  name        = DATABASE_ID
  location_id = LOCATION
  type        = DATABASE_TYPE

  // Optional
  delete_protection_state = DELETE_PROTECTION_STATE
}

নিম্নলিখিতগুলি প্রতিস্থাপন করুন:

delete_protection_state হলো ডিলিশন প্রোটেকশন চালু করার জন্য একটি ঐচ্ছিক আর্গুমেন্ট। এই সেটিংটি নিষ্ক্রিয় না করা পর্যন্ত, ডিলিশন প্রোটেকশন চালু থাকা কোনো ডাটাবেস আপনি ডিলিট করতে পারবেন না। এই সেটিংটি ডিফল্টরূপে নিষ্ক্রিয় থাকে।

ডাটাবেস আইডি

বৈধ ডাটাবেস আইডিগুলোর মধ্যে রয়েছে (default) এবং নিম্নলিখিত শর্ত পূরণকারী আইডিগুলো:

  • শুধুমাত্র অক্ষর, সংখ্যা এবং হাইফেন ( - ) চিহ্ন অন্তর্ভুক্ত।
  • অক্ষরগুলো অবশ্যই ছোট হাতের হতে হবে।
  • প্রথম অক্ষরটি অবশ্যই একটি বর্ণ হতে হবে।
  • শেষের অক্ষরটি অবশ্যই বর্ণ বা সংখ্যা হতে হবে।
  • ন্যূনতম ৪টি অক্ষর।
  • সর্বাধিক ৬৩টি অক্ষর।
  • এটি অবশ্যই কোনো UUID হবে না বা এর অনুরূপ হবে না। উদাহরণস্বরূপ, f47ac10b-58cc-0372-8567-0e02b2c3d479 এর মতো কোনো আইডি ব্যবহার করবেন না।

যদি আপনি কোনো ডেটাবেস মুছে ফেলেন, তাহলে ৫ মিনিট অতিবাহিত না হওয়া পর্যন্ত আপনি তাৎক্ষণিকভাবে ডেটাবেস আইডিটি পুনরায় ব্যবহার করতে পারবেন না।

সুরক্ষা মুছুন

ভুলবশত ডাটাবেস মুছে যাওয়া রোধ করতে ডিলিট প্রোটেকশন ব্যবহার করুন। ডিলিট প্রোটেকশন চালু থাকা অবস্থায় আপনি কোনো ডাটাবেস ডিলিট করতে পারবেন না, যতক্ষণ না আপনি এটি নিষ্ক্রিয় করছেন। ডিলিট প্রোটেকশন ডিফল্টরূপে নিষ্ক্রিয় থাকে। আপনি ডাটাবেস তৈরি করার সময় ডিলিট প্রোটেকশন সক্রিয় করতে পারেন অথবা ডাটাবেস কনফিগারেশন আপডেট করে এটি চালু করতে পারেন।

আপনার ডেটাবেসগুলির জন্য Cloud Firestore Security Rules সেট আপ করুন

আপনার প্রতিটি ডেটাবেসে Cloud Firestore Security Rules প্রয়োগ করতে Firebase সিএলআই (Firebase CLI) ব্যবহার করুন। Cloud Firestore Security Rules পরিচালনা ও প্রয়োগ করার জন্য নির্দেশিকাটি দেখুন।

ক্লায়েন্ট লাইব্রেরি ব্যবহার করে একটি নির্দিষ্ট নামের ডাটাবেস অ্যাক্সেস করুন

একটি নামযুক্ত ডেটাবেসের মধ্যে নামবিহীন (default) যেকোনো ডেটাবেস অন্তর্ভুক্ত থাকে। ডিফল্টরূপে, Firebase SDK এবং Google API ক্লায়েন্ট লাইব্রেরিগুলো একটি প্রোজেক্টের (default) Cloud Firestore ডেটাবেসের সাথে সংযুক্ত হয়। একটি নামযুক্ত ডেটাবেসের সাথে সংযুক্ত ক্লায়েন্ট তৈরি করতে, ক্লায়েন্ট ইনস্ট্যানশিয়েট করার সময় ডেটাবেস আইডি সেট করুন।

তালিকা ডাটাবেস

আপনার ডাটাবেসগুলোর তালিকা তৈরি করতে নিম্নলিখিত পদ্ধতিগুলোর মধ্যে যেকোনো একটি ব্যবহার করুন:

কনসোল

গুগল ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।

ডাটাবেসে যান

জিক্লাউড

আপনার প্রোজেক্টের সমস্ত ডেটাবেসের তালিকা দেখতে gcloud firestore databases list কমান্ডটি ব্যবহার করুন।

gcloud firestore databases list
ফায়ারবেস সিএলআই

আপনার প্রোজেক্টের সমস্ত ডাটাবেসের তালিকা দেখতে firebase firestore:databases:list কমান্ডটি ব্যবহার করুন।

firebase firestore:databases:list

ডাটাবেসের বিবরণ দেখুন

একটিমাত্র ডেটাবেসের বিস্তারিত তথ্য দেখতে, নিম্নলিখিত পদ্ধতিগুলোর মধ্যে যেকোনো একটি ব্যবহার করুন:

জিক্লাউড

gcloud firestore databases describe কমান্ডটি ব্যবহার করুন:

gcloud firestore databases describe --database=DATABASE_ID
ফায়ারবেস সিএলআই

` firebase firestore:databases:get কমান্ডটি ব্যবহার করুন:

firebase firestore:databases:get DATABASE_ID

DATABASE_ID এর জায়গায় ডাটাবেস আইডি বসান।

ডাটাবেস কনফিগারেশন আপডেট করুন

একটি ডাটাবেসের কনফিগারেশন সেটিংস আপডেট করতে, gcloud firestore databases update কমান্ডটি ব্যবহার করুন। ডিলিট প্রোটেকশন চালু বা বন্ধ করতে এই কমান্ডটি ব্যবহার করুন।

ডিলিট প্রোটেকশন সেটিং আপডেট করুন

একটি ডাটাবেসে ডিলিট প্রোটেকশন সক্রিয় করতে, --delete-protection ফ্ল্যাগ সহ gcloud firestore databases update কমান্ডটি ব্যবহার করুন। উদাহরণস্বরূপ:

জিক্লাউড
gcloud firestore databases update --database=DATABASE_ID --delete-protection

DATABASE_ID এর জায়গায় ডাটাবেস আইডি বসান।

একটি ডাটাবেসে ডিলিট প্রোটেকশন নিষ্ক্রিয় করতে, --no-delete-protection ফ্ল্যাগ সহ gcloud firestore databases update কমান্ডটি ব্যবহার করুন। উদাহরণস্বরূপ:

জিক্লাউড
gcloud firestore databases update --database=DATABASE_ID --no-delete-protection

DATABASE_ID এর জায়গায় ডাটাবেস আইডি বসান।

একটি ডাটাবেস মুছে ফেলুন

ডাটাবেস মুছে ফেলার জন্য কনসোল বা কমান্ড-লাইন টুল ব্যবহার করুন।

যদি ডাটাবেসে ডিলিট প্রোটেকশন সেটিং সক্রিয় করা থাকে, তাহলে আপনাকে প্রথমে ডিলিট প্রোটেকশন নিষ্ক্রিয় করতে হবে।

যদি ডাটাবেসে App Engine সার্চ ডেটা বা ব্লব এনটিটি থাকে, তাহলে আপনাকে প্রথমে সেই ডেটা মুছে ফেলতে হবে।

একটি ডাটাবেস ডিলিট করলে সেই ডাটাবেসের জন্য কোনো Eventarc ট্রিগার স্বয়ংক্রিয়ভাবে ডিলিট হয় না। ট্রিগারটি ইভেন্ট পাঠানো বন্ধ করে দেয়, কিন্তু আপনি ট্রিগারটি ডিলিট না করা পর্যন্ত এর অস্তিত্ব বজায় থাকে।

ডাটাবেস মুছে ফেলার জন্য কোনো চার্জ প্রযোজ্য হয় না।

কনসোল
  1. Firebase কনসোলে, Firestore ডেটাবেস পৃষ্ঠায় যান।

    ফায়ারস্টোর ডেটাবেসে যান

  2. ডেটা ট্যাবে, ডেটাবেসের ডেটা টেবিল ভিউ-এর উপরে, ক্লিক করুন, তারপর Delete database নির্বাচন করুন।
  3. ডাটাবেসটি মুছে ফেলার জন্য নির্দেশাবলী অনুসরণ করুন।
জিক্লাউড

`gcloud firestore databases delete` কমান্ডটি ব্যবহার করুন।

gcloud firestore databases delete --database=DATABASE_ID

যে ডাটাবেসটি মুছতে চান, তার আইডি দিয়ে DATABASE_ID প্রতিস্থাপন করুন। ডিফল্ট ডাটাবেসটি মুছতে '(default)' আইডিটি ব্যবহার করুন।

একটি ডাটাবেস ক্লোন করুন

আপনি একটি বিদ্যমান ডেটাবেসকে একটি নির্বাচিত টাইমস্ট্যাম্পে ক্লোন করে একটি নতুন ডেটাবেস তৈরি করতে পারেন:

  • ক্লোন করা ডেটাবেস হলো একটি নতুন ডেটাবেস যা উৎস ডেটাবেসের একই অবস্থানে তৈরি করা হবে।

    একটি ক্লোন তৈরি করতে, Cloud Firestore উৎস ডেটাবেসের পয়েন্ট-ইন-টাইম রিকভারি (PITR) ডেটা ব্যবহার করে। ক্লোন করা ডেটাবেসে সমস্ত ডেটা এবং ইনডেক্স অন্তর্ভুক্ত থাকে।

  • ডিফল্টরূপে, ক্লোন করা ডেটাবেসটি সোর্স ডেটাবেসের মতোই এনক্রিপ্ট করা হবে, যেখানে গুগলের ডিফল্ট এনক্রিপশন অথবা CMEK এনক্রিপশন ব্যবহার করা হবে। আপনি একটি ভিন্ন এনক্রিপশন টাইপ নির্দিষ্ট করতে পারেন অথবা CMEK এনক্রিপশনের জন্য একটি ভিন্ন কী ব্যবহার করতে পারেন।

  • টাইমস্ট্যাম্পটির সূক্ষ্মতা এক মিনিট এবং এটি PITR উইন্ডো দ্বারা সংজ্ঞায়িত সময়কালের মধ্যে অতীতের একটি নির্দিষ্ট সময়কে নির্দেশ করে।

    • যদি আপনার ডেটাবেসের জন্য PITR সক্রিয় করা থাকে, তাহলে আপনি গত ৭ দিনের মধ্যে যেকোনো একটি মিনিট নির্বাচন করুন (অথবা তার কম সময়, যদি PITR ৭ দিনেরও কম সময় আগে সক্রিয় করা হয়ে থাকে)।
    • যদি PITR চালু না থাকে, তাহলে আপনি গত এক ঘণ্টার যেকোনো মিনিট বেছে নিতে পারেন।
    • আপনি আপনার ডেটাবেসের বিবরণ থেকে সবচেয়ে পুরনো টাইমস্ট্যাম্পটি যাচাই করতে পারেন।

কনসোল

Firebase কনসোল ডাটাবেস ক্লোনিং সমর্থন করে না। ডাটাবেস ক্লোন করার জন্য আপনি গুগল ক্লাউড সিএলআই (Google Cloud CLI)-এর নির্দেশাবলী ব্যবহার করতে পারেন।

জিক্লাউড

একটি ডাটাবেস ক্লোন করতে 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 : গুগলের ডিফল্ট এনক্রিপশন ব্যবহার করুন।
  • 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 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 : গুগলের ডিফল্ট এনক্রিপশন ব্যবহার করুন।
  • CUSTOMER_MANAGED_ENCRYPTION এনক্রিপশন: CMEK এনক্রিপশন ব্যবহার করুন। --kms-key-name আর্গুমেন্টে একটি কী আইডি উল্লেখ করুন।

প্রতি-ডাটাবেস অ্যাক্সেস অনুমতি কনফিগার করুন

আপনি প্রতিটি ডেটাবেসের জন্য আলাদাভাবে অ্যাক্সেস পারমিশন কনফিগার করতে আইডেন্টিটি অ্যান্ড অ্যাক্সেস ম্যানেজমেন্ট কন্ডিশন ব্যবহার করতে পারেন। নিম্নলিখিত উদাহরণগুলিতে এক বা একাধিক ডেটাবেসের জন্য শর্তসাপেক্ষ অ্যাক্সেস নির্ধারণ করতে গুগল ক্লাউড সিএলআই (Google Cloud CLI) ব্যবহার করা হয়েছে। এছাড়াও আপনি গুগল ক্লাউড কনসোলে আইএএম (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 : একটি ইমেল ঠিকানা যা একটি নির্দিষ্ট গুগল অ্যাকাউন্টকে প্রতিনিধিত্ব করে। উদাহরণস্বরূপ, 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

ক্লাউড মনিটরিং

Cloud Firestore মেট্রিক্স দুটি নিরীক্ষিত রিসোর্সের অধীনে রিপোর্ট করা হয়।

আপনি firestore.googleapis.com/Database এ গিয়ে ডাটাবেস স্তরে সামগ্রিক মেট্রিকগুলো পরীক্ষা করতে পারেন। firestore_instance এর অধীনে রিপোর্ট করা মেট্রিকগুলো প্রজেক্ট স্তরে একত্রিত করা হয়।

সীমাবদ্ধতা

  • প্রতিটি প্রজেক্টে আপনি সর্বোচ্চ ১০০টি ডেটাবেস রাখতে পারবেন। এই সীমা বাড়ানোর জন্য আপনি সাপোর্টে যোগাযোগ করতে পারেন।
  • আপনার (default) ডাটাবেসে কোনো GAE সার্চ ডেটা থাকলে, আপনি সেটি ডিলিট করতে পারবেন না। GAE সার্চ ডেটা ডিলিট করতে ইনডেক্স ডিলিট এপিআই (index delete api) ব্যবহার করুন। আপনি যদি সম্প্রতি GAE সার্চ ডেটা ডিলিট করে থাকেন, তাহলে ডাটাবেসটি ডিলিট করার আগে একটি অপেক্ষার সময় থাকতে পারে।
  • আপনার (default) ডেটাবেসে কোনো ব্লব এনটিটি থাকলে আপনি তা ডিলিট করতে পারবেন না। ব্লবস্টোর ডেটা ডিলিট করতে ব্লবস্টোর ডিলিট এপিআই ব্যবহার করুন। আপনার (default) ডেটাবেসে ব্লবস্টোর ডেটা আছে কিনা তা পরীক্ষা করতে, গুগল ক্লাউড কনসোলে নিম্নলিখিত GQL কোয়েরিটি চালান: SELECT * FROM __BlobInfo__ .
  • মুছে ফেলার ৫ মিনিট পর পর্যন্ত আপনি ডাটাবেস আইডিটি পুনরায় ব্যবহার করতে পারবেন না।
  • ক্লাউড ফাংশন v1 ফায়ারস্টোর নেমড ডেটাবেস সমর্থন করে না। নেমড ডেটাবেসের জন্য ইভেন্ট কনফিগার করতে ক্লাউড ফায়ারস্টোর ট্রিগার (২য় প্রজন্ম) ব্যবহার করুন।
  • ডাটাবেস ডিলিট করার পর Firestore v1 ফাংশন ট্রিগার এবং Firestore ইভেন্ট ট্রিগার কাজ করা বন্ধ করে দিতে পারে, এমনকি একই নামে একটি নতুন ডাটাবেস তৈরি করা হলেও।

এরপর কী?