দুর্ঘটনাবশত ডেটা মুছে গেলে তা পুনরুদ্ধার করতে এবং অফলাইন প্রক্রিয়াকরণের জন্য ডেটা এক্সপোর্ট করতে আপনি Cloud Firestore পরিচালিত এক্সপোর্ট ও ইম্পোর্ট পরিষেবা ব্যবহার করতে পারেন। আপনি সমস্ত ডকুমেন্ট অথবা শুধু নির্দিষ্ট কালেকশন গ্রুপ এক্সপোর্ট করতে পারেন। একইভাবে, আপনি একটি এক্সপোর্ট থেকে সমস্ত ডেটা অথবা শুধুমাত্র নির্দিষ্ট কালেকশন গ্রুপ ইম্পোর্ট করতে পারেন। একটি Cloud Firestore ডেটাবেস থেকে এক্সপোর্ট করা ডেটা অন্য একটি Cloud Firestore ডেটাবেসে ইম্পোর্ট করা যায়। এছাড়াও আপনি Cloud Firestore এক্সপোর্টগুলো BigQuery তে লোড করতে পারেন।
এই পৃষ্ঠায় ম্যানেজড এক্সপোর্ট ও ইম্পোর্ট পরিষেবা এবং Cloud Storage ব্যবহার করে Cloud Firestore ডকুমেন্ট এক্সপোর্ট ও ইম্পোর্ট করার পদ্ধতি বর্ণনা করা হয়েছে। Cloud Firestore ম্যানেজড এক্সপোর্ট ও ইম্পোর্ট পরিষেবাটি gcloud কমান্ড-লাইন টুল এবং Cloud Firestore এপিআই ( REST , RPC )-এর মাধ্যমে পাওয়া যায়।
শুরু করার আগে
পরিচালিত রপ্তানি ও আমদানি পরিষেবা ব্যবহার করার আগে, আপনাকে অবশ্যই নিম্নলিখিত কাজগুলি সম্পন্ন করতে হবে:
- আপনার Google Cloud প্রোজেক্টের জন্য বিলিং চালু করুন। শুধুমাত্র বিলিং চালু থাকা Google Cloud প্রোজেক্টগুলোই এক্সপোর্ট এবং ইম্পোর্ট কার্যকারিতা ব্যবহার করতে পারবে।
- আপনার প্রোজেক্টের জন্য আপনার Cloud Firestore ডেটাবেস অবস্থানের কাছাকাছি একটি Cloud Storage বাকেট তৈরি করুন । আপনি এক্সপোর্ট এবং ইম্পোর্ট অপারেশনের জন্য রিকোয়েস্টার পেজ বাকেট ব্যবহার করতে পারবেন না।
নিশ্চিত করুন যে আপনার অ্যাকাউন্টে Cloud Firestore এবং Cloud Storage জন্য প্রয়োজনীয় অনুমতি রয়েছে। আপনি যদি প্রজেক্টের মালিক হন, তবে আপনার অ্যাকাউন্টে প্রয়োজনীয় অনুমতি রয়েছে। অন্যথায়, নিম্নলিখিত রোলগুলো এক্সপোর্ট ও ইম্পোর্ট অপারেশন এবং Cloud Storage অ্যাক্সেসের জন্য প্রয়োজনীয় অনুমতি প্রদান করে:
- Cloud Firestore রোল:
Owner,Cloud Datastore Owner, অথবাCloud Datastore Import Export Admin Cloud Storage ভূমিকা:
OwnerঅথবাStorage Admin
- Cloud Firestore রোল:
পরিষেবা এজেন্টের অনুমতি
এক্সপোর্ট এবং ইম্পোর্ট অপারেশনগুলো Cloud Storage অপারেশন অনুমোদন করার জন্য একটি Cloud Firestore সার্ভিস এজেন্ট ব্যবহার করে। Cloud Firestore সার্ভিস এজেন্ট নিম্নলিখিত নামকরণ পদ্ধতি অনুসরণ করে:
- Cloud Firestore পরিষেবা এজেন্ট
-
service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com
সার্ভিস এজেন্ট সম্পর্কে আরও জানতে, সার্ভিস এজেন্ট দেখুন।
এক্সপোর্ট বা ইম্পোর্ট অপারেশনে ব্যবহৃত Cloud Storage বাকেটে Cloud Firestore সার্ভিস এজেন্টের অ্যাক্সেস প্রয়োজন হয়। যদি আপনার Cloud Storage বাকেটটি আপনার Cloud Firestore ডেটাবেসের মতো একই প্রজেক্টে থাকে, তাহলে Cloud Firestore সার্ভিস এজেন্ট ডিফল্টভাবে বাকেটটি অ্যাক্সেস করতে পারে ।
যদি Cloud Storage বাকেটটি অন্য কোনো প্রজেক্টে থাকে, তাহলে আপনাকে অবশ্যই Cloud Firestore সার্ভিস এজেন্টকে সেই Cloud Storage বাকেটে অ্যাক্সেস দিতে হবে।
সার্ভিস এজেন্টকে ভূমিকা বরাদ্দ করুন
আপনি নিচের রোলগুলোর মধ্যে যেকোনো একটি অ্যাসাইন করতে gsutil কমান্ড-লাইন টুলটি ব্যবহার করতে পারেন। উদাহরণস্বরূপ, Cloud Firestore সার্ভিস এজেন্টকে স্টোরেজ অ্যাডমিন রোলটি অ্যাসাইন করতে, নিম্নলিখিত কমান্ডটি চালান:
gsutil iam ch serviceAccount:service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com:roles/storage.admin \ gs://[BUCKET_NAME]
PROJECT_NUMBER জায়গায় আপনার প্রজেক্ট নম্বরটি বসান, যা আপনার Cloud Firestore সার্ভিস এজেন্টের নামকরণ করতে ব্যবহৃত হয়। সার্ভিস এজেন্টের নামটি দেখতে, ‘সার্ভিস এজেন্টের নাম দেখুন ’ দেখুন।
বিকল্পভাবে, আপনি গুগল ক্লাউড কনসোল ব্যবহার করে এই ভূমিকাটি নির্ধারণ করতে পারেন।
পরিষেবা এজেন্টের নাম দেখুন
গুগল ক্লাউড কনসোলের ইম্পোর্ট/এক্সপোর্ট পেজ থেকে আপনি দেখতে পারেন যে, আপনার ইম্পোর্ট ও এক্সপোর্ট অপারেশনগুলো অনুরোধ অনুমোদনের জন্য কোন অ্যাকাউন্ট ব্যবহার করে। এছাড়াও, আপনার ডাটাবেস Cloud Firestore সার্ভিস এজেন্ট নাকি লিগ্যাসি App Engine সার্ভিস অ্যাকাউন্ট ব্যবহার করছে, সেটাও আপনি দেখতে পারেন।
- 'Import/Export jobs run as' লেবেলের পাশে অনুমোদন অ্যাকাউন্টটি দেখুন।
এক্সপোর্ট বা ইম্পোর্ট অপারেশনের জন্য ব্যবহৃত Cloud Storage বাকেটটির ক্ষেত্রে সার্ভিস এজেন্টের Storage Admin রোল থাকা প্রয়োজন।
আপনার প্রোজেক্টের জন্য gcloud সেট আপ করুন
আপনি গুগল ক্লাউড কনসোল অথবা gcloud কমান্ড-লাইন টুলের মাধ্যমে ইম্পোর্ট ও এক্সপোর্ট কার্যক্রম শুরু করতে পারেন। gcloud ব্যবহার করার জন্য, কমান্ড-লাইন টুলটি সেট আপ করুন এবং নিম্নলিখিত উপায়গুলোর যেকোনো একটিতে আপনার প্রোজেক্টের সাথে সংযোগ স্থাপন করুন:
Cloud Shell ব্যবহার করে গুগল ক্লাউড প্ল্যাটফর্ম কনসোল থেকে
gcloudঅ্যাক্সেস করুন।নিশ্চিত করুন যে
gcloudসঠিক প্রোজেক্টের জন্য কনফিগার করা আছে:gcloud config set project [PROJECT_ID]
ডেটা রপ্তানি করুন
একটি এক্সপোর্ট অপারেশন আপনার ডাটাবেসের ডকুমেন্টগুলোকে Cloud Storage বাকেটের একগুচ্ছ ফাইলে কপি করে। মনে রাখবেন যে, এক্সপোর্ট শুরু হওয়ার মুহূর্তে নেওয়া ডাটাবেসের কোনো হুবহু স্ন্যাপশট নয়। অপারেশনটি চলার সময় করা পরিবর্তনগুলোও একটি এক্সপোর্টে অন্তর্ভুক্ত থাকতে পারে।
সমস্ত নথি রপ্তানি করুন
গুগল ক্লাউড কনসোল
গুগল ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেসটি নির্বাচন করুন।
ন্যাভিগেশন মেনুতে, ইমপোর্ট/এক্সপোর্ট-এ ক্লিক করুন।
এক্সপোর্ট-এ ক্লিক করুন।
সম্পূর্ণ ডাটাবেস এক্সপোর্ট করার অপশনটিতে ক্লিক করুন।
নিচে ‘গন্তব্য নির্বাচন করুন’-এর অধীনে, একটি Cloud Storage বাকেটের নাম লিখুন অথবা একটি বাকেট নির্বাচন করতে ‘ব্রাউজ’ বোতামটি ব্যবহার করুন।
এক্সপোর্ট-এ ক্লিক করুন।
কনসোলটি ইম্পোর্ট/এক্সপোর্ট পেজে ফিরে আসে। অপারেশনটি সফলভাবে শুরু হলে, পেজটি সাম্প্রতিক ইম্পোর্ট ও এক্সপোর্ট পেজে একটি এন্ট্রি যোগ করে। ব্যর্থ হলে, পেজটি একটি ত্রুটির বার্তা প্রদর্শন করে।
জিক্লাউড
আপনার ডাটাবেসের সমস্ত ডকুমেন্ট এক্সপোর্ট করতে firestore export কমান্ডটি ব্যবহার করুন এবং [BUCKET_NAME] -এর জায়গায় আপনার Cloud Storage বাকেটের নামটি বসান। অপারেশনটি সম্পূর্ণ হওয়ার জন্য gcloud টুলকে অপেক্ষা করা থেকে বিরত রাখতে ` --async ফ্ল্যাগটি যোগ করুন।
gcloud firestore export gs://[BUCKET_NAME] \ --database=[DATABASE]
নিম্নলিখিতগুলি প্রতিস্থাপন করুন:
BUCKET_NAME: বাকেটের নামের পরে একটি ফাইল প্রিফিক্স যোগ করে আপনার এক্সপোর্টগুলো সাজান, যেমন,BUCKET_NAME/my-exports-folder/export-name। আপনি যদি কোনো ফাইল প্রিফিক্স না দেন, তাহলে ম্যানেজড এক্সপোর্ট সার্ভিসটি বর্তমান টাইমস্ট্যাম্পের উপর ভিত্তি করে একটি তৈরি করে নেবে।DATABASE: যে ডাটাবেস থেকে আপনি ডকুমেন্টগুলো এক্সপোর্ট করতে চান তার নাম। ডিফল্ট ডাটাবেসের জন্য,--database='(default)'ব্যবহার করুন।
একবার এক্সপোর্ট অপারেশন শুরু করলে, টার্মিনাল বন্ধ করলেও অপারেশনটি বাতিল হয় না, আরও জানতে অপারেশন বাতিল করা দেখুন।
নির্দিষ্ট সংগ্রহ গোষ্ঠী রপ্তানি করুন
গুগল ক্লাউড কনসোল
গুগল ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেসটি নির্বাচন করুন।
ন্যাভিগেশন মেনুতে, ইমপোর্ট/এক্সপোর্ট-এ ক্লিক করুন।
এক্সপোর্ট-এ ক্লিক করুন।
'এক বা একাধিক কালেকশন গ্রুপ এক্সপোর্ট করুন' অপশনটিতে ক্লিক করুন। ড্রপডাউন মেনু ব্যবহার করে এক বা একাধিক কালেকশন গ্রুপ নির্বাচন করুন।
নিচে ‘গন্তব্য নির্বাচন করুন’-এর অধীনে, একটি Cloud Storage বাকেটের নাম লিখুন অথবা একটি বাকেট নির্বাচন করতে ‘ব্রাউজ’ বোতামটি ব্যবহার করুন।
এক্সপোর্ট-এ ক্লিক করুন।
কনসোলটি ইম্পোর্ট/এক্সপোর্ট পেজে ফিরে আসে। অপারেশনটি সফলভাবে শুরু হলে, পেজটি সাম্প্রতিক ইম্পোর্ট ও এক্সপোর্ট পেজে একটি এন্ট্রি যোগ করে। ব্যর্থ হলে, পেজটি একটি ত্রুটির বার্তা প্রদর্শন করে।
জিক্লাউড
নির্দিষ্ট কালেকশন গ্রুপ এক্সপোর্ট করতে, --collection-ids ফ্ল্যাগটি ব্যবহার করুন। এই অপারেশনটি শুধুমাত্র প্রদত্ত আইডিযুক্ত কালেকশন গ্রুপগুলোকেই এক্সপোর্ট করে। একটি কালেকশন গ্রুপের মধ্যে সেই সমস্ত কালেকশন এবং সাব-কালেকশন অন্তর্ভুক্ত থাকে, যাদের চূড়ান্ত কালেকশন আইডি হলো কালেকশন গ্রুপ আইডি।
gcloud firestore export gs://[BUCKET_NAME] \ --collection-ids=[COLLECTION_GROUP_ID_1],[COLLECTION_GROUP_ID_2] \ --database=[DATABASE]
উদাহরণস্বরূপ, আপনি foo ডেটাবেসে একটি restaurants কালেকশন ডিজাইন করতে পারেন যাতে ratings , reviews বা outlets মতো একাধিক সাব-কালেকশন অন্তর্ভুক্ত থাকে। reviews কালেকশন গ্রুপটি এক্সপোর্ট করতে হলে, এটিকে অবশ্যই স্পষ্টভাবে তালিকাভুক্ত করতে হবে:
gcloud firestore export gs://[BUCKET_NAME] \ --collection-ids=reviews \ --database='cymbal'
এর পরিবর্তে restaurants নির্দিষ্ট করা হলে, reviews সাবকালেকশনের ডকুমেন্টগুলো এক্সপোর্ট করা হবে না।
PITR টাইমস্ট্যাম্প থেকে রপ্তানি করুন
আপনি PITR ডেটা থেকে আপনার ডাটাবেস Cloud Storage এক্সপোর্ট করতে পারেন। আপনি সেই PITR ডেটা এক্সপোর্ট করতে পারবেন যার টাইমস্ট্যাম্পটি গত সাত দিনের মধ্যেকার একটি পূর্ণ মিনিটের টাইমস্ট্যাম্প, কিন্তু earliestVersionTime এর আগের নয়। যদি নির্দিষ্ট টাইমস্ট্যাম্পে ডেটা আর বিদ্যমান না থাকে, তাহলে এক্সপোর্ট প্রক্রিয়াটি ব্যর্থ হবে।
PITR এক্সপোর্ট অপারেশনটি সমস্ত ফিল্টার সমর্থন করে, যার মধ্যে সমস্ত ডকুমেন্ট এক্সপোর্ট করা এবং নির্দিষ্ট কালেকশন গ্রুপ এক্সপোর্ট করা অন্তর্ভুক্ত।
PITR ডেটা রপ্তানি করার আগে নিম্নলিখিত বিষয়গুলো লক্ষ্য করুন:
- টাইমস্ট্যাম্পটি RFC 3339 ফরম্যাটে উল্লেখ করুন। উদাহরণস্বরূপ,
2023-05-26T10:20:00.00Z। - নিশ্চিত করুন যে আপনার নির্দিষ্ট করা টাইমস্ট্যাম্পটি গত সাত দিনের মধ্যেকার একটি পূর্ণ মিনিটের টাইমস্ট্যাম্প, তবে তা
earliestVersionTimeএর আগের নয়। নির্দিষ্ট টাইমস্ট্যাম্পে যদি আর কোনো ডেটা না থাকে, তাহলে একটি ত্রুটি প্রদর্শিত হবে। - ব্যর্থ PITR রপ্তানির জন্য আপনাকে কোনো চার্জ করা হয় না।
কনসোল
গুগল ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসে যান- ডাটাবেসের তালিকা থেকে একটি ডাটাবেস নির্বাচন করুন।
- ন্যাভিগেশন মেনুতে, ইমপোর্ট/এক্সপোর্ট-এ ক্লিক করুন।
- এক্সপোর্ট-এ ক্লিক করুন।
- সম্পূর্ণ ডাটাবেস অথবা শুধুমাত্র নির্দিষ্ট কালেকশন গ্রুপগুলো এক্সপোর্ট করার জন্য এক্সপোর্ট সোর্স কনফিগার করুন।
‘এক্সপোর্ট করার জন্য আপনার ডাটাবেসের অবস্থা নির্বাচন করুন’ বিভাগে, ‘পূর্ববর্তী কোনো সময় থেকে এক্সপোর্ট করুন’ নির্বাচন করুন।
এক্সপোর্টের জন্য ব্যবহার করার জন্য একটি স্ন্যাপশট সময় নির্বাচন করুন।
- গন্তব্য বিভাগে, একটি Cloud Storage বাকেটের নাম লিখুন অথবা ব্রাউজ বোতামটি ব্যবহার করে একটি বাকেট নির্বাচন করুন।
এক্সপোর্ট-এ ক্লিক করুন।
কনসোলটি ইম্পোর্ট/এক্সপোর্ট পেজে ফিরে আসে। অপারেশনটি সফলভাবে শুরু হলে, পেজটি সাম্প্রতিক ইম্পোর্ট ও এক্সপোর্ট পেজে একটি এন্ট্রি যোগ করে। ব্যর্থ হলে, পেজটি একটি ত্রুটির বার্তা প্রদর্শন করে।
জিক্লাউড
আপনি gcloud firestore export কমান্ড ব্যবহার করে PITR ডেটা থেকে আপনার ডাটাবেস Cloud Storage এক্সপোর্ট করতে পারেন।
রিকভারি টাইমস্ট্যাম্পে snapshot-time প্যারামিটারটি নির্দিষ্ট করে ডাটাবেসটি এক্সপোর্ট করুন। আপনার বাকেটে ডাটাবেসটি এক্সপোর্ট করতে নিম্নলিখিত কমান্ডটি চালান।
gcloud firestore export gs://[BUCKET_NAME_PATH] \ --snapshot-time=[PITR_TIMESTAMP]
যেখানে PITR_TIMESTAMP হলো মিনিট-ভিত্তিক একটি PITR টাইমস্ট্যাম্প, উদাহরণস্বরূপ, 2023-05-26T10:20:00.00Z ।
নির্দিষ্ট কালেকশন গ্রুপগুলো এক্সপোর্ট করতে --collection-ids ফ্ল্যাগটি যোগ করুন।
ডেটা আমদানি করুন
একবার Cloud Storage ফাইলগুলো এক্সপোর্ট করার পর, আপনি সেই ফাইলগুলোর ডকুমেন্টগুলো আপনার নিজের প্রজেক্টে বা অন্য কোনো প্রজেক্টে ইম্পোর্ট করতে পারবেন। ইম্পোর্ট অপারেশন সম্পর্কে নিম্নলিখিত বিষয়গুলো লক্ষ্য করুন:
যখন আপনি ডেটা ইম্পোর্ট করেন, তখন আপনার ডাটাবেসের বর্তমান ইনডেক্স ডেফিনিশন ব্যবহার করে প্রয়োজনীয় ইনডেক্সগুলো আপডেট করা হয়। এক্সপোর্টে কোনো ইনডেক্স ডেফিনিশন থাকে না।
ইম্পোর্ট করার সময় নতুন কোনো ডকুমেন্ট আইডি বরাদ্দ করা হয় না। ইম্পোর্ট করার ক্ষেত্রে এক্সপোর্টের সময় সংগৃহীত আইডিগুলোই ব্যবহৃত হয়। কোনো ডকুমেন্ট ইম্পোর্ট করার সময়, আইডি সংঘর্ষ এড়ানোর জন্য সেটির আইডি সংরক্ষিত রাখা হয়। যদি একই আইডির কোনো ডকুমেন্ট আগে থেকেই বিদ্যমান থাকে, তবে ইম্পোর্ট করার সময় বিদ্যমান ডকুমেন্টটির আইডি মুছে ফেলা হয়।
আপনার ডাটাবেসের কোনো ডকুমেন্ট যদি ইম্পোর্টের দ্বারা প্রভাবিত না হয়, তাহলে ইম্পোর্টের পরেও সেটি আপনার ডাটাবেসে থেকে যাবে।
ইম্পোর্ট অপারেশন ক্লাউড ফাংশন সক্রিয় করে না। স্ন্যাপশট লিসেনাররা ইম্পোর্ট অপারেশন সম্পর্কিত আপডেট পেয়ে থাকে।
.overall_export_metadataফাইলের নামটি অবশ্যই এর প্যারেন্ট ফোল্ডারের নামের সাথে মিলতে হবে:gs://BUCKET_NAME/OPTIONAL_NAMESPACE_PATH/ PARENT_FOLDER_NAME / PARENT_FOLDER_NAME .overall_export_metadataযদি আপনি কোনো এক্সপোর্টের আউটপুট ফাইলগুলো স্থানান্তর বা কপি করেন, তাহলে PARENT_FOLDER_NAME এবং
.overall_export_metadataফাইলের নাম একই রাখুন।
একটি রপ্তানি থেকে সমস্ত নথি আমদানি করুন
গুগল ক্লাউড কনসোল
গুগল ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেসটি নির্বাচন করুন।
ন্যাভিগেশন মেনুতে, ইমপোর্ট/এক্সপোর্ট-এ ক্লিক করুন।
ইম্পোর্ট-এ ক্লিক করুন।
'Filename ' ফিল্ডে, সম্পন্ন হওয়া এক্সপোর্ট অপারেশন থেকে একটি
.overall_export_metadataফাইলের নাম লিখুন। ফাইলটি নির্বাচন করতে আপনি 'Browse ' বাটনটি ব্যবহার করতে পারেন।ইম্পোর্ট-এ ক্লিক করুন।
কনসোলটি ইম্পোর্ট/এক্সপোর্ট পেজে ফিরে আসে। অপারেশনটি সফলভাবে শুরু হলে, পেজটি সাম্প্রতিক ইম্পোর্ট ও এক্সপোর্ট পেজে একটি এন্ট্রি যোগ করে। ব্যর্থ হলে, পেজটি একটি ত্রুটির বার্তা প্রদর্শন করে।
জিক্লাউড
পূর্ববর্তী এক্সপোর্ট অপারেশন থেকে ডকুমেন্ট ইম্পোর্ট করতে firestore import কমান্ডটি ব্যবহার করুন।
gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ --database=[DATABASE]
নিম্নলিখিতগুলি প্রতিস্থাপন করুন:
BUCKET_NAME/EXPORT_PREFIX: আপনার এক্সপোর্ট ফাইলগুলির অবস্থান।DATABASE: ডাটাবেসের নাম। ডিফল্ট ডাটাবেসের জন্য,--database='(default)'ব্যবহার করুন।
উদাহরণস্বরূপ:
gcloud firestore import gs://my-bucket/2017-05-25T23:54:39_76544/ --database='cymbal'
আপনি গুগল ক্লাউড কনসোলের Cloud Storage ব্রাউজারে আপনার এক্সপোর্ট ফাইলগুলির অবস্থান নিশ্চিত করতে পারেন:
একবার ইম্পোর্ট অপারেশন শুরু করলে, টার্মিনাল বন্ধ করলেও অপারেশনটি বাতিল হয় না, আরও জানতে অপারেশন বাতিল করার পদ্ধতি দেখুন।
নির্দিষ্ট সংগ্রহ গোষ্ঠী আমদানি করুন
গুগল ক্লাউড কনসোল
আপনি কনসোলে নির্দিষ্ট কালেকশন গ্রুপ নির্বাচন করতে পারবেন না। এর পরিবর্তে gcloud ব্যবহার করুন।
জিক্লাউড
এক সেট এক্সপোর্ট ফাইল থেকে নির্দিষ্ট কালেকশন গ্রুপ ইম্পোর্ট করতে, --collection-ids ফ্ল্যাগটি ব্যবহার করুন। এই অপারেশনটি শুধুমাত্র প্রদত্ত আইডি সহ কালেকশন গ্রুপগুলো ইম্পোর্ট করে। একটি কালেকশন গ্রুপের মধ্যে সেই সমস্ত কালেকশন এবং সাব-কালেকশন অন্তর্ভুক্ত থাকে, যাদের চূড়ান্ত কালেকশন আইডি হলো কালেকশন গ্রুপ আইডি। --database ফ্ল্যাগ ব্যবহার করে ডাটাবেসের নাম নির্দিষ্ট করুন। ডিফল্ট ডাটাবেসের জন্য, --database='(default)' ব্যবহার করুন।
শুধুমাত্র নির্দিষ্ট কালেকশন গ্রুপের এক্সপোর্ট থেকেই নির্দিষ্ট কালেকশন গ্রুপের ইম্পোর্ট করা যায়। সমস্ত ডকুমেন্টের এক্সপোর্ট থেকে আপনি নির্দিষ্ট কালেকশন গ্রুপ ইম্পোর্ট করতে পারবেন না।
gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ \ --collection-ids=[COLLECTION_GROUP_ID_1],[COLLECTION_GROUP_ID_2] \ --database=[DATABASE]
একটি PITR রপ্তানি আমদানি করুন
আপনার এক্সপোর্ট করা ডাটাবেস ইম্পোর্ট করতে 'Import all documents'- এর ধাপগুলো অনুসরণ করুন। যদি আপনার ডাটাবেসে আগে থেকেই কোনো ডকুমেন্ট থাকে, তবে তা ওভাররাইট হয়ে যাবে।
রপ্তানি ও আমদানি কার্যক্রম পরিচালনা
আপনি কোনো এক্সপোর্ট বা ইম্পোর্ট অপারেশন শুরু করার পর, Cloud Firestore অপারেশনটিকে একটি অনন্য নাম প্রদান করে। আপনি অপারেশনটির নাম ব্যবহার করে সেটিকে ডিলিট, বাতিল বা তার স্ট্যাটাস চেক করতে পারেন।
অপারেশনের নামগুলোর শুরুতে projects/[PROJECT_ID]/databases/(default)/operations/ যুক্ত করা হয়, উদাহরণস্বরূপ:
projects/my-project/databases/(default)/operations/ASA1MTAwNDQxNAgadGx1YWZlZAcSeWx0aGdpbi1zYm9qLW5pbWRhEgopEg
তবে, describe , cancel , এবং delete কমান্ডগুলোর জন্য অপারেশনের নাম উল্লেখ করার সময় আপনি প্রিফিক্সটি বাদ দিতে পারেন।
সমস্ত রপ্তানি এবং আমদানি কার্যক্রম তালিকাভুক্ত করুন
গুগল ক্লাউড কনসোল
আপনি গুগল ক্লাউড কনসোলের ইম্পোর্ট/এক্সপোর্ট পৃষ্ঠায় সাম্প্রতিক এক্সপোর্ট এবং ইম্পোর্ট অপারেশনগুলির একটি তালিকা দেখতে পারেন।
গুগল ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেসটি নির্বাচন করুন।
ন্যাভিগেশন মেনুতে, ইমপোর্ট/এক্সপোর্ট-এ ক্লিক করুন।
জিক্লাউড
চলমান এবং সম্প্রতি সম্পন্ন হওয়া সমস্ত এক্সপোর্ট ও ইম্পোর্ট অপারেশন দেখতে operations list কমান্ডটি ব্যবহার করুন:
gcloud firestore operations list
অপারেশনের অবস্থা পরীক্ষা করুন
গুগল ক্লাউড কনসোল
আপনি গুগল ক্লাউড কনসোলের ইম্পোর্ট/এক্সপোর্ট পেজে সাম্প্রতিক কোনো এক্সপোর্ট বা ইম্পোর্ট অপারেশনের স্ট্যাটাস দেখতে পারেন।
গুগল ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেসটি নির্বাচন করুন।
ন্যাভিগেশন মেনুতে, ইমপোর্ট/এক্সপোর্ট-এ ক্লিক করুন।
জিক্লাউড
কোনো এক্সপোর্ট বা ইম্পোর্ট অপারেশনের স্ট্যাটাস দেখানোর জন্য operations describe কমান্ডটি ব্যবহার করুন।
gcloud firestore operations describe [OPERATION_NAME]
সমাপ্তির সময় অনুমান করুন
একটি দীর্ঘ-চলমান অপারেশনের অবস্থা জানতে চাইলে workEstimated এবং workCompleted মেট্রিকগুলো ফেরত আসে। এই মেট্রিকগুলোর প্রতিটিই বাইটের সংখ্যা এবং এনটিটির সংখ্যা উভয় এককেই ফেরত দেওয়া হয়:
workEstimatedদেখায় যে একটি অপারেশন আনুমানিক মোট কত বাইট এবং ডকুমেন্ট প্রসেস করবে। Cloud Firestore যদি কোনো অনুমান করতে না পারে, তবে এই মেট্রিকটি বাদ দিতে পারে।workCompletedএখন পর্যন্ত প্রক্রিয়াকৃত বাইট এবং ডকুমেন্টের সংখ্যা দেখায়। অপারেশনটি সম্পন্ন হওয়ার পর, এই মানটি প্রকৃতপক্ষে প্রক্রিয়াকৃত মোট বাইট এবং ডকুমেন্টের সংখ্যা দেখায়, যাworkEstimatedএর মানের চেয়ে বেশি হতে পারে।
কাজের অগ্রগতির একটি মোটামুটি ধারণা পেতে, workCompleted workEstimated কাজ দিয়ে ভাগ করুন। এই অনুমানটি ভুল হতে পারে, কারণ এটি বিলম্বিত পরিসংখ্যান সংগ্রহের উপর নির্ভরশীল।
একটি অপারেশন বাতিল করুন
গুগল ক্লাউড কনসোল
আপনি গুগল ক্লাউড কনসোলের ইম্পোর্ট/এক্সপোর্ট পেজ থেকে চলমান কোনো এক্সপোর্ট বা ইম্পোর্ট অপারেশন বাতিল করতে পারেন।
গুগল ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেসটি নির্বাচন করুন।
ন্যাভিগেশন মেনুতে, ইমপোর্ট/এক্সপোর্ট-এ ক্লিক করুন।
সাম্প্রতিক আমদানি ও রপ্তানি সারণীতে, বর্তমানে চলমান অপারেশনগুলোর ' সম্পন্ন' কলামে একটি 'বাতিল' বোতাম থাকে। অপারেশনটি বন্ধ করতে 'বাতিল' বোতামটি ক্লিক করুন। অপারেশনটি সম্পূর্ণরূপে বন্ধ হয়ে গেলে বোতামটি প্রথমে ' বাতিল করা হচ্ছে ' বার্তায় এবং তারপর 'বাতিল' বার্তায় পরিবর্তিত হয়।

জিক্লাউড
চলমান কোনো অপারেশন বন্ধ করতে operations cancel কমান্ডটি ব্যবহার করুন:
gcloud firestore operations cancel [OPERATION_NAME]
চলমান কোনো অপারেশন বাতিল করলে তা পূর্বাবস্থায় ফিরে যায় না। একটি বাতিল করা এক্সপোর্ট অপারেশনের ফলে ইতিমধ্যে এক্সপোর্ট করা ডকুমেন্টগুলো Cloud Storage থেকে যাবে, এবং একটি বাতিল করা ইম্পোর্ট অপারেশনের ফলে আপনার ডেটাবেসে ইতিমধ্যে করা আপডেটগুলো অপরিবর্তিত থাকবে। আপনি আংশিকভাবে সম্পন্ন কোনো এক্সপোর্ট ইম্পোর্ট করতে পারবেন না।
একটি অপারেশন মুছে ফেলুন
সাম্প্রতিক অপারেশনের তালিকা থেকে কোনো অপারেশন মুছে ফেলার জন্য gcloud firestore operations delete কমান্ডটি ব্যবহার করুন। এই কমান্ডটি Cloud Storage থেকে এক্সপোর্ট ফাইলগুলো মুছে ফেলবে না।
gcloud firestore operations delete [OPERATION_NAME]
রপ্তানি ও আমদানি কার্যক্রমের বিলিং এবং মূল্য নির্ধারণ
ম্যানেজড এক্সপোর্ট ও ইম্পোর্ট পরিষেবা ব্যবহার করার আগে আপনাকে আপনার Google Cloud প্রোজেক্টের জন্য বিলিং চালু করতে হবে।
Cloud Firestore প্রাইসিং- এ তালিকাভুক্ত হারে এক্সপোর্ট এবং ইম্পোর্ট অপারেশনের জন্য ডকুমেন্ট রিড এবং রাইটের চার্জ প্রযোজ্য। এক্সপোর্ট অপারেশনের ক্ষেত্রে, এক্সপোর্ট করা প্রতিটি ডকুমেন্টের জন্য একটি রিড অপারেশন চার্জ প্রযোজ্য। ইম্পোর্ট অপারেশনের ক্ষেত্রে, ইম্পোর্ট করা প্রতিটি ডকুমেন্টের জন্য একটি রাইট অপারেশন চার্জ প্রযোজ্য।
Cloud Storage সংরক্ষিত আউটপুট ফাইলগুলো আপনার Cloud Storage ডেটা স্টোরেজ খরচের অন্তর্ভুক্ত হয়।
এক্সপোর্ট বা ইম্পোর্ট অপারেশন সম্পন্ন না হওয়া পর্যন্ত আপনার Google Cloud বাজেট অ্যালার্ট চালু হবে না। এক্সপোর্ট এবং ইম্পোর্ট অপারেশন কনসোলের ইউসেজ সেকশনে দেখানো ব্যবহারের উপর কোনো প্রভাব ফেলবে না।
রপ্তানি ও আমদানি খরচ দেখা
এক্সপোর্ট এবং ইম্পোর্ট অপারেশনগুলো বিল করা অপারেশনগুলিতে goog-firestoremanaged:exportimport লেবেলটি প্রয়োগ করে। ক্লাউড বিলিং রিপোর্ট পেজে , আপনি ইম্পোর্ট এবং এক্সপোর্ট অপারেশন সম্পর্কিত খরচ দেখতে এই লেবেলটি ব্যবহার করতে পারেন:

BigQuery-তে রপ্তানি করুন
আপনি Cloud Firestore এক্সপোর্ট থেকে BigQuery তে ডেটা লোড করতে পারেন, কিন্তু শুধুমাত্র যদি আপনি একটি collection-ids ফিল্টার নির্দিষ্ট করে থাকেন। Cloud Firestore এক্সপোর্ট থেকে ডেটা লোড করা দেখুন।
BigQuery কলাম সীমা
BigQuery প্রতি টেবিলে ১০,০০০ কলামের একটি সীমা আরোপ করে। Cloud Firestore এক্সপোর্ট অপারেশন প্রতিটি কালেকশন গ্রুপের জন্য একটি BigQuery টেবিল স্কিমা তৈরি করে। এই স্কিমাতে, একটি কালেকশন গ্রুপের অন্তর্গত প্রতিটি অনন্য ফিল্ডের নাম একটি স্কিমা কলামে পরিণত হয়।
যদি কোনো কালেকশন গ্রুপের BigQuery স্কিমাতে ১০,০০০-এর বেশি কলাম থাকে, তাহলে Cloud Firestore এক্সপোর্ট অপারেশনটি ম্যাপ ফিল্ডগুলোকে বাইট হিসেবে গণ্য করে কলামের সীমা মেনে চলার চেষ্টা করে। যদি এই রূপান্তরের ফলে কলামের সংখ্যা ১০,০০০-এর নিচে নেমে আসে, তাহলে আপনি BigQuery তে ডেটা লোড করতে পারবেন, কিন্তু ম্যাপ ফিল্ডের ভেতরের সাবফিল্ডগুলো কোয়েরি করতে পারবেন না। এরপরও যদি কলামের সংখ্যা ১০,০০০-এর বেশি থাকে, তাহলে এক্সপোর্ট অপারেশনটি কালেকশন গ্রুপটির জন্য কোনো BigQuery স্কিমা তৈরি করে না এবং আপনি এর ডেটা BigQuery তে লোড করতে পারবেন না।
রপ্তানি ফরম্যাট এবং মেটাডেটা ফাইল
ম্যানেজড এক্সপোর্টের আউটপুট LevelDB লগ ফরম্যাট ব্যবহার করে।
মেটাডেটা ফাইল
একটি এক্সপোর্ট অপারেশন আপনার নির্দিষ্ট করা প্রতিটি কালেকশন গ্রুপের জন্য একটি মেটাডেটা ফাইল তৈরি করে। মেটাডেটা ফাইলগুলোর নাম সাধারণত ALL_NAMESPACES_KIND_[COLLECTION_GROUP_ID].export_metadata হয়ে থাকে।
মেটাডেটা ফাইলগুলো হলো প্রোটোকল বাফার এবং আপনি protoc প্রোটোকল কম্পাইলার দিয়ে এগুলো ডিকোড করতে পারেন। উদাহরণস্বরূপ, এক্সপোর্ট ফাইলগুলোতে কোন কোন কালেকশন গ্রুপ রয়েছে তা নির্ধারণ করতে আপনি একটি মেটাডেটা ফাইল ডিকোড করতে পারেন:
protoc --decode_raw < export0.export_metadata
পরিষেবা এজেন্ট স্থানান্তর
Cloud Firestore App Engine সার্ভিস অ্যাকাউন্টের পরিবর্তে, ইম্পোর্ট এবং এক্সপোর্ট অপারেশন অনুমোদন করার জন্য একটি Cloud Firestore সার্ভিস এজেন্ট ব্যবহার করে। সার্ভিস এজেন্ট এবং সার্ভিস অ্যাকাউন্ট নিম্নলিখিত নামকরণের নিয়মগুলো অনুসরণ করে:
- Cloud Firestore পরিষেবা এজেন্ট
-
service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com
Cloud Firestore আগে Cloud Firestore সার্ভিস এজেন্টের পরিবর্তে App Engine ডিফল্ট সার্ভিস অ্যাকাউন্ট ব্যবহার করত। যদি আপনার ডাটাবেস এখনও ডেটা ইম্পোর্ট বা এক্সপোর্ট করার জন্য App Engine সার্ভিস অ্যাকাউন্ট ব্যবহার করে, তাহলে আমরা আপনাকে Cloud Firestore সার্ভিস এজেন্ট ব্যবহারে মাইগ্রেট করার জন্য এই বিভাগের নির্দেশাবলী অনুসরণ করার পরামর্শ দিচ্ছি।
- App Engine পরিষেবা অ্যাকাউন্ট
-
PROJECT_ID @appspot.gserviceaccount.com
Cloud Firestore সার্ভিস এজেন্টটি অধিকতর পছন্দনীয়, কারণ এটি Cloud Firestore জন্য নির্দিষ্ট। App Engine সার্ভিস অ্যাকাউন্টটি একাধিক সার্ভিস দ্বারা ব্যবহৃত হয়।
অনুমোদন অ্যাকাউন্ট দেখুন
গুগল ক্লাউড কনসোলের ইম্পোর্ট/এক্সপোর্ট পেজ থেকে আপনি দেখতে পারেন, আপনার ইম্পোর্ট ও এক্সপোর্ট অপারেশনগুলো অনুরোধ অনুমোদনের জন্য কোন অ্যাকাউন্ট ব্যবহার করে। আপনার ডেটাবেসটি ইতোমধ্যে Cloud Firestore সার্ভিস এজেন্ট ব্যবহার করছে কিনা, তাও আপনি দেখতে পারেন।
গুগল ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
- ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেসটি নির্বাচন করুন।
ন্যাভিগেশন মেনুতে, ইমপোর্ট/এক্সপোর্ট-এ ক্লিক করুন।
- 'Import/Export jobs run as' লেবেলের পাশে অনুমোদন অ্যাকাউন্টটি দেখুন।
যদি আপনার প্রজেক্টে Cloud Firestore সার্ভিস এজেন্ট ব্যবহার করা না হয়, তাহলে আপনি নিম্নলিখিত পদ্ধতিগুলোর যেকোনো একটি ব্যবহার করে Cloud Firestore সার্ভিস এজেন্টে মাইগ্রেট করতে পারেন:
- Cloud Storage বাকেটের অনুমতি যাচাই ও আপডেট করে একটি প্রজেক্ট মাইগ্রেট করুন (প্রস্তাবিত) ।
- একটি সংস্থা-ব্যাপী নীতিগত সীমাবদ্ধতা যোগ করুন যা সংস্থার অন্তর্ভুক্ত সমস্ত প্রকল্পকে প্রভাবিত করবে।
এই কৌশলগুলোর মধ্যে প্রথমটি অধিকতর পছন্দনীয়, কারণ এটি কার্যকারিতার পরিধিকে একটিমাত্র Cloud Firestore প্রজেক্টের মধ্যে সীমাবদ্ধ রাখে। দ্বিতীয় কৌশলটি পছন্দনীয় নয়, কারণ এটি বিদ্যমান Cloud Storage বাকেটের অনুমতিগুলো স্থানান্তর করে না। তবে, এটি সংস্থা পর্যায়ে নিরাপত্তা সম্মতি প্রদান করে।
Cloud Storage বাকেটের অনুমতিগুলি পরীক্ষা ও আপডেট করে মাইগ্রেট করুন।
স্থানান্তর প্রক্রিয়ার দুটি ধাপ রয়েছে:
- Cloud Storage বাকেটের অনুমতি আপডেট করুন। বিস্তারিত জানতে নিম্নলিখিত বিভাগটি দেখুন।
- Cloud Firestore সার্ভিস এজেন্টে মাইগ্রেশন নিশ্চিত করুন।
পরিষেবা এজেন্ট বালতি অনুমতি
অন্য কোনো প্রজেক্টের Cloud Storage বাকেট ব্যবহার করে এমন যেকোনো এক্সপোর্ট বা ইম্পোর্ট অপারেশনের জন্য, আপনাকে অবশ্যই সেই বাকেটের জন্য Cloud Firestore সার্ভিস এজেন্টকে অনুমতি দিতে হবে। উদাহরণস্বরূপ, অন্য প্রজেক্টে ডেটা স্থানান্তরকারী অপারেশনগুলোর জন্য সেই অন্য প্রজেক্টের একটি বাকেট অ্যাক্সেস করার প্রয়োজন হয়। অন্যথায়, Cloud Firestore সার্ভিস এজেন্টে মাইগ্রেট করার পর এই অপারেশনগুলো ব্যর্থ হয়।
একই প্রজেক্টের মধ্যে থাকা ইম্পোর্ট এবং এক্সপোর্ট ওয়ার্কফ্লো-এর জন্য পারমিশন পরিবর্তনের প্রয়োজন হয় না। Cloud Firestore সার্ভিস এজেন্ট ডিফল্টভাবে একই প্রজেক্টের বাকেটগুলো অ্যাক্সেস করতে পারে।
service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com সার্ভিস এজেন্টকে অ্যাক্সেস দেওয়ার জন্য অন্যান্য প্রজেক্টের Cloud Storage বাকেটগুলির অনুমতি আপডেট করুন। সার্ভিস এজেন্টকে Firestore Service Agent রোলটি প্রদান করুন।
Firestore Service Agent রোল একটি Cloud Storage বাকেটের জন্য রিড এবং রাইট পারমিশন প্রদান করে। যদি আপনার শুধুমাত্র রিড অথবা শুধুমাত্র রাইট পারমিশন দেওয়ার প্রয়োজন হয়, তাহলে একটি কাস্টম রোল ব্যবহার করুন।
পরবর্তী বিভাগে বর্ণিত মাইগ্রেশন প্রক্রিয়াটি আপনাকে Cloud Storage বাকেটগুলি সনাক্ত করতে সাহায্য করে যেগুলির অনুমতি আপডেটের প্রয়োজন হতে পারে।
একটি প্রজেক্ট ফায়ারস্টোর সার্ভিস এজেন্টে স্থানান্তর করুন
App Engine সার্ভিস অ্যাকাউন্ট থেকে Cloud Firestore সার্ভিস এজেন্টে মাইগ্রেট করতে নিম্নলিখিত ধাপগুলো সম্পন্ন করুন। একবার সম্পন্ন হলে, এই মাইগ্রেশন আর পূর্বাবস্থায় ফেরানো যাবে না।
গুগল ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
- ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেসটি নির্বাচন করুন।
ন্যাভিগেশন মেনুতে, ইমপোর্ট/এক্সপোর্ট-এ ক্লিক করুন।
যদি আপনার প্রজেক্টটি এখনও Cloud Firestore সার্ভিস এজেন্টে স্থানান্তরিত না হয়ে থাকে, তাহলে আপনি মাইগ্রেশন সম্পর্কিত একটি ব্যানার এবং একটি ‘চেক বাকেট স্ট্যাটাস’ বাটন দেখতে পাবেন। পরবর্তী ধাপটি আপনাকে সম্ভাব্য পারমিশন ত্রুটি শনাক্ত করতে এবং সমাধান করতে সাহায্য করবে।
বালতির অবস্থা পরীক্ষা করুন -এ ক্লিক করুন।
আপনার মাইগ্রেশন সম্পন্ন করার বিকল্প এবং Cloud Storage বাকেটগুলির একটি তালিকা সহ একটি মেনু প্রদর্শিত হবে। তালিকাটি লোড হতে কয়েক মিনিট সময় লাগতে পারে।
এই তালিকায় এমন বাকেটগুলো অন্তর্ভুক্ত রয়েছে যেগুলো সম্প্রতি ইম্পোর্ট এবং এক্সপোর্ট অপারেশনে ব্যবহৃত হয়েছিল, কিন্তু বর্তমানে Cloud Firestore সার্ভিস এজেন্টকে রিড এবং রাইট পারমিশন দেয় না।
- আপনার প্রোজেক্টের Cloud Firestore সার্ভিস এজেন্টের প্রিন্সিপাল নামটি নোট করে নিন। সার্ভিস এজেন্টের নামটি ‘সার্ভিস এজেন্ট টু গিভ অ্যাক্সেস টু’ লেবেলের অধীনে প্রদর্শিত হয়।
তালিকায় থাকা যে কোনো বাকেট যা আপনি ভবিষ্যতে ইম্পোর্ট বা এক্সপোর্ট অপারেশনের জন্য ব্যবহার করবেন, তার জন্য নিম্নলিখিত ধাপগুলো সম্পন্ন করুন:
এই বাকেটের টেবিল সারিতে, 'Fix'- এ ক্লিক করুন। এটি একটি নতুন ট্যাবে সেই বাকেটের অনুমতি পৃষ্ঠাটি খুলবে।
- যোগ করুন-এ ক্লিক করুন।
- 'New principals' ফিল্ডে আপনার Cloud Firestore সার্ভিস এজেন্টের নাম লিখুন।
- 'Select a role' ফিল্ডে, 'Service Agents > Firestore Service Agent' নির্বাচন করুন।
- সংরক্ষণ করুন- এ ক্লিক করুন।
- Cloud Firestore ইম্পোর্ট/এক্সপোর্ট পেজ থাকা ট্যাবটিতে ফিরে যান।
- তালিকার অন্যান্য বাকেটগুলোর জন্য এই ধাপগুলো পুনরাবৃত্তি করুন। তালিকার সমস্ত পৃষ্ঠা দেখা নিশ্চিত করুন।
ফায়ারস্টোর সার্ভিস এজেন্ট-এ মাইগ্রেট করতে ক্লিক করুন। যদি আপনার এখনও এমন বাকেট থাকে যেগুলোর অনুমতি যাচাই ব্যর্থ হয়েছে, তাহলে আপনাকে মাইগ্রেট-এ ক্লিক করে আপনার মাইগ্রেশন নিশ্চিত করতে হবে।
আপনার মাইগ্রেশন সম্পন্ন হলে একটি অ্যালার্ট আপনাকে জানিয়ে দেয়। মাইগ্রেশনটি পূর্বাবস্থায় ফেরানো যাবে না।
মাইগ্রেশন স্থিতি দেখুন
আপনার প্রকল্পের মাইগ্রেশন স্ট্যাটাস যাচাই করতে:
গুগল ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
- ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেসটি নির্বাচন করুন।
ন্যাভিগেশন মেনুতে, ইমপোর্ট/এক্সপোর্ট-এ ক্লিক করুন।
'Import/Export jobs run as' লেবেলের পাশে প্রিন্সিপালটি খুঁজুন।
যদি প্রিন্সিপালটি
service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.comহয়, তাহলে আপনার প্রজেক্টটি ইতিমধ্যে Cloud Firestore সার্ভিস এজেন্টে স্থানান্তরিত হয়ে গেছে। এই স্থানান্তরটি পূর্বাবস্থায় ফেরানো যাবে না।প্রজেক্টটি মাইগ্রেট করা না হয়ে থাকলে, পেজের উপরে ‘চেক বাকেট স্ট্যাটাস’ বাটনসহ একটি ব্যানার দেখা যায়। মাইগ্রেশনটি সম্পন্ন করতে ‘ফায়ারস্টোর সার্ভিস এজেন্টে মাইগ্রেট করুন’ অংশটি দেখুন।
সংস্থাব্যাপী একটি নীতিগত সীমাবদ্ধতা যোগ করুন
আপনার প্রতিষ্ঠানের নীতিমালায় নিম্নলিখিত সীমাবদ্ধতাটি নির্ধারণ করুন:
আমদানি/রপ্তানির জন্য ফায়ারস্টোর সার্ভিস এজেন্ট প্রয়োজন (
firestore.requireP4SAforImportExport)।এই সীমাবদ্ধতা অনুযায়ী, অনুরোধ অনুমোদনের জন্য আমদানি ও রপ্তানি কার্যক্রমে Cloud Firestore সার্ভিস এজেন্ট ব্যবহার করতে হবে। এই সীমাবদ্ধতাটি সেট করতে, ‘সংস্থার নীতি তৈরি ও পরিচালনা’ দেখুন।
এই সাংগঠনিক নীতি সীমাবদ্ধতা প্রয়োগ করলে Cloud Firestore পরিষেবা এজেন্টের জন্য উপযুক্ত Cloud Storage বাকেটের অনুমতি স্বয়ংক্রিয়ভাবে মঞ্জুর হয় না।
যদি এই সীমাবদ্ধতাটি কোনো ইম্পোর্ট বা এক্সপোর্ট ওয়ার্কফ্লোতে অনুমতি সংক্রান্ত ত্রুটি তৈরি করে, তাহলে আপনি ডিফল্ট সার্ভিস অ্যাকাউন্ট ব্যবহারে ফিরে যেতে এটি নিষ্ক্রিয় করতে পারেন। Cloud Storage বাকেটের অনুমতি যাচাই ও আপডেট করার পর, আপনি সীমাবদ্ধতাটি আবার সক্রিয় করতে পারবেন।