ডেটা ইমপোর্ট ও এক্সপোর্ট করা

আপনি ম্যানেজ করা এক্সপোর্ট ও ইমপোর্ট পরিষেবা ব্যবহার করে ভুলবশত মুছে যাওয়া ডেটা ফিরিয়ে আনতে এবং অফলাইনে প্রসেস করার জন্য ডেটা এক্সপোর্ট করতে পারবেন। আপনি সব ডকুমেন্ট বা শুধু নির্দিষ্ট কালেকশন এক্সপোর্ট করতে পারবেন। একইভাবে, আপনি এক্সপোর্ট থেকে সব ডেটা বা শুধু নির্দিষ্ট সংগ্রহ ইমপোর্ট করতে পারবেন। একটি Cloud Firestore ডেটাবেস থেকে এক্সপোর্ট করা ডেটা অন্য একটি Cloud Firestore ডেটাবেসে ইমপোর্ট করা যেতে পারে। এছাড়াও, আপনি BigQuery-এ এক্সপোর্ট Cloud Firestore লোড করতে পারবেন।

এই পৃষ্ঠায় ম্যানেজ করা এক্সপোর্ট ও ইমপোর্ট পরিষেবা এবং Cloud Storage ব্যবহার করে কীভাবে Cloud Firestore ডকুমেন্ট এক্সপোর্ট ও ইমপোর্ট করতে হয় তা বর্ণনা করা হয়েছে। Cloud Firestore ম্যানেজ করা এক্সপোর্ট ও ইমপোর্ট পরিষেবা gcloud কমান্ড-লাইন টুল এবং Cloud Firestore API (REST, RPC)-এর মাধ্যমে উপলভ্য।

শুরু করার আগে

ম্যানেজ করা এক্সপোর্ট ও ইমপোর্ট পরিষেবা ব্যবহার করার আগে, আপনাকে নিম্নলিখিত টাস্ক সম্পূর্ণ করতে হবে:

  1. আপনার Google Cloud প্রোজেক্টের জন্য বিলিং চালু করুন। শুধুমাত্র Google Cloud বিলিং চালু থাকা প্রোজেক্ট এক্সপোর্ট ও ইমপোর্ট ফাংশন ব্যবহার করতে পারে।
  2. আপনার Cloud Firestore ডেটাবেস লোকেশনের কাছাকাছি কোনও লোকেশনে আপনার প্রোজেক্টের জন্য Cloud Storage বাকেট তৈরি করুন। আপনি এক্সপোর্ট ও ইমপোর্ট অপারেশনের জন্য অনুরোধকারী পেমেন্ট করে এমন বাকেট বা Rapid বাকেট ব্যবহার করতে পারবেন না।
  3. Cloud Firestore এবং Cloud Storage-এর জন্য আপনার অ্যাকাউন্টে প্রয়োজনীয় অনুমতি আছে কিনা তা ভাল করে দেখে নিন। আপনি প্রোজেক্টের মালিক হলে, আপনার অ্যাকাউন্টে প্রয়োজনীয় অনুমতি আছে। অন্যথায়, নিম্নলিখিত ভূমিকাগুলি এক্সপোর্ট ও ইমপোর্ট অপারেশন এবং Cloud Storage অ্যাক্সেস করার জন্য প্রয়োজনীয় অনুমতি প্রদান করে:

পরিষেবা এজেন্টের অনুমতি

এক্সপোর্ট ও ইমপোর্ট অপারেশন Cloud Firestore পরিষেবা এজেন্ট ব্যবহার করে Cloud Storage অপারেশনকে অনুমোদন করে। 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 সার্ভিস এজেন্টের নাম হিসেবে ব্যবহার করা হয়। পরিষেবা এজেন্টের নাম দেখতে, পরিষেবা এজেন্টের নাম দেখুন বিকল্পে যান।

এছাড়াও, আপনি Google Cloud কনসোল ব্যবহার করে এই ভূমিকা অ্যাসাইন করতে পারবেন।

পরিষেবা এজেন্টের নাম দেখুন

Google Cloud কনসোলের ইমপোর্ট/এক্সপোর্ট পৃষ্ঠা থেকে অনুরোধ অনুমোদন করার জন্য আপনার ইমপোর্ট ও এক্সপোর্ট অপারেশন যে অ্যাকাউন্ট ব্যবহার করে তা আপনি দেখতে পারবেন। এছাড়াও, আপনার ডেটাবেস Cloud Firestore পরিষেবা এজেন্ট নাকি পুরনো App Engine পরিষেবা অ্যাকাউন্ট ব্যবহার করে তা দেখতে পারবেন।

  1. ইমপোর্ট/এক্সপোর্ট জব রান অ্যাজ লেবেলের পাশে অথরাইজেশন অ্যাকাউন্ট দেখুন।

এক্সপোর্ট বা ইমপোর্ট অপারেশন করার জন্য ব্যবহার করা হবে এমন Cloud Storage বাকেটের জন্য পরিষেবা এজেন্টের Storage Admin ভূমিকা প্রয়োজন।

আপনার প্রোজেক্টের জন্য gcloud সেট-আপ করুন

আপনি Google Cloud কনসোল বা gcloud কমান্ড-লাইন টুলের মাধ্যমে ইমপোর্ট ও এক্সপোর্ট অপারেশন শুরু করতে পারবেন। gcloud ব্যবহার করতে, কমান্ড-লাইন টুল সেট-আপ করুন এবং নিম্নলিখিত উপায়ের মধ্যে কোনও একটির মাধ্যমে আপনার প্রোজেক্টে কানেক্ট করুন:

ডেটা ইম্পোর্ট করুন

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 ফাইলের নাম একই রাখুন।

  • সাব-কালেকশন সহ এক্সপোর্ট থেকে Cloud Firestore ডেটাবেসে ইমপোর্ট করা যায়নি কারণ Cloud Firestore-এ সাব-কালেকশন কাজ করে না।

  • BSON ধরনের সাথে এক্সপোর্ট থেকে Firestore Standard সংস্করণের ডেটাবেসে ইমপোর্ট করা যায় না, কারণ Firestore Standard সংস্করণে BSON ধরন কাজ করে না।

  • Cloud Firestore ডেটাবেসে ইমপোর্ট করার সময় ডিফল্ট নয় এমন নেমস্পেস (Datastore API) থেকে ডেটা ইমপোর্ট করা যাবে না।

    ডিফল্ট নয় এমন নেমস্পেস সহ ডেটা ফাইল থেকে Cloud Firestore ডেটাবেসে ইমপোর্ট করার অনুমতি তখনই দেওয়া হয় যখন এক্সপোর্ট অপারেশনে ডিফল্ট নেমস্পেস সহ --namespace-ids ফিল্টার অন্তর্ভুক্ত থাকে। শুধুমাত্র ডিফল্ট নেমস্পেস থেকে ডেটা ইমপোর্ট করা হয়।

এক্সপোর্ট থেকে সব ডকুমেন্ট ইমপোর্ট করুন

Google ক্লাউড কনসোল

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

    ডেটাবেসে যান

  2. ডেটাবেসের তালিকা থেকে একটি ডেটাবেস বেছে নিন।

  3. নেভিগেশন মেনুতে, ইমপোর্ট/এক্সপোর্ট বিকল্পে ক্লিক করুন।

  4. ইমপোর্ট করুন বিকল্পে ক্লিক করুন।

  5. ফাইলের নাম ফিল্ডে, সম্পূর্ণ হওয়া এক্সপোর্ট অপারেশন থেকে .overall_export_metadata ফাইলের নাম লিখুন। ফাইল বেছে নিতে ব্রাউজ করুন বোতাম ব্যবহার করতে পারেন।

  6. ইমপোর্ট করুন বিকল্পে ক্লিক করুন।

কনসোল ইমপোর্ট/এক্সপোর্ট পৃষ্ঠায় ফিরে যায়। অপারেশনটি সফলভাবে শুরু হলে, পৃষ্ঠাটি সাম্প্রতিক ইমপোর্ট এবং এক্সপোর্ট পৃষ্ঠায় একটি এন্ট্রি যোগ করে। ব্যর্থ হলে, পৃষ্ঠায় একটি সমস্যার মেসেজ দেখানো হয়।

gcloud

আগের এক্সপোর্ট অপারেশন থেকে ডকুমেন্ট ইমপোর্ট করতে firestore import কমান্ড ব্যবহার করুন।

gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ --database=[DATABASE]

নিম্নলিখিতগুলি পরিবর্তন করুন:

  • BUCKET_NAME/EXPORT_PREFIX: আপনার এক্সপোর্ট ফাইলের লোকেশন।

  • DATABASE: ডেটাবেসের নাম।

যেমন:

gcloud firestore import gs://my-bucket/2017-05-25T23:54:39_76544/ --database='cymbal'

আপনি Google Cloud কনসোলের Cloud Storage ব্রাউজারে আপনার এক্সপোর্ট ফাইলের লোকেশন কনফার্ম করতে পারবেন:

Cloud Storage ব্রাউজার খুলুন

আপনি ইমপোর্ট অপারেশন শুরু করার পরে, টার্মিনাল বন্ধ করে দিলেও অপারেশন বাতিল হয় না, অপারেশন বাতিল করুন দেখুন।

নির্দিষ্ট কালেকশন ইমপোর্ট করুন

Google ক্লাউড কনসোল

আপনি কনসোলে নির্দিষ্ট কালেকশন বেছে নিতে পারবেন না। পরিবর্তে gcloud ব্যবহার করুন।

gcloud

এক্সপোর্ট ফাইলের সেট থেকে নির্দিষ্ট কালেকশন ইম্পোর্ট করতে, --collection-ids ফ্ল্যাগ ব্যবহার করুন। এই অপারেশন শুধুমাত্র প্রদত্ত সংগ্রহ আইডি সহ সংগ্রহগুলি ইম্পোর্ট করে। --database ফ্ল্যাগ ব্যবহার করে ডেটাবেসের নাম উল্লেখ করুন।

নির্দিষ্ট কালেকশন ইমপোর্ট করার জন্য নির্দিষ্ট কালেকশন এক্সপোর্ট করতে হবে। আপনি সব ডকুমেন্টের এক্সপোর্ট থেকে নির্দিষ্ট সংগ্রহ ইমপোর্ট করতে পারবেন না।

  gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ \
  --collection-ids=[COLLECTION_ID_1],[COLLECTION_ID_2] \
  --database=[DATABASE]

PITR ডেটা সহ এক্সপোর্ট থেকে ইমপোর্ট করুন

PITR ডেটা ইমপোর্ট করতে, সব ডকুমেন্ট ইমপোর্ট করুন বা নির্দিষ্ট কালেকশন ইমপোর্ট করুন বিকল্পে উল্লেখ করা একই ধাপ অনুসরণ করুন। আপনার ডেটাবেসে আগে থেকেই কোনও ডকুমেন্ট থাকলে, সেটি ওভাররাইট করা হবে।

ডেটা এক্সপোর্ট করুন

এক্সপোর্ট অপারেশন আপনার ডেটাবেসের ডকুমেন্ট Cloud Storage বাকেটের ফাইলের সেটে কপি করে। মনে রাখবেন, এক্সপোর্ট শুরু হওয়ার সময় এক্সপোর্ট করা ডেটাবেসের স্ন্যাপশট নিখুঁত হয় না। এক্সপোর্ট করার সময় কোনও পরিবর্তন করা হলে, তা এক্সপোর্টে অন্তর্ভুক্ত থাকতে পারে।

সব ডকুমেন্ট এক্সপোর্ট করুন

Google ক্লাউড কনসোল

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

    ডেটাবেসে যান

  2. ডেটাবেসের তালিকা থেকে প্রয়োজনীয় ডেটাবেস বেছে নিন।

  3. নেভিগেশন মেনুতে, ইমপোর্ট/এক্সপোর্ট বিকল্পে ক্লিক করুন।

  4. এক্সপোর্ট করুন বিকল্পে ক্লিক করুন।

  5. সম্পূর্ণ ডেটাবেস এক্সপোর্ট করুন বিকল্পে ক্লিক করুন।

  6. বর্তমান ডেটা এক্সপোর্ট করতে ডেটাবেসের বর্তমান অবস্থা এক্সপোর্ট করুন বিকল্প বেছে নিন।

  7. গন্তব্য বিভাগে, Cloud Storage বাকেটের নাম লিখুন অথবা বাকেট বেছে নিতে ব্রাউজ করুন বোতাম ব্যবহার করুন।

  8. এক্সপোর্ট করুন বিকল্পে ক্লিক করুন।

কনসোল ইমপোর্ট/এক্সপোর্ট পৃষ্ঠায় ফিরে যায়। অপারেশনটি সফলভাবে শুরু হলে, পৃষ্ঠাটি সাম্প্রতিক ইমপোর্ট এবং এক্সপোর্ট পৃষ্ঠায় একটি এন্ট্রি যোগ করে। ব্যর্থ হলে, পৃষ্ঠায় একটি সমস্যার মেসেজ দেখানো হয়।

gcloud

আপনার ডেটাবেসের সব ডকুমেন্ট এক্সপোর্ট করতে 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: যে ডেটাবেস থেকে ডকুমেন্ট এক্সপোর্ট করতে চান সেটির নাম।

আপনি একবার এক্সপোর্ট অপারেশন শুরু করলে, টার্মিনাল বন্ধ করলেও অপারেশন বাতিল হয় না, অপারেশন বাতিল করুন দেখুন।

নির্দিষ্ট কালেকশন এক্সপোর্ট করুন

Google ক্লাউড কনসোল

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

    ডেটাবেসে যান

  2. ডেটাবেসের তালিকা থেকে প্রয়োজনীয় ডেটাবেস বেছে নিন।

  3. নেভিগেশন মেনুতে, ইমপোর্ট/এক্সপোর্ট বিকল্পে ক্লিক করুন।

  4. এক্সপোর্ট করুন বিকল্পে ক্লিক করুন।

  5. এক বা একাধিক কালেকশন গ্রুপ এক্সপোর্ট করুন বিকল্পে ক্লিক করুন। এক বা একাধিক কালেকশন বেছে নিতে ড্রপ-ডাউন মেনু ব্যবহার করুন।

  6. বর্তমান ডেটা এক্সপোর্ট করতে ডেটাবেসের বর্তমান অবস্থা এক্সপোর্ট করুন বিকল্প বেছে নিন।

  7. গন্তব্য বিভাগে, Cloud Storage বাকেটের নাম লিখুন অথবা বাকেট বেছে নিতে ব্রাউজ করুন বোতাম ব্যবহার করুন।

  8. এক্সপোর্ট করুন বিকল্পে ক্লিক করুন।

কনসোল ইমপোর্ট/এক্সপোর্ট পৃষ্ঠায় ফিরে যায়। অপারেশনটি সফলভাবে শুরু হলে, পৃষ্ঠাটি সাম্প্রতিক ইমপোর্ট এবং এক্সপোর্ট পৃষ্ঠায় একটি এন্ট্রি যোগ করে। ব্যর্থ হলে, পৃষ্ঠায় একটি সমস্যার মেসেজ দেখানো হয়।

gcloud

নির্দিষ্ট কালেকশন এক্সপোর্ট করতে, --collection-ids ফ্ল্যাগ ব্যবহার করুন। এই অপারেশন শুধুমাত্র প্রদত্ত কালেকশন আইডি সহ কালেকশন এক্সপোর্ট করে।

gcloud firestore export gs://[BUCKET_NAME] \
--collection-ids=[COLLECTION_ID_1],[COLLECTION_ID_2] \
--database=[DATABASE]

যেমন, আপনি foo ডেটাবেসে restaurants কালেকশন ডিজাইন করতে পারেন যাতে ratings, reviews বা outlets-এর মতো অতিরিক্ত কালেকশন অন্তর্ভুক্ত করা যায়। নির্দিষ্ট কালেকশন restaurants এবং reviews এক্সপোর্ট করতে, আপনার কমান্ড নিম্নলিখিত হবে:

gcloud firestore export gs://[BUCKET_NAME] \
--collection-ids=restaurants,reviews \
--database='cymbal'

PITR টাইমস্ট্যাম্প থেকে এক্সপোর্ট করুন

আপনি PITR ডেটা থেকে Cloud Storage-এ আপনার ডেটাবেস এক্সপোর্ট করতে পারবেন। আপনি PITR ডেটা এক্সপোর্ট করতে পারেন যেখানে টাইমস্ট্যাম্প হল গত সাত দিনের মধ্যে একটি সম্পূর্ণ মিনিটের টাইমস্ট্যাম্প, তবে earliestVersionTime-এর আগে নয়। নির্দিষ্ট টাইমস্ট্যাম্পে ডেটা আর উপলভ্য না থাকলে, এক্সপোর্ট অপারেশন ব্যর্থ হয়।

PITR এক্সপোর্ট অপারেশন সব ফিল্টার সাপোর্ট করে, যার মধ্যে সব ডকুমেন্ট এক্সপোর্ট করা এবং নির্দিষ্ট কালেকশন এক্সপোর্ট করা অন্তর্ভুক্ত।

PITR ডেটা এক্সপোর্ট করার আগে নিম্নলিখিত বিষয়গুলি মনে রাখবেন:

  • আপনার ডেটাবেসে PITR চালু করুন। PITR বন্ধ করা থাকলে, স্ন্যাপশট টাইমস্ট্যাম্পে এক্সপোর্ট করা যায় না, এমনকি earliestVersionTime-এর পরে গত এক ঘণ্টার মধ্যে টাইমস্ট্যাম্পের জন্যও। এক্সপোর্ট অপারেশন Point-in-Time Recovery must be enabled in order to execute exports at a snapshot timestamp সমস্যা দেখায়।
  • RFC 3339 ফর্ম্যাটে টাইমস্ট্যাম্প উল্লেখ করুন। যেমন, 2020-09-01T23:59:30.234233Z।
  • আপনার উল্লেখ করা টাইমস্ট্যাম্প যেন বিগত সাত দিনের মধ্যে পুরো মিনিটের টাইমস্ট্যাম্প হয়, তবে তা যেন earliestVersionTime-এর আগে না হয়। নির্দিষ্ট টাইমস্ট্যাম্পে ডেটা আর না থাকলে, একটি সমস্যা তৈরি হয়।
  • PITR এক্সপোর্ট করা না গেলে আপনাকে চার্জ করা হবে না।

কনসোল

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

    ডেটাবেসে যান
  2. ডেটাবেসের তালিকা থেকে একটি ডেটাবেস বেছে নিন।
  3. নেভিগেশন মেনুতে, ইমপোর্ট/এক্সপোর্ট বিকল্পে ক্লিক করুন।
  4. এক্সপোর্ট করুন বিকল্পে ক্লিক করুন।
  5. সম্পূর্ণ ডেটাবেস বা শুধুমাত্র নির্দিষ্ট কালেকশন এক্সপোর্ট করতে এক্সপোর্ট সোর্স কনফিগার করুন।
  6. এক্সপোর্ট করার জন্য আপনার ডেটাবেসের অবস্থা বেছে নিন বিভাগে, আগের কোনও সময় থেকে এক্সপোর্ট করুন বিকল্প বেছে নিন।

    এক্সপোর্ট করার জন্য ব্যবহার করতে স্ন্যাপশটের সময় বেছে নিন

  7. গন্তব্য বিভাগে, Cloud Storage বাকেটের নাম লিখুন অথবা বাকেট বেছে নিতে ব্রাউজ করুন বোতাম ব্যবহার করুন।
  8. এক্সপোর্ট করুন বিকল্পে ক্লিক করুন।

    কনসোল ইমপোর্ট/এক্সপোর্ট পৃষ্ঠায় ফিরে যায়। অপারেশনটি সফলভাবে শুরু হলে, পৃষ্ঠাটি সাম্প্রতিক ইমপোর্ট এবং এক্সপোর্ট পৃষ্ঠায় একটি এন্ট্রি যোগ করে। ব্যর্থ হলে, পৃষ্ঠায় একটি সমস্যার মেসেজ দেখানো হয়।

gcloud

আপনি 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 Firestore অপারেশনটিকে একটি অনন্য নাম দেয়। আপনি অপারেশনের নাম ব্যবহার করে অপারেশনটি মুছে ফেলতে, বাতিল করতে বা স্ট্যাটাস চেক করতে পারবেন।

অপারেশনের নামের শুরুতে projects/[PROJECT_ID]/databases/[DATABASE_ID]/operations/ থাকে, যেমন:

projects/my-project/databases/my-database/operations/ASA1MTAwNDQxNAgadGx1YWZlZAcSeWx0aGdpbi1zYm9qLW5pbWRhEgopEg

তবে, describe, cancel এবং delete কমান্ডের জন্য অপারেশনের নাম উল্লেখ করার সময় আপনি প্রিফিক্স বাদ দিতে পারেন।

সব এক্সপোর্ট ও ইমপোর্ট অপারেশন তালিকাভুক্ত করুন

Google ক্লাউড কনসোল

আপনি Google Cloud কনসোলের ইমপোর্ট/এক্সপোর্ট পৃষ্ঠায় সাম্প্রতিক এক্সপোর্ট ও ইমপোর্ট অপারেশনের তালিকা দেখতে পারবেন।

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

    ডেটাবেসে যান

  2. ডেটাবেসের তালিকা থেকে প্রয়োজনীয় ডেটাবেস বেছে নিন।

  3. নেভিগেশন মেনুতে, ইমপোর্ট/এক্সপোর্ট বিকল্পে ক্লিক করুন।

gcloud

বর্তমানে চলছে এবং সম্প্রতি সম্পূর্ণ হয়েছে এমন সব এক্সপোর্ট ও ইমপোর্ট অপারেশন দেখতে operations list কমান্ড ব্যবহার করুন:

gcloud firestore operations list

অপারেশন স্ট্যাটাস চেক করুন

Google ক্লাউড কনসোল

আপনি Google Cloud কনসোলের ইমপোর্ট/এক্সপোর্ট পৃষ্ঠা থেকে সাম্প্রতিক এক্সপোর্ট বা ইমপোর্ট অপারেশনের স্ট্যাটাস দেখতে পারবেন।

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

    ডেটাবেসে যান

  2. ডেটাবেসের তালিকা থেকে প্রয়োজনীয় ডেটাবেস বেছে নিন।

  3. নেভিগেশন মেনুতে, ইমপোর্ট/এক্সপোর্ট বিকল্পে ক্লিক করুন।

gcloud

এক্সপোর্ট বা ইমপোর্ট অপারেশনের স্ট্যাটাস দেখতে operations describe কমান্ড ব্যবহার করুন।

gcloud firestore operations describe [OPERATION_NAME]

সম্পূর্ণ হওয়ার আনুমানিক সময়

দীর্ঘ সময় ধরে চলা অপারেশনের স্ট্যাটাস সংক্রান্ত অনুরোধের উত্তরে workEstimated এবং workCompleted মেট্রিক ফেরত পাঠানো হয়। এইসব মেট্রিকের প্রতিটি বাইটের সংখ্যা এবং এন্টিটির সংখ্যা উভয় হিসেবেই দেখানো হয়:

  • workEstimated-এ কোনও অপারেশন প্রসেস করবে এমন আনুমানিক মোট বাইট ও ডকুমেন্টের সংখ্যা দেখানো হয়। Cloud Firestore এই মেট্রিক বাদ দিতে পারে যদি এটি অনুমান করতে না পারে।

  • workCompleted এখনও পর্যন্ত প্রসেস করা বাইট ও ডকুমেন্টের সংখ্যা দেখায়। অপারেশন সম্পূর্ণ হওয়ার পরে, ভ্যালু থেকে মোট কত বাইট ও ডকুমেন্ট প্রসেস করা হয়েছে তা জানা যায়, যা workEstimated-এর ভ্যালুর চেয়ে বেশি হতে পারে।

অগ্রগতির আনুমানিক হিসেব পেতে workCompleted-কে workEstimated দিয়ে ভাগ করুন। এই অনুমান ভুল হতে পারে, কারণ এটি পরিসংখ্যান সংগ্রহে বিলম্বের উপর নির্ভর করে।

কোনও অপারেশন বাতিল করা

Google ক্লাউড কনসোল

আপনি Google Cloud কনসোলের ইমপোর্ট/এক্সপোর্ট পৃষ্ঠা থেকে চলমান এক্সপোর্ট বা ইমপোর্ট অপারেশন বাতিল করতে পারবেন।

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

    ডেটাবেসে যান

  2. ডেটাবেসের তালিকা থেকে প্রয়োজনীয় ডেটাবেস বেছে নিন।

  3. নেভিগেশন মেনুতে, ইমপোর্ট/এক্সপোর্ট বিকল্পে ক্লিক করুন।

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

কনসোলে সাম্প্রতিক ইমপোর্ট ও এক্সপোর্টের সারণী, যেখানে অপারেশন বন্ধ করার জন্য বাতিল করার বিকল্প সহ একটি চলমান ডেটা ইমপোর্ট দেখানো হচ্ছে।

gcloud

চলমান অপারেশন বন্ধ করতে 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 লেবেল প্রয়োগ করে। Cloud Billing রিপোর্ট পৃষ্ঠায়, আপনি এই লেবেল ব্যবহার করে ইমপোর্ট ও এক্সপোর্ট অপারেশন সম্পর্কিত খরচ দেখতে পারবেন:

ফিল্টার মেনু থেকে goog-firestoremanaged লেবেল অ্যাক্সেস করুন।

BigQuery-তে এক্সপোর্ট করুন

আপনি Cloud Firestore এক্সপোর্ট থেকে BigQuery-এ ডেটা লোড করতে পারবেন, তবে শুধুমাত্র আপনি collection-ids ফিল্টার নির্দিষ্ট করলে। দেখুন Cloud Firestore এক্সপোর্ট থেকে ডেটা লোড করা হচ্ছে।

BigQuery-তে Cloud Firestore ডেটা লোড করার সময়, BSON ডেটার ধরন STRING ডেটার ধরন হিসেবে দেখানো হয়।

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