এই পৃষ্ঠাটি ক্লাউড ফায়ারস্টোর ডেটাবেস তৈরি, আপডেট এবং মুছে ফেলার বর্ণনা দেয়৷ আপনি প্রতি প্রকল্পে একাধিক ক্লাউড ফায়ারস্টোর ডেটাবেস তৈরি করতে পারেন। আপনি উত্পাদন এবং পরীক্ষার পরিবেশ সেট আপ করতে, গ্রাহকের ডেটা বিচ্ছিন্ন করতে এবং ডেটা আঞ্চলিককরণের জন্য একাধিক ডাটাবেস ব্যবহার করতে পারেন।
(default)
ডাটাবেস
আপনার অ্যাপের একাধিক ডাটাবেসের প্রয়োজন না হলে (default)
ডাটাবেস ব্যবহার করুন।
আপনি যদি একটি ডাটাবেস নির্দিষ্ট না করেন, ক্লাউড ফায়ারস্টোর ক্লায়েন্ট লাইব্রেরি এবং Google ক্লাউড CLI ডিফল্টরূপে (default)
ডাটাবেসের সাথে সংযুক্ত হয়।
(default)
ডাটাবেসের সাথে বিনামূল্যে কোটা ব্যবহার করতে পারেন।প্রয়োজনীয় ভূমিকা
ডেটাবেস তৈরি এবং পরিচালনা করতে, আপনাকে Owner
বা Datastore Owner
পরিচয় এবং অ্যাক্সেস ম্যানেজমেন্ট ভূমিকার প্রয়োজন। এই ভূমিকাগুলি প্রয়োজনীয় অনুমতি প্রদান করে।
প্রয়োজনীয় অনুমতি
ডাটাবেস পরিচালনা করতে, আপনাকে নিম্নলিখিত অনুমতিগুলির প্রয়োজন:
- একটি ডাটাবেস তৈরি করুন:
datastore.databases.create
- ডাটাবেস কনফিগারেশন পড়ুন:
datastore.databases.getMetadata
- একটি ডাটাবেস কনফিগার করুন:
datastore.databases.update
- একটি ডাটাবেস মুছুন:
datastore.databases.delete
একটি ডাটাবেস তৈরি করুন
একটি ডাটাবেস তৈরি করতে, gcloud alpha firestore databases create
কমান্ড ব্যবহার করুন।
জিক্লাউড
gcloud alpha firestore databases create \ --database=DATABASE_ID \ --location=LOCATION \ --type=DATABASE_TYPE \ [--delete-protection]
নিম্নলিখিতগুলি প্রতিস্থাপন করুন:
- DATABASE_ID : একটি বৈধ ডাটাবেস আইডি ।
- LOCATION : একটি ক্লাউড ফায়ারস্টোর বহু-অঞ্চল বা অঞ্চলের নাম।
- DATABASE_TYPE : হয় নেটিভ মোডের জন্য
firestore-native
অথবাdatastore-mode
।
--delete-protection
হল একটি ঐচ্ছিক পতাকা যাতে মুছে ফেলার সুরক্ষা সক্রিয় করা যায়। আপনি এই সেটিংটি নিষ্ক্রিয় না করা পর্যন্ত আপনি একটি ডাটাবেস মুছে ফেলার সুরক্ষা সক্ষম করতে পারবেন না। এই সেটিং ডিফল্টরূপে অক্ষম করা হয়.
ফায়ারবেস CLI
firebase firestore:databases:create DATABASE_ID \ --location=LOCATION \ [--delete-protection DELETE_PROTECTION_ENABLEMENT]
নিম্নলিখিতগুলি প্রতিস্থাপন করুন:
- DATABASE_ID : একটি বৈধ ডাটাবেস আইডি ।
- LOCATION : একটি ক্লাউড ফায়ারস্টোর বহু-অঞ্চল বা অঞ্চলের নাম।
- DELETE_PROTECTION_ENABLEMENT : হয়
ENABLED
বাDISABLED
।
তৈরি করা ডাটাবেস সবসময় Firestore নেটিভ মোডে থাকে।
--delete-protection <DELETE_PROTECTION_ENABLEMENT>
মুছে ফেলার সুরক্ষা সক্রিয় করার জন্য একটি ঐচ্ছিক যুক্তি। আপনি এই সেটিংটি নিষ্ক্রিয় না করা পর্যন্ত আপনি একটি ডাটাবেস মুছে ফেলার সুরক্ষা সক্ষম করতে পারবেন না। এই সেটিং ডিফল্টরূপে অক্ষম করা হয়.
টেরাফর্ম
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 : একটি ক্লাউড ফায়ারস্টোর বহু-অঞ্চল বা অঞ্চলের নাম।
- DATABASE_TYPE : হয় নেটিভ মোডের জন্য
firestore-native
অথবাdatastore-mode
। - DELETE_PROTECTION_ENABLEMENT : হয়
DELETE_PROTECTION_ENABLED
অথবাDELETE_PROTECTION_DISABLED
।
delete_protection_state
হল একটি ঐচ্ছিক আর্গুমেন্ট যা মুছে ফেলার সুরক্ষা সক্ষম করার জন্য। আপনি এই সেটিংটি নিষ্ক্রিয় না করা পর্যন্ত আপনি একটি ডাটাবেস মুছে ফেলার সুরক্ষা সক্ষম করতে পারবেন না। এই সেটিং ডিফল্টরূপে অক্ষম করা হয়.
ডাটাবেস আইডি
বৈধ ডাটাবেস আইডি অন্তর্ভুক্ত (default)
এবং আইডিগুলি যা নিম্নলিখিতগুলি মেনে চলে:
- শুধুমাত্র অক্ষর, সংখ্যা এবং হাইফেন (
-
) অক্ষর অন্তর্ভুক্ত করে। - প্রথম অক্ষর একটি অক্ষর হতে হবে.
- শেষ অক্ষরটি একটি অক্ষর বা সংখ্যা হতে হবে।
- ন্যূনতম ৪টি অক্ষর।
- সর্বোচ্চ ৬৩টি অক্ষর।
আপনি একটি ডাটাবেস মুছে ফেললে, আপনি অবিলম্বে 5 মিনিটের পরে ডাটাবেস আইডি পুনরায় ব্যবহার করতে পারবেন না।
সুরক্ষা মুছুন
একটি ডাটাবেস দুর্ঘটনাক্রমে মুছে ফেলা রোধ করতে মুছে ফেলা সুরক্ষা ব্যবহার করুন। আপনি ডিলিট সুরক্ষা অক্ষম না করা পর্যন্ত আপনি ডিলিট সুরক্ষা সক্ষম করে একটি ডাটাবেস মুছতে পারবেন না। ডিফল্টরূপে সুরক্ষা মুছুন অক্ষম করা হয়। আপনি যখন ডাটাবেস তৈরি করেন তখন আপনি মুছে ফেলার সুরক্ষা সক্ষম করতে পারেন বা আপনি মুছে ফেলা সুরক্ষা সক্ষম করতে একটি ডাটাবেস কনফিগারেশন আপডেট করতে পারেন।
আপনার ডাটাবেসের জন্য ক্লাউড ফায়ারস্টোর নিরাপত্তা নিয়ম সেট আপ করুন
আপনার প্রতিটি ডাটাবেসে ক্লাউড ফায়ারস্টোর নিরাপত্তা বিধি স্থাপন করতে Firebase CLI ব্যবহার করুন। ক্লাউড ফায়ারস্টোর সুরক্ষা নিয়মগুলি পরিচালনা এবং স্থাপনের জন্য নির্দেশিকা পড়ুন৷
একটি ক্লায়েন্ট লাইব্রেরির সাথে একটি নামযুক্ত ডাটাবেস অ্যাক্সেস করুন
একটি নামযুক্ত ডাটাবেসের মধ্যে এমন কোনো ডাটাবেস অন্তর্ভুক্ত থাকে যার নাম নেই (default)
। ডিফল্টরূপে, ফায়ারবেস SDK এবং Google API ক্লায়েন্ট লাইব্রেরিগুলি একটি প্রকল্পে (default)
ক্লাউড ফায়ারস্টোর ডাটাবেসের সাথে সংযোগ করে৷ একটি নামযুক্ত ডাটাবেসের সাথে সংযুক্ত একটি ক্লায়েন্ট তৈরি করতে, যখন আপনি একটি ক্লায়েন্ট ইনস্ট্যান্টিয়েট করেন তখন ডাটাবেস আইডি সেট করুন।
তালিকা ডাটাবেস
আপনার ডাটাবেস তালিকাভুক্ত করতে নিম্নলিখিত পদ্ধতিগুলির মধ্যে একটি ব্যবহার করুন:
কনসোল
Google ক্লাউড প্ল্যাটফর্ম কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
জিক্লাউড
আপনার প্রকল্পের সমস্ত ডাটাবেস তালিকাভুক্ত করতে gcloud firestore databases list
কমান্ড ব্যবহার করুন।
gcloud firestore databases list
ডাটাবেস বিবরণ দেখুন
একটি একক ডাটাবেস সম্পর্কে বিশদ বিবরণ দেখতে, gcloud firestore databases describe
কমান্ড ব্যবহার করুন:
জিক্লাউড
gcloud firestore databases describe --database=DATABASE_ID
একটি ডাটাবেস আইডি দিয়ে DATABASE_ID প্রতিস্থাপন করুন।
ডাটাবেস কনফিগারেশন আপডেট করুন
একটি ডাটাবেসের কনফিগারেশন সেটিংস আপডেট করতে, gcloud alpha firestore databases update
কমান্ড ব্যবহার করুন। ডিলিট সুরক্ষা সক্ষম বা অক্ষম করতে পরিবর্তন করতে এই কমান্ডটি ব্যবহার করুন।
মুছে ফেলা সুরক্ষা সেটিং আপডেট করুন
একটি ডাটাবেসে ডিলিট সুরক্ষা সক্ষম করতে, --delete-protection
পতাকা সহ gcloud alpha firestore databases update
কমান্ড ব্যবহার করুন। উদাহরণ স্বরূপ:
জিক্লাউড
gcloud alpha firestore databases update --database=DATABASE_ID --delete-protection
একটি ডাটাবেস আইডি দিয়ে DATABASE_ID প্রতিস্থাপন করুন।
একটি ডাটাবেসে ডিলিট সুরক্ষা অক্ষম করতে, --no-delete-protection
পতাকা সহ gcloud alpha firestore databases update
কমান্ড ব্যবহার করুন। উদাহরণ স্বরূপ:
জিক্লাউড
gcloud alpha firestore databases update --database=DATABASE_ID --no-delete-protection
একটি ডাটাবেস আইডি দিয়ে DATABASE_ID প্রতিস্থাপন করুন।
একটি ডাটাবেস মুছুন
একটি ডাটাবেস মুছে ফেলতে, gcloud alpha firestore databases delete
কমান্ড ব্যবহার করুন। যদি ডাটাবেসে ডিলিট সুরক্ষা সেটিং সক্রিয় থাকে, তাহলে আপনাকে প্রথমে ডিলিট সুরক্ষা অক্ষম করতে হবে। যদি ডাটাবেসে GAE অনুসন্ধান ডেটা বা ব্লব সত্তা থাকে, সেগুলি প্রথমে মুছে ফেলতে হবে।
জিক্লাউড
gcloud alpha firestore databases delete --database=DATABASE_ID
মুছে ফেলার জন্য ডাটাবেসের ID দিয়ে DATABASE_ID প্রতিস্থাপন করুন।
প্রতি-ডাটাবেস অ্যাক্সেস অনুমতি কনফিগার করুন
আপনি প্রতি-ডাটাবেস স্তরে অ্যাক্সেসের অনুমতিগুলি কনফিগার করতে আইডেন্টিটি এবং অ্যাক্সেস ম্যানেজমেন্ট শর্তাবলী ব্যবহার করতে পারেন। নিম্নলিখিত উদাহরণগুলি এক বা একাধিক ডেটাবেসের জন্য শর্তসাপেক্ষ অ্যাক্সেস বরাদ্দ করতে Google ক্লাউড CLI ব্যবহার করে৷ আপনি GCP কনসোলে 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
।
ক্লাউড মনিটরিং
ক্লাউড ফায়ারস্টোর মেট্রিক্স দুটি পর্যবেক্ষণ করা সংস্থানের অধীনে রিপোর্ট করা হয়েছে।
- firestore.googleapis.com/Database
- firestore_instance (উত্তরাধিকার)
আপনি firestore.googleapis.com/Database
এ দেখে ডাটাবেস স্তরে সামগ্রিক মেট্রিক্স পরিদর্শন করতে পারেন। firestore_instance
এর অধীনে রিপোর্ট করা মেট্রিকগুলি প্রকল্প স্তরে একত্রিত করা হয়৷
সীমাবদ্ধতা
- প্রতি প্রকল্পে আপনার সর্বাধিক 100টি ডাটাবেস থাকতে পারে। আপনি এই সীমা বৃদ্ধির অনুরোধ করতে সহায়তার সাথে যোগাযোগ করতে পারেন।
- আপনি আপনার ডাটাবেস মুছে ফেলতে পারবেন না যদি এতে কোনো GAE অনুসন্ধান ডেটা এবং/অথবা ব্লব সত্তা থাকে। GAE অনুসন্ধান ডেটা মুছতে অনুগ্রহ করে index delete api ব্যবহার করুন৷
- মুছে ফেলার 5 মিনিট পর আপনি একটি ডাটাবেস আইডি পুনরায় ব্যবহার করতে পারবেন না।
- ক্লাউড ফাংশন v1 ফায়ারস্টোর নামের ডেটাবেস সমর্থন করে না। নামযুক্ত ডাটাবেসের জন্য ইভেন্ট কনফিগার করতে দয়া করে ক্লাউড ফায়ারস্টোর ট্রিগারস (২য় জেনার) ব্যবহার করুন।
- Firestore ফাংশন ট্রিগার v1 এবং Firestore ইভেন্ট ট্রিগার ডাটাবেস মুছে ফেলার পরে কাজ করা বন্ধ করে দিতে পারে, এমনকি একই নামে একটি নতুন ডাটাবেস তৈরি করা হলেও।