রপ্তানি এবং আমদানি তথ্য

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

এই পৃষ্ঠাটি Cloud Firestore নথিগুলি কীভাবে রপ্তানি এবং আমদানি করা যায় তা বর্ণনা করে পরিচালিত রপ্তানি এবং আমদানি পরিষেবা এবং Cloud Storage ব্যবহার করে৷ Cloud Firestore পরিচালিত রপ্তানি এবং আমদানি পরিষেবা gcloud কমান্ড-লাইন টুল এবং Cloud Firestore API ( REST , RPC ) এর মাধ্যমে উপলব্ধ।

আপনি শুরু করার আগে

আপনি পরিচালিত রপ্তানি এবং আমদানি পরিষেবা ব্যবহার করার আগে, আপনাকে অবশ্যই নিম্নলিখিত কাজগুলি সম্পূর্ণ করতে হবে:

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

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

Cloud Storage অপারেশন অনুমোদনের জন্য রপ্তানি এবং আমদানি ক্রিয়াকলাপগুলি একটি Cloud Firestore পরিষেবা এজেন্ট ব্যবহার করে৷ Cloud Firestore পরিষেবা এজেন্ট নিম্নলিখিত নামকরণ পদ্ধতি ব্যবহার করে:

Cloud Firestore সার্ভিস এজেন্ট
service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com

পরিষেবা এজেন্ট সম্পর্কে আরও জানতে, পরিষেবা এজেন্ট দেখুন।

Cloud Firestore পরিষেবা এজেন্টের Cloud Storage বাকেটের অ্যাক্সেস প্রয়োজন যা এক্সপোর্ট বা ইম্পোর্ট অপারেশনে ব্যবহৃত হয়। যদি আপনার 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 ক্লাউড কনসোল ব্যবহার করে এই ভূমিকা অর্পণ করতে পারেন৷

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

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

  1. লেবেল হিসাবে চালিত আমদানি/রপ্তানি কাজের পাশে অনুমোদন অ্যাকাউন্টটি দেখুন।

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

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

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

ডেটা রপ্তানি করুন

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

সমস্ত নথি রপ্তানি করুন

গুগল ক্লাউড কনসোল

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

    ডাটাবেসে যান

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

  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

  4. রপ্তানি ক্লিক করুন.

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

  6. নীচে গন্তব্য চয়ন করুন , একটি Cloud Storage বাকেটের নাম লিখুন বা একটি বালতি নির্বাচন করতে ব্রাউজ বোতামটি ব্যবহার করুন৷

  7. রপ্তানি ক্লিক করুন.

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

জিক্লাউড

আপনার Cloud Storage বাকেটের নামের সাথে [BUCKET_NAME] প্রতিস্থাপন করে আপনার ডাটাবেসের সমস্ত নথি রপ্তানি করতে firestore export কমান্ড ব্যবহার করুন৷ gcloud টুলটিকে অপারেশন সম্পূর্ণ হওয়ার জন্য অপেক্ষা করা থেকে আটকাতে --async পতাকা যোগ করুন।

  gcloud firestore export gs://[BUCKET_NAME] \
  --database=[DATABASE]

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

  • BUCKET_NAME : বালতির নামের পরে একটি ফাইল উপসর্গ যোগ করে আপনার রপ্তানি সংগঠিত করুন, উদাহরণস্বরূপ, BUCKET_NAME/my-exports-folder/export-name । যদি আপনি একটি ফাইল উপসর্গ প্রদান না করেন, পরিচালিত রপ্তানি পরিষেবা বর্তমান টাইমস্ট্যাম্পের উপর ভিত্তি করে একটি তৈরি করে৷

  • DATABASE : যে ডাটাবেস থেকে আপনি নথি রপ্তানি করতে চান তার নাম। ডিফল্ট ডাটাবেসের জন্য, --database='(default)' ব্যবহার করুন।

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

নির্দিষ্ট সংগ্রহ রপ্তানি করুন

গুগল ক্লাউড কনসোল

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

    ডাটাবেসে যান

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

  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

  4. রপ্তানি ক্লিক করুন.

  5. এক বা একাধিক সংগ্রহ গোষ্ঠী রপ্তানি করুন বিকল্পে ক্লিক করুন। এক বা একাধিক সংগ্রহ গোষ্ঠী নির্বাচন করতে ড্রপডাউন মেনু ব্যবহার করুন।

  6. নীচে গন্তব্য চয়ন করুন , একটি Cloud Storage বাকেটের নাম লিখুন বা একটি বালতি নির্বাচন করতে ব্রাউজ বোতামটি ব্যবহার করুন৷

  7. রপ্তানি ক্লিক করুন.

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

জিক্লাউড

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

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

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

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

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

আপনি gcloud firestore export কমান্ড ব্যবহার করে PITR ডেটা থেকে Cloud Storage আপনার ডাটাবেস রপ্তানি করতে পারেন। আপনি পিআইটিআর ডেটা রপ্তানি করতে পারেন যেখানে টাইমস্ট্যাম্পটি বিগত সাত দিনের মধ্যে পুরো মিনিটের টাইমস্ট্যাম্প, তবে earliestVersionTime সময়ের চেয়ে আগে নয়। যদি নির্দিষ্ট টাইমস্ট্যাম্পে ডেটা আর বিদ্যমান না থাকে, তাহলে এক্সপোর্ট অপারেশন ব্যর্থ হয়।

পিআইটিআর এক্সপোর্ট অপারেশন সমস্ত ফিল্টারকে সমর্থন করে, যার মধ্যে সমস্ত নথি রপ্তানি করা এবং নির্দিষ্ট সংগ্রহ রপ্তানি করা হয়।

  1. পছন্দসই পুনরুদ্ধার টাইমস্ট্যাম্পে snapshot-time প্যারামিটার নির্দিষ্ট করে ডাটাবেস রপ্তানি করুন।

    জিক্লাউড

    আপনার বালতিতে ডাটাবেস রপ্তানি করতে নিম্নলিখিত কমান্ডটি চালান।

    gcloud firestore export gs://[BUCKET_NAME_PATH] \
        --snapshot-time=[PITR_TIMESTAMP] \
        --collection-ids=[COLLECTION_IDS] \
        --namespace-ids=[NAMESPACE_IDS]
    

    কোথায়,

    • PITR_TIMESTAMP - মিনিট গ্রানুলিটিতে একটি PITR টাইমস্ট্যাম্প, উদাহরণস্বরূপ, 2023-05-26T10:20:00.00Z

    পিআইটিআর ডেটা রপ্তানি করার আগে নিম্নলিখিত পয়েন্টগুলি নোট করুন:

    • RFC 3339 ফর্ম্যাটে টাইমস্ট্যাম্প নির্দিষ্ট করুন। উদাহরণস্বরূপ, 2020-09-01T23:59:30.234233Z
    • নিশ্চিত করুন যে আপনি যে টাইমস্ট্যাম্পটি নির্দিষ্ট করেছেন তা গত সাত দিনের মধ্যে পুরো মিনিটের টাইমস্ট্যাম্প, তবে earliestVersionTime এর আগে নয়। যদি নির্দিষ্ট টাইমস্ট্যাম্পে ডেটা আর বিদ্যমান না থাকে, একটি ত্রুটি তৈরি হয়।
    • আপনি একটি ব্যর্থ PITR রপ্তানির জন্য চার্জ করা হয় না.

ডেটা আমদানি করুন

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

রপ্তানি থেকে সমস্ত নথি আমদানি করুন

গুগল ক্লাউড কনসোল

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

    ডাটাবেসে যান

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

  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

  4. আমদানিতে ক্লিক করুন।

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

  6. আমদানিতে ক্লিক করুন।

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

জিক্লাউড

পূর্ববর্তী এক্সপোর্ট অপারেশন থেকে নথি আমদানি করতে 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'

আপনি Google ক্লাউড কনসোলে Cloud Storage ব্রাউজারে আপনার এক্সপোর্ট ফাইলগুলির অবস্থান নিশ্চিত করতে পারেন:

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

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

নির্দিষ্ট সংগ্রহ আমদানি করুন

গুগল ক্লাউড কনসোল

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

জিক্লাউড

রপ্তানি ফাইলের একটি সেট থেকে নির্দিষ্ট সংগ্রহ গোষ্ঠী আমদানি করতে, --collection-ids পতাকা ব্যবহার করুন। অপারেশনটি প্রদত্ত সংগ্রহ আইডি সহ শুধুমাত্র সংগ্রহ গোষ্ঠীগুলিকে আমদানি করে৷ সংগ্রহ গ্রুপে নির্দিষ্ট সংগ্রহ আইডি সহ সমস্ত সংগ্রহ এবং উপ-সংগ্রহ (যেকোন পথে) অন্তর্ভুক্ত থাকে। --database পতাকা ব্যবহার করে ডাটাবেসের নাম উল্লেখ করুন। ডিফল্ট ডাটাবেসের জন্য, --database='(default)' ব্যবহার করুন।

শুধুমাত্র নির্দিষ্ট সংগ্রহ গোষ্ঠীর রপ্তানি নির্দিষ্ট সংগ্রহ গোষ্ঠীর আমদানি সমর্থন করে। আপনি সমস্ত নথির রপ্তানি থেকে নির্দিষ্ট সংগ্রহ আমদানি করতে পারবেন না।

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

একটি PITR রপ্তানি আমদানি করুন

আপনার রপ্তানিকৃত ডাটাবেস আমদানি করতে সমস্ত নথি আমদানির ধাপগুলি ব্যবহার করুন৷ আপনার ডাটাবেসে যদি কোনো ডকুমেন্ট আগে থেকেই থাকে, তাহলে তা ওভাররাইট করা হবে।

রপ্তানি ও আমদানি কার্যক্রম পরিচালনা

আপনি একটি রপ্তানি বা আমদানি অপারেশন শুরু করার পরে, Cloud Firestore অপারেশনটিকে একটি অনন্য নাম দেয়৷ আপনি অপারেশন নামটি মুছে ফেলতে, বাতিল করতে বা স্থিতি পরীক্ষা করতে ব্যবহার করতে পারেন।

অপারেশনের নামগুলো projects/[PROJECT_ID]/databases/(default)/operations/ এর সাথে প্রিফিক্স করা হয়েছে, উদাহরণস্বরূপ:

projects/my-project/databases/(default)/operations/ASA1MTAwNDQxNAgadGx1YWZlZAcSeWx0aGdpbi1zYm9qLW5pbWRhEgopEg

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

সমস্ত রপ্তানি এবং আমদানি ক্রিয়াকলাপ তালিকাভুক্ত করুন

গুগল ক্লাউড কনসোল

আপনি Google ক্লাউড কনসোলের আমদানি/রপ্তানি পৃষ্ঠায় সাম্প্রতিক রপ্তানি এবং আমদানি ক্রিয়াকলাপের একটি তালিকা দেখতে পারেন৷

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

    ডাটাবেসে যান

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

  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

জিক্লাউড

সমস্ত চলমান এবং সম্প্রতি সম্পন্ন রপ্তানি এবং আমদানি ক্রিয়াকলাপগুলি দেখতে operations list কমান্ডটি ব্যবহার করুন:

gcloud firestore operations list

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

গুগল ক্লাউড কনসোল

আপনি Google ক্লাউড কনসোলের আমদানি/রপ্তানি পৃষ্ঠায় সাম্প্রতিক রপ্তানি বা আমদানি ক্রিয়াকলাপের স্থিতি দেখতে পারেন৷

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

    ডাটাবেসে যান

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

  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

জিক্লাউড

রপ্তানি বা আমদানি ক্রিয়াকলাপের অবস্থা দেখাতে operations describe কমান্ড ব্যবহার করুন।

gcloud firestore operations describe [OPERATION_NAME]

সমাপ্তির সময় অনুমান করুন

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

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

  • workCompleted এখন পর্যন্ত প্রক্রিয়া করা বাইট এবং নথির সংখ্যা দেখায়। অপারেশন শেষ হওয়ার পরে, মানটি প্রকৃতপক্ষে প্রক্রিয়াকৃত বাইট এবং নথির মোট সংখ্যা দেখায়, যা workEstimated এর মান থেকে বড় হতে পারে।

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

একটি অপারেশন বাতিল করুন

গুগল ক্লাউড কনসোল

আপনি Google ক্লাউড কনসোলের আমদানি/রপ্তানি পৃষ্ঠায় চলমান রপ্তানি বা আমদানি ক্রিয়াকলাপ বাতিল করতে পারেন৷

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

    ডাটাবেসে যান

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

  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

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

কনসোলে সাম্প্রতিক আমদানি এবং রপ্তানি সারণী অপারেশন বন্ধ করার জন্য একটি বাতিল বিকল্প সহ একটি চলমান ডেটা আমদানি দেখায়৷

জিক্লাউড

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

ফিল্টার মেনু থেকে goog-firestore-পরিচালিত লেবেল অ্যাক্সেস করুন৷

BigQuery-এ রপ্তানি করুন

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

BigQuery কলামের সীমা

BigQuery প্রতি টেবিলে 10,000 কলামের সীমা আরোপ করে। Cloud Firestore এক্সপোর্ট অপারেশন প্রতিটি সংগ্রহ গ্রুপের জন্য একটি BigQuery টেবিল স্কিমা তৈরি করে। এই স্কিমাতে, একটি সংগ্রহ গ্রুপের মধ্যে প্রতিটি অনন্য ক্ষেত্রের নাম একটি স্কিমা কলামে পরিণত হয়।

যদি একটি সংগ্রহ গোষ্ঠীর BigQuery স্কিমা 10,000 কলাম ছাড়িয়ে যায়, Cloud Firestore এক্সপোর্ট অপারেশন ম্যাপ ক্ষেত্রগুলিকে বাইট হিসাবে বিবেচনা করে কলামের সীমার মধ্যে থাকার চেষ্টা করে৷ যদি এই রূপান্তরটি কলামের সংখ্যা 10,000-এর নিচে নিয়ে আসে, তাহলে আপনি BigQuery এ ডেটা লোড করতে পারেন, কিন্তু আপনি মানচিত্রের ক্ষেত্রের মধ্যে সাবফিল্ডগুলি অনুসন্ধান করতে পারবেন না। কলামের সংখ্যা এখনও 10,000 ছাড়িয়ে গেলে, রপ্তানি ক্রিয়াকলাপ সংগ্রহ গ্রুপের জন্য একটি 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 পরিষেবা অ্যাকাউন্ট একাধিক পরিষেবা দ্বারা ভাগ করা হয়৷

অনুমোদন অ্যাকাউন্ট দেখুন

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

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

    ডাটাবেসে যান

  2. ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

  4. লেবেল হিসাবে চালিত আমদানি/রপ্তানি কাজের পাশে অনুমোদন অ্যাকাউন্টটি দেখুন।

যদি আপনার প্রকল্প Cloud Firestore পরিষেবা এজেন্ট ব্যবহার না করে, তাহলে আপনি এই কৌশলগুলির যে কোনও একটি ব্যবহার করে Cloud Firestore পরিষেবা এজেন্টে স্থানান্তর করতে পারেন:

এই কৌশলগুলির মধ্যে প্রথমটি পছন্দনীয় কারণ এটি একটি একক Cloud Firestore প্রকল্পে প্রভাবের সুযোগ স্থানীয়করণ করে৷ দ্বিতীয় কৌশলটি পছন্দের নয় কারণ এটি বিদ্যমান Cloud Storage বাকেট অনুমতিগুলি স্থানান্তর করে না৷ এটি অবশ্য সংগঠন পর্যায়ে নিরাপত্তা সম্মতি প্রদান করে।

Cloud Storage বাকেট অনুমতি চেক এবং আপডেট করে মাইগ্রেট করুন

মাইগ্রেশন প্রক্রিয়ার দুটি ধাপ রয়েছে:

  1. Cloud Storage বাকেট অনুমতি আপডেট করুন। বিস্তারিত জানার জন্য নিম্নলিখিত বিভাগ দেখুন.
  2. 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 পরিষেবা এজেন্টে স্থানান্তর করতে নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন৷ একবার সম্পূর্ণ হলে, মাইগ্রেশন পূর্বাবস্থায় ফেরানো যাবে না।

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

    ডাটাবেসে যান

  2. ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

  4. যদি আপনার প্রকল্পটি এখনও Cloud Firestore পরিষেবা এজেন্টে স্থানান্তরিত না হয়, তাহলে আপনি মাইগ্রেশন বর্ণনাকারী একটি ব্যানার এবং একটি চেক বাকেট স্ট্যাটাস বোতাম দেখতে পাবেন। পরবর্তী ধাপ আপনাকে সম্ভাব্য অনুমতি ত্রুটি সনাক্ত করতে এবং ঠিক করতে সাহায্য করে।

    চেক বাকেট স্ট্যাটাস ক্লিক করুন।

    আপনার মাইগ্রেশন সম্পূর্ণ করার বিকল্প এবং Cloud Storage বালতিগুলির একটি তালিকা সহ একটি মেনু প্রদর্শিত হবে৷ তালিকাটি লোড করা শেষ হতে কয়েক মিনিট সময় লাগতে পারে।

    এই তালিকায় এমন বালতি রয়েছে যা সম্প্রতি আমদানি ও রপ্তানি ক্রিয়াকলাপে ব্যবহৃত হয়েছে, কিন্তু বর্তমানে Cloud Firestore পরিষেবা এজেন্টকে পড়ার এবং লেখার অনুমতি দেয় না।

  5. আপনার প্রকল্পের Cloud Firestore পরিষেবা এজেন্টের প্রধান নামটি নোট করুন। লেবেলে অ্যাক্সেস দেওয়ার জন্য পরিষেবা এজেন্টের নাম পরিষেবা এজেন্টের অধীনে প্রদর্শিত হয়।
  6. ভবিষ্যতের আমদানি বা রপ্তানি ক্রিয়াকলাপের জন্য আপনি যে তালিকা ব্যবহার করবেন তার জন্য, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

    1. এই বালতির টেবিলের সারিতে, ফিক্স এ ক্লিক করুন। এটি একটি নতুন ট্যাবে সেই বাকেটের অনুমতি পৃষ্ঠাটি খোলে৷

    2. যোগ করুন ক্লিক করুন.
    3. নতুন প্রিন্সিপাল ফিল্ডে, আপনার Cloud Firestore সার্ভিস এজেন্টের নাম লিখুন।
    4. একটি ভূমিকা নির্বাচন করুন ক্ষেত্রে, পরিষেবা এজেন্ট > ফায়ারস্টোর পরিষেবা এজেন্ট নির্বাচন করুন।
    5. Save এ ক্লিক করুন।
    6. Cloud Firestore আমদানি/রপ্তানি পৃষ্ঠা সহ ট্যাবে ফিরে যান।
    7. তালিকার অন্যান্য বালতিগুলির জন্য এই পদক্ষেপগুলি পুনরাবৃত্তি করুন৷ তালিকার সব পৃষ্ঠা দেখতে ভুলবেন না.
  7. Firestore সার্ভিস এজেন্টে মাইগ্রেট করুন ক্লিক করুন। আপনার যদি এখনও ব্যর্থ অনুমতি চেক সহ বালতি থেকে থাকে, তাহলে আপনাকে মাইগ্রেট ক্লিক করে আপনার মাইগ্রেশন নিশ্চিত করতে হবে।

    আপনার মাইগ্রেশন সম্পূর্ণ হলে একটি সতর্কতা আপনাকে জানায়। মাইগ্রেশন পূর্বাবস্থায় ফেরানো যাবে না।

মাইগ্রেশন স্ট্যাটাস দেখুন

আপনার প্রকল্পের মাইগ্রেশন স্ট্যাটাস যাচাই করতে:

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

    ডাটাবেসে যান

  2. ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

  4. লেবেল হিসাবে চালিত আমদানি/রপ্তানি কাজের পাশে প্রিন্সিপালের জন্য দেখুন।

    যদি প্রিন্সিপাল service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com , তাহলে আপনার প্রকল্প ইতিমধ্যেই Cloud Firestore পরিষেবা এজেন্টে স্থানান্তরিত হয়েছে৷ মাইগ্রেশন পূর্বাবস্থায় ফেরানো যাবে না।

    প্রকল্পটি স্থানান্তরিত না হলে, একটি ব্যানার পৃষ্ঠার শীর্ষে একটি চেক বাকেট স্ট্যাটাস বোতাম সহ প্রদর্শিত হবে৷ মাইগ্রেশন সম্পূর্ণ করতে Firestore পরিষেবা এজেন্টে মাইগ্রেট দেখুন।

একটি প্রতিষ্ঠান-ব্যাপী নীতি সীমাবদ্ধতা যোগ করুন

  • আপনার প্রতিষ্ঠানের নীতিতে নিম্নলিখিত সীমাবদ্ধতা সেট করুন:

    আমদানি/রপ্তানির জন্য Firestore পরিষেবা এজেন্ট প্রয়োজন ( firestore.requireP4SAforImportExport )।

    অনুরোধ অনুমোদন করতে Cloud Firestore পরিষেবা এজেন্ট ব্যবহার করার জন্য এই সীমাবদ্ধতার জন্য আমদানি এবং রপ্তানি ক্রিয়াকলাপ প্রয়োজন। এই সীমাবদ্ধতা সেট করতে, প্রতিষ্ঠানের নীতি তৈরি এবং পরিচালনা দেখুন।

এই সাংগঠনিক নীতি সীমাবদ্ধতা প্রয়োগ করা স্বয়ংক্রিয়ভাবে Cloud Firestore পরিষেবা এজেন্টের জন্য উপযুক্ত Cloud Storage বাকেট অনুমতি দেয় না।

যদি সীমাবদ্ধতা কোনো আমদানি বা রপ্তানি কর্মপ্রবাহের জন্য অনুমতি ত্রুটি তৈরি করে, আপনি ডিফল্ট পরিষেবা অ্যাকাউন্ট ব্যবহার করে ফিরে যেতে এটি অক্ষম করতে পারেন। আপনি Cloud Storage বাকেট অনুমতিগুলি চেক এবং আপডেট করার পরে, আপনি আবার সীমাবদ্ধতা সক্ষম করতে পারেন৷

,

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

এই পৃষ্ঠাটি Cloud Firestore নথিগুলি কীভাবে রপ্তানি এবং আমদানি করা যায় তা বর্ণনা করে পরিচালিত রপ্তানি এবং আমদানি পরিষেবা এবং Cloud Storage ব্যবহার করে৷ Cloud Firestore পরিচালিত রপ্তানি এবং আমদানি পরিষেবা gcloud কমান্ড-লাইন টুল এবং Cloud Firestore API ( REST , RPC ) এর মাধ্যমে উপলব্ধ।

আপনি শুরু করার আগে

আপনি পরিচালিত রপ্তানি এবং আমদানি পরিষেবা ব্যবহার করার আগে, আপনাকে অবশ্যই নিম্নলিখিত কাজগুলি সম্পূর্ণ করতে হবে:

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

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

Cloud Storage অপারেশন অনুমোদনের জন্য রপ্তানি এবং আমদানি ক্রিয়াকলাপগুলি একটি Cloud Firestore পরিষেবা এজেন্ট ব্যবহার করে৷ Cloud Firestore পরিষেবা এজেন্ট নিম্নলিখিত নামকরণ পদ্ধতি ব্যবহার করে:

Cloud Firestore সার্ভিস এজেন্ট
service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com

পরিষেবা এজেন্ট সম্পর্কে আরও জানতে, পরিষেবা এজেন্ট দেখুন।

Cloud Firestore পরিষেবা এজেন্টের Cloud Storage বাকেটের অ্যাক্সেস প্রয়োজন যা এক্সপোর্ট বা ইম্পোর্ট অপারেশনে ব্যবহৃত হয়। যদি আপনার 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 ক্লাউড কনসোল ব্যবহার করে এই ভূমিকা অর্পণ করতে পারেন৷

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

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

  1. লেবেল হিসাবে চালিত আমদানি/রপ্তানি কাজের পাশে অনুমোদন অ্যাকাউন্টটি দেখুন।

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

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

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

ডেটা রপ্তানি করুন

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

সমস্ত নথি রপ্তানি করুন

গুগল ক্লাউড কনসোল

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

    ডাটাবেসে যান

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

  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

  4. রপ্তানি ক্লিক করুন.

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

  6. নীচে গন্তব্য চয়ন করুন , একটি Cloud Storage বাকেটের নাম লিখুন বা একটি বালতি নির্বাচন করতে ব্রাউজ বোতামটি ব্যবহার করুন৷

  7. রপ্তানি ক্লিক করুন.

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

জিক্লাউড

আপনার Cloud Storage বাকেটের নামের সাথে [BUCKET_NAME] প্রতিস্থাপন করে আপনার ডাটাবেসের সমস্ত নথি রপ্তানি করতে firestore export কমান্ড ব্যবহার করুন৷ gcloud টুলটিকে অপারেশন সম্পূর্ণ হওয়ার জন্য অপেক্ষা করা থেকে আটকাতে --async পতাকা যোগ করুন।

  gcloud firestore export gs://[BUCKET_NAME] \
  --database=[DATABASE]

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

  • BUCKET_NAME : বালতির নামের পরে একটি ফাইল উপসর্গ যোগ করে আপনার রপ্তানি সংগঠিত করুন, উদাহরণস্বরূপ, BUCKET_NAME/my-exports-folder/export-name । যদি আপনি একটি ফাইল উপসর্গ প্রদান না করেন, পরিচালিত রপ্তানি পরিষেবা বর্তমান টাইমস্ট্যাম্পের উপর ভিত্তি করে একটি তৈরি করে৷

  • DATABASE : যে ডাটাবেস থেকে আপনি নথি রপ্তানি করতে চান তার নাম। ডিফল্ট ডাটাবেসের জন্য, --database='(default)' ব্যবহার করুন।

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

নির্দিষ্ট সংগ্রহ রপ্তানি করুন

গুগল ক্লাউড কনসোল

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

    ডাটাবেসে যান

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

  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

  4. রপ্তানি ক্লিক করুন.

  5. এক বা একাধিক সংগ্রহ গোষ্ঠী রপ্তানি করুন বিকল্পে ক্লিক করুন। এক বা একাধিক সংগ্রহ গোষ্ঠী নির্বাচন করতে ড্রপডাউন মেনু ব্যবহার করুন।

  6. নীচে গন্তব্য চয়ন করুন , একটি Cloud Storage বাকেটের নাম লিখুন বা একটি বালতি নির্বাচন করতে ব্রাউজ বোতামটি ব্যবহার করুন৷

  7. রপ্তানি ক্লিক করুন.

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

জিক্লাউড

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

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

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

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

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

আপনি gcloud firestore export কমান্ড ব্যবহার করে PITR ডেটা থেকে Cloud Storage আপনার ডাটাবেস রপ্তানি করতে পারেন। আপনি পিআইটিআর ডেটা রপ্তানি করতে পারেন যেখানে টাইমস্ট্যাম্পটি বিগত সাত দিনের মধ্যে পুরো মিনিটের টাইমস্ট্যাম্প, তবে earliestVersionTime সময়ের চেয়ে আগে নয়। যদি নির্দিষ্ট টাইমস্ট্যাম্পে ডেটা আর বিদ্যমান না থাকে, তাহলে এক্সপোর্ট অপারেশন ব্যর্থ হয়।

পিআইটিআর এক্সপোর্ট অপারেশন সমস্ত ফিল্টারকে সমর্থন করে, যার মধ্যে সমস্ত নথি রপ্তানি করা এবং নির্দিষ্ট সংগ্রহ রপ্তানি করা হয়।

  1. পছন্দসই পুনরুদ্ধার টাইমস্ট্যাম্পে snapshot-time প্যারামিটার নির্দিষ্ট করে ডাটাবেস রপ্তানি করুন।

    জিক্লাউড

    আপনার বালতিতে ডাটাবেস রপ্তানি করতে নিম্নলিখিত কমান্ডটি চালান।

    gcloud firestore export gs://[BUCKET_NAME_PATH] \
        --snapshot-time=[PITR_TIMESTAMP] \
        --collection-ids=[COLLECTION_IDS] \
        --namespace-ids=[NAMESPACE_IDS]
    

    কোথায়,

    • PITR_TIMESTAMP - মিনিট গ্রানুলিটিতে একটি PITR টাইমস্ট্যাম্প, উদাহরণস্বরূপ, 2023-05-26T10:20:00.00Z

    পিআইটিআর ডেটা রপ্তানি করার আগে নিম্নলিখিত পয়েন্টগুলি নোট করুন:

    • RFC 3339 ফর্ম্যাটে টাইমস্ট্যাম্প নির্দিষ্ট করুন। উদাহরণস্বরূপ, 2020-09-01T23:59:30.234233Z
    • নিশ্চিত করুন যে আপনি যে টাইমস্ট্যাম্পটি নির্দিষ্ট করেছেন তা গত সাত দিনের মধ্যে পুরো মিনিটের টাইমস্ট্যাম্প, তবে earliestVersionTime এর আগে নয়। যদি নির্দিষ্ট টাইমস্ট্যাম্পে ডেটা আর বিদ্যমান না থাকে, একটি ত্রুটি তৈরি হয়।
    • আপনি একটি ব্যর্থ PITR রপ্তানির জন্য চার্জ করা হয় না.

ডেটা আমদানি করুন

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

রপ্তানি থেকে সমস্ত নথি আমদানি করুন

গুগল ক্লাউড কনসোল

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

    ডাটাবেসে যান

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

  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

  4. আমদানিতে ক্লিক করুন।

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

  6. আমদানিতে ক্লিক করুন।

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

জিক্লাউড

পূর্ববর্তী এক্সপোর্ট অপারেশন থেকে নথি আমদানি করতে 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'

আপনি Google ক্লাউড কনসোলে Cloud Storage ব্রাউজারে আপনার এক্সপোর্ট ফাইলগুলির অবস্থান নিশ্চিত করতে পারেন:

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

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

নির্দিষ্ট সংগ্রহ আমদানি করুন

গুগল ক্লাউড কনসোল

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

জিক্লাউড

রপ্তানি ফাইলের একটি সেট থেকে নির্দিষ্ট সংগ্রহ গোষ্ঠী আমদানি করতে, --collection-ids পতাকা ব্যবহার করুন। অপারেশনটি প্রদত্ত সংগ্রহ আইডি সহ শুধুমাত্র সংগ্রহ গোষ্ঠীগুলিকে আমদানি করে৷ সংগ্রহ গ্রুপে নির্দিষ্ট সংগ্রহ আইডি সহ সমস্ত সংগ্রহ এবং উপ-সংগ্রহ (যেকোন পথে) অন্তর্ভুক্ত থাকে। --database পতাকা ব্যবহার করে ডাটাবেসের নাম উল্লেখ করুন। ডিফল্ট ডাটাবেসের জন্য, --database='(default)' ব্যবহার করুন।

শুধুমাত্র নির্দিষ্ট সংগ্রহ গোষ্ঠীর রপ্তানি নির্দিষ্ট সংগ্রহ গোষ্ঠীর আমদানি সমর্থন করে। আপনি সমস্ত নথির রপ্তানি থেকে নির্দিষ্ট সংগ্রহ আমদানি করতে পারবেন না।

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

একটি PITR রপ্তানি আমদানি করুন

আপনার রপ্তানিকৃত ডাটাবেস আমদানি করতে সমস্ত নথি আমদানির ধাপগুলি ব্যবহার করুন৷ আপনার ডাটাবেসে যদি কোনো ডকুমেন্ট আগে থেকেই থাকে, তাহলে তা ওভাররাইট করা হবে।

রপ্তানি ও আমদানি কার্যক্রম পরিচালনা

আপনি একটি রপ্তানি বা আমদানি অপারেশন শুরু করার পরে, Cloud Firestore অপারেশনটিকে একটি অনন্য নাম দেয়৷ আপনি অপারেশন নামটি মুছে ফেলতে, বাতিল করতে বা স্থিতি পরীক্ষা করতে ব্যবহার করতে পারেন।

অপারেশনের নামগুলো projects/[PROJECT_ID]/databases/(default)/operations/ এর সাথে প্রিফিক্স করা হয়েছে, উদাহরণস্বরূপ:

projects/my-project/databases/(default)/operations/ASA1MTAwNDQxNAgadGx1YWZlZAcSeWx0aGdpbi1zYm9qLW5pbWRhEgopEg

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

সমস্ত রপ্তানি এবং আমদানি ক্রিয়াকলাপ তালিকাভুক্ত করুন

গুগল ক্লাউড কনসোল

আপনি Google ক্লাউড কনসোলের আমদানি/রপ্তানি পৃষ্ঠায় সাম্প্রতিক রপ্তানি এবং আমদানি ক্রিয়াকলাপের একটি তালিকা দেখতে পারেন৷

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

    ডাটাবেসে যান

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

  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

জিক্লাউড

সমস্ত চলমান এবং সম্প্রতি সম্পন্ন রপ্তানি এবং আমদানি ক্রিয়াকলাপগুলি দেখতে operations list কমান্ডটি ব্যবহার করুন:

gcloud firestore operations list

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

গুগল ক্লাউড কনসোল

আপনি Google ক্লাউড কনসোলের আমদানি/রপ্তানি পৃষ্ঠায় সাম্প্রতিক রপ্তানি বা আমদানি ক্রিয়াকলাপের স্থিতি দেখতে পারেন৷

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

    ডাটাবেসে যান

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

  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

জিক্লাউড

রপ্তানি বা আমদানি ক্রিয়াকলাপের অবস্থা দেখাতে operations describe কমান্ড ব্যবহার করুন।

gcloud firestore operations describe [OPERATION_NAME]

সমাপ্তির সময় অনুমান করুন

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

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

  • workCompleted এখন পর্যন্ত প্রক্রিয়া করা বাইট এবং নথির সংখ্যা দেখায়। অপারেশন শেষ হওয়ার পরে, মানটি প্রকৃতপক্ষে প্রক্রিয়াকৃত বাইট এবং নথির মোট সংখ্যা দেখায়, যা workEstimated এর মান থেকে বড় হতে পারে।

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

একটি অপারেশন বাতিল করুন

গুগল ক্লাউড কনসোল

আপনি Google ক্লাউড কনসোলের আমদানি/রপ্তানি পৃষ্ঠায় চলমান রপ্তানি বা আমদানি ক্রিয়াকলাপ বাতিল করতে পারেন৷

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

    ডাটাবেসে যান

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

  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

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

কনসোলে সাম্প্রতিক আমদানি এবং রপ্তানি সারণী অপারেশন বন্ধ করার জন্য একটি বাতিল বিকল্প সহ একটি চলমান ডেটা আমদানি দেখায়৷

জিক্লাউড

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

ফিল্টার মেনু থেকে goog-firestore-পরিচালিত লেবেল অ্যাক্সেস করুন৷

BigQuery-এ রপ্তানি করুন

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

BigQuery কলামের সীমা

BigQuery প্রতি টেবিলে 10,000 কলামের সীমা আরোপ করে। Cloud Firestore এক্সপোর্ট অপারেশন প্রতিটি সংগ্রহ গ্রুপের জন্য একটি BigQuery টেবিল স্কিমা তৈরি করে। এই স্কিমাতে, একটি সংগ্রহ গ্রুপের মধ্যে প্রতিটি অনন্য ক্ষেত্রের নাম একটি স্কিমা কলামে পরিণত হয়।

যদি একটি সংগ্রহ গোষ্ঠীর BigQuery স্কিমা 10,000 কলাম ছাড়িয়ে যায়, Cloud Firestore এক্সপোর্ট অপারেশন ম্যাপ ক্ষেত্রগুলিকে বাইট হিসাবে বিবেচনা করে কলামের সীমার মধ্যে থাকার চেষ্টা করে৷ যদি এই রূপান্তরটি কলামের সংখ্যা 10,000-এর নিচে নিয়ে আসে, তাহলে আপনি BigQuery এ ডেটা লোড করতে পারেন, কিন্তু আপনি মানচিত্রের ক্ষেত্রের মধ্যে সাবফিল্ডগুলি অনুসন্ধান করতে পারবেন না। কলামের সংখ্যা এখনও 10,000 ছাড়িয়ে গেলে, রপ্তানি ক্রিয়াকলাপ সংগ্রহ গ্রুপের জন্য একটি 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 পরিষেবা অ্যাকাউন্ট একাধিক পরিষেবা দ্বারা ভাগ করা হয়৷

অনুমোদন অ্যাকাউন্ট দেখুন

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

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

    ডাটাবেসে যান

  2. ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

  4. লেবেল হিসাবে চালিত আমদানি/রপ্তানি কাজের পাশে অনুমোদন অ্যাকাউন্টটি দেখুন।

যদি আপনার প্রকল্প Cloud Firestore পরিষেবা এজেন্ট ব্যবহার না করে, তাহলে আপনি এই কৌশলগুলির যে কোনও একটি ব্যবহার করে Cloud Firestore পরিষেবা এজেন্টে স্থানান্তর করতে পারেন:

এই কৌশলগুলির মধ্যে প্রথমটি পছন্দনীয় কারণ এটি একক Cloud Firestore প্রকল্পে প্রভাবের সুযোগকে স্থানীয় করে তোলে। দ্বিতীয় কৌশলটি পছন্দের নয় কারণ এটি বিদ্যমান Cloud Storage বাকেট অনুমতিগুলি স্থানান্তর করে না৷ এটি অবশ্য সংগঠন পর্যায়ে নিরাপত্তা সম্মতি প্রদান করে।

Cloud Storage বাকেট অনুমতি চেক এবং আপডেট করে মাইগ্রেট করুন

মাইগ্রেশন প্রক্রিয়ার দুটি ধাপ রয়েছে:

  1. Cloud Storage বাকেট অনুমতি আপডেট করুন। বিস্তারিত জানার জন্য নিম্নলিখিত বিভাগ দেখুন.
  2. 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 পরিষেবা এজেন্টে স্থানান্তরিত করার জন্য নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন। একবার সম্পূর্ণ হলে, মাইগ্রেশন পূর্বাবস্থায় ফেরানো যাবে না।

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

    ডাটাবেসে যান

  2. ডাটাবেসগুলির তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

  4. যদি আপনার প্রকল্পটি এখনও Cloud Firestore সার্ভিস এজেন্টে স্থানান্তরিত না করে থাকে তবে আপনি মাইগ্রেশন এবং একটি চেক বালতি স্থিতি বোতামের বর্ণনা দিয়ে একটি ব্যানার দেখতে পান। পরবর্তী ধাপ আপনাকে সম্ভাব্য অনুমতি ত্রুটি সনাক্ত করতে এবং ঠিক করতে সাহায্য করে।

    চেক বাকেট স্ট্যাটাস ক্লিক করুন।

    আপনার মাইগ্রেশন সম্পূর্ণ করার বিকল্প এবং Cloud Storage বালতিগুলির একটি তালিকা সহ একটি মেনু প্রদর্শিত হবে৷ তালিকাটি লোড করা শেষ হতে কয়েক মিনিট সময় লাগতে পারে।

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

  5. আপনার প্রকল্পের Cloud Firestore পরিষেবা এজেন্টের মূল নামটি নোট করুন। লেবেলে অ্যাক্সেস দেওয়ার জন্য পরিষেবা এজেন্টের নাম পরিষেবা এজেন্টের অধীনে প্রদর্শিত হয়।
  6. ভবিষ্যতের আমদানি বা রপ্তানি ক্রিয়াকলাপের জন্য আপনি যে তালিকা ব্যবহার করবেন তার জন্য, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

    1. এই বালতির টেবিলের সারিতে, ফিক্স এ ক্লিক করুন। এটি একটি নতুন ট্যাবে সেই বাকেটের অনুমতি পৃষ্ঠাটি খোলে৷

    2. যোগ করুন ক্লিক করুন.
    3. নতুন অধ্যক্ষ ক্ষেত্রে, আপনার Cloud Firestore পরিষেবা এজেন্টের নাম লিখুন।
    4. একটি ভূমিকা নির্বাচন করুন ক্ষেত্রে, পরিষেবা এজেন্ট > ফায়ারস্টোর পরিষেবা এজেন্ট নির্বাচন করুন।
    5. Save এ ক্লিক করুন।
    6. Cloud Firestore আমদানি/রফতানি পৃষ্ঠা সহ ট্যাবে ফিরে আসুন।
    7. তালিকার অন্যান্য বালতিগুলির জন্য এই পদক্ষেপগুলি পুনরাবৃত্তি করুন৷ তালিকার সব পৃষ্ঠা দেখতে ভুলবেন না.
  7. Firestore সার্ভিস এজেন্টে মাইগ্রেট করুন ক্লিক করুন। আপনার যদি এখনও ব্যর্থ অনুমতি চেক সহ বালতি থেকে থাকে, তাহলে আপনাকে মাইগ্রেট ক্লিক করে আপনার মাইগ্রেশন নিশ্চিত করতে হবে।

    আপনার মাইগ্রেশন সম্পূর্ণ হলে একটি সতর্কতা আপনাকে জানায়। মাইগ্রেশন পূর্বাবস্থায় ফেরানো যাবে না।

মাইগ্রেশন স্ট্যাটাস দেখুন

আপনার প্রকল্পের মাইগ্রেশন স্ট্যাটাস যাচাই করতে:

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

    ডাটাবেসে যান

  2. ডাটাবেসগুলির তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

  4. লেবেল হিসাবে চালিত আমদানি/রপ্তানি কাজের পাশে প্রিন্সিপালের জন্য দেখুন।

    প্রিন্সিপাল যদি service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com , তবে আপনার প্রকল্পটি ইতিমধ্যে Cloud Firestore সার্ভিস এজেন্টে স্থানান্তরিত হয়েছে। মাইগ্রেশন পূর্বাবস্থায় ফেরানো যাবে না।

    প্রকল্পটি স্থানান্তরিত না হলে, একটি ব্যানার পৃষ্ঠার শীর্ষে একটি চেক বাকেট স্ট্যাটাস বোতাম সহ প্রদর্শিত হবে৷ মাইগ্রেশন সম্পূর্ণ করতে Firestore পরিষেবা এজেন্টে মাইগ্রেট দেখুন।

একটি প্রতিষ্ঠান-ব্যাপী নীতি সীমাবদ্ধতা যোগ করুন

  • আপনার প্রতিষ্ঠানের নীতিতে নিম্নলিখিত সীমাবদ্ধতা সেট করুন:

    আমদানি/রপ্তানির জন্য Firestore পরিষেবা এজেন্ট প্রয়োজন ( firestore.requireP4SAforImportExport )।

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

এই সাংগঠনিক নীতি সীমাবদ্ধতা প্রয়োগ করা Cloud Firestore পরিষেবা এজেন্টের জন্য উপযুক্ত Cloud Storage বালতি অনুমতিগুলি স্বয়ংক্রিয়ভাবে মঞ্জুর করে না।

যদি সীমাবদ্ধতা কোনো আমদানি বা রপ্তানি কর্মপ্রবাহের জন্য অনুমতি ত্রুটি তৈরি করে, আপনি ডিফল্ট পরিষেবা অ্যাকাউন্ট ব্যবহার করে ফিরে যেতে এটি অক্ষম করতে পারেন। আপনি Cloud Storage বাকেট অনুমতিগুলি চেক এবং আপডেট করার পরে, আপনি আবার সীমাবদ্ধতা সক্ষম করতে পারেন৷

,

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

এই পৃষ্ঠাটি কীভাবে পরিচালিত রফতানি এবং আমদানি পরিষেবা এবং Cloud Storage ব্যবহার করে Cloud Firestore ডকুমেন্টগুলি রফতানি ও আমদানি করতে পারে তা বর্ণনা করে। Cloud Firestore পরিচালিত রফতানি ও আমদানি পরিষেবা gcloud কমান্ড-লাইন সরঞ্জাম এবং Cloud Firestore এপিআই ( বিশ্রাম , আরপিসি ) এর মাধ্যমে উপলব্ধ।

আপনি শুরু করার আগে

আপনি পরিচালিত রফতানি এবং আমদানি পরিষেবা ব্যবহার করার আগে, আপনাকে অবশ্যই নিম্নলিখিত কাজগুলি সম্পূর্ণ করতে হবে:

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

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

রফতানি এবং আমদানি অপারেশনগুলি Cloud Storage অপারেশনগুলিকে অনুমোদনের জন্য একটি Cloud Firestore পরিষেবা এজেন্ট ব্যবহার করে। Cloud Firestore পরিষেবা এজেন্ট নিম্নলিখিত নামকরণ কনভেনশন ব্যবহার করে:

Cloud Firestore পরিষেবা এজেন্ট
service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com

পরিষেবা এজেন্ট সম্পর্কে আরও জানতে, পরিষেবা এজেন্ট দেখুন।

Cloud Firestore পরিষেবা এজেন্টের জন্য রফতানি বা আমদানি অপারেশনে ব্যবহৃত Cloud Storage বালতিতে অ্যাক্সেস প্রয়োজন। যদি আপনার 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 ক্লাউড কনসোল ব্যবহার করে এই ভূমিকা অর্পণ করতে পারেন৷

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

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

  1. লেবেল হিসাবে চালিত আমদানি/রপ্তানি কাজের পাশে অনুমোদন অ্যাকাউন্টটি দেখুন।

রফতানি বা আমদানি অপারেশনের জন্য Cloud Storage বালতি ব্যবহার করার জন্য পরিষেবা এজেন্টের Storage Admin ভূমিকা প্রয়োজন।

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

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

ডেটা রপ্তানি করুন

একটি রফতানি অপারেশন Cloud Storage বালতিতে ফাইলগুলির সেটগুলিতে আপনার ডাটাবেসে নথিগুলি অনুলিপি করে। নোট করুন যে রফতানি রফতানি শুরুর সময় নেওয়া সঠিক ডাটাবেস স্ন্যাপশট নয়। অপারেশন চলাকালীন একটি রফতানিতে পরিবর্তনগুলি অন্তর্ভুক্ত থাকতে পারে।

সমস্ত নথি রফতানি

গুগল ক্লাউড কনসোল

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

    ডাটাবেসে যান

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

  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

  4. রপ্তানি ক্লিক করুন.

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

  6. নীচে গন্তব্য চয়ন করুন , Cloud Storage বালতিটির নাম লিখুন বা বালতি নির্বাচন করতে ব্রাউজ বোতামটি ব্যবহার করুন।

  7. রপ্তানি ক্লিক করুন.

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

জিক্লাউড

আপনার Cloud Storage বালতিটির নাম সহ [BUCKET_NAME] প্রতিস্থাপন করে আপনার ডাটাবেসে সমস্ত নথি রফতানি করতে firestore export কমান্ডটি ব্যবহার করুন। gcloud সরঞ্জামটি অপারেশনটি সম্পূর্ণ হওয়ার জন্য অপেক্ষা করা থেকে রোধ করতে --async পতাকা যুক্ত করুন।

  gcloud firestore export gs://[BUCKET_NAME] \
  --database=[DATABASE]

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

  • BUCKET_NAME : বালতি নামের পরে একটি ফাইল উপসর্গ যুক্ত করে আপনার রফতানিগুলি সংগঠিত করুন, উদাহরণস্বরূপ, BUCKET_NAME/my-exports-folder/export-name । আপনি যদি কোনও ফাইল উপসর্গ সরবরাহ না করেন তবে পরিচালিত রফতানি পরিষেবা বর্তমান টাইমস্ট্যাম্পের ভিত্তিতে একটি তৈরি করে।

  • DATABASE : আপনি যে ডাটাবেস থেকে ডকুমেন্টগুলি রফতানি করতে চান তার নাম। ডিফল্ট ডাটাবেসের জন্য, --database='(default)' ব্যবহার করুন।

একবার আপনি কোনও রফতানি অপারেশন শুরু করার পরে, টার্মিনালটি বন্ধ করা অপারেশন বাতিল করে না, কোনও অপারেশন বাতিল করুন

নির্দিষ্ট সংগ্রহ রফতানি করুন

গুগল ক্লাউড কনসোল

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

    ডাটাবেসে যান

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

  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

  4. রপ্তানি ক্লিক করুন.

  5. রফতানি এক বা একাধিক সংগ্রহ গ্রুপ বিকল্প ক্লিক করুন। এক বা একাধিক সংগ্রহ গোষ্ঠী নির্বাচন করতে ড্রপডাউন মেনু ব্যবহার করুন।

  6. নীচে গন্তব্য চয়ন করুন , Cloud Storage বালতিটির নাম লিখুন বা বালতি নির্বাচন করতে ব্রাউজ বোতামটি ব্যবহার করুন।

  7. রপ্তানি ক্লিক করুন.

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

জিক্লাউড

নির্দিষ্ট সংগ্রহ গোষ্ঠীগুলি রফতানি করতে, --collection-ids পতাকা ব্যবহার করুন। অপারেশন প্রদত্ত সংগ্রহ আইডি সহ কেবল সংগ্রহ গোষ্ঠী রফতানি করে। সংগ্রহ গোষ্ঠীতে নির্দিষ্ট সংগ্রহ আইডি সহ সমস্ত সংগ্রহ এবং সাবকলেকশন (যে কোনও পথে) অন্তর্ভুক্ত রয়েছে।

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

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

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

একটি পিআইটিআর টাইমস্ট্যাম্প থেকে রফতানি করুন

আপনি gcloud firestore export কমান্ড ব্যবহার করে PITR ডেটা থেকে Cloud Storage আপনার ডাটাবেস রপ্তানি করতে পারেন। আপনি পিআইটিআর ডেটা রপ্তানি করতে পারেন যেখানে টাইমস্ট্যাম্পটি বিগত সাত দিনের মধ্যে পুরো মিনিটের টাইমস্ট্যাম্প, তবে earliestVersionTime সময়ের চেয়ে আগে নয়। যদি নির্দিষ্ট টাইমস্ট্যাম্পে ডেটা আর বিদ্যমান না থাকে, তাহলে এক্সপোর্ট অপারেশন ব্যর্থ হয়।

পিআইটিআর রফতানি অপারেশন সমস্ত নথি রফতানি এবং নির্দিষ্ট সংগ্রহ রফতানি সহ সমস্ত ফিল্টারকে সমর্থন করে।

  1. কাঙ্ক্ষিত পুনরুদ্ধার টাইমস্ট্যাম্পে snapshot-time প্যারামিটার নির্দিষ্ট করে ডাটাবেসটি রফতানি করুন।

    জিক্লাউড

    আপনার বালতিতে ডাটাবেস রপ্তানি করতে নিম্নলিখিত কমান্ডটি চালান।

    gcloud firestore export gs://[BUCKET_NAME_PATH] \
        --snapshot-time=[PITR_TIMESTAMP] \
        --collection-ids=[COLLECTION_IDS] \
        --namespace-ids=[NAMESPACE_IDS]
    

    কোথায়,

    • PITR_TIMESTAMP - মিনিট গ্রানুলিটিতে একটি PITR টাইমস্ট্যাম্প, উদাহরণস্বরূপ, 2023-05-26T10:20:00.00Z

    পিআইটিআর ডেটা রপ্তানি করার আগে নিম্নলিখিত পয়েন্টগুলি নোট করুন:

    • RFC 3339 ফর্ম্যাটে টাইমস্ট্যাম্প নির্দিষ্ট করুন। উদাহরণস্বরূপ, 2020-09-01T23:59:30.234233Z
    • নিশ্চিত করুন যে আপনি যে টাইমস্ট্যাম্পটি নির্দিষ্ট করেছেন তা গত সাত দিনের মধ্যে পুরো মিনিটের টাইমস্ট্যাম্প, তবে earliestVersionTime এর আগে নয়। নির্দিষ্ট টাইমস্ট্যাম্পে যদি ডেটা আর বিদ্যমান না থাকে তবে একটি ত্রুটি উত্পন্ন হয়।
    • আপনার ব্যর্থ পিআইটিআর রফতানির জন্য চার্জ করা হবে না।

ডেটা আমদানি করুন

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

একটি রফতানি থেকে সমস্ত নথি আমদানি করুন

গুগল ক্লাউড কনসোল

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

    ডাটাবেসে যান

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

  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

  4. আমদানিতে ক্লিক করুন।

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

  6. আমদানিতে ক্লিক করুন।

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

জিক্লাউড

পূর্ববর্তী রফতানি অপারেশন থেকে নথি আমদানি করতে 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 ব্রাউজারে আপনার রফতানি ফাইলগুলির অবস্থান নিশ্চিত করতে পারেন:

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

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

নির্দিষ্ট সংগ্রহ আমদানি করুন

গুগল ক্লাউড কনসোল

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

জিক্লাউড

রফতানি ফাইলগুলির একটি সেট থেকে নির্দিষ্ট সংগ্রহ গোষ্ঠীগুলি আমদানি করতে, --collection-ids পতাকা ব্যবহার করুন। অপারেশন প্রদত্ত সংগ্রহ আইডি সহ কেবল সংগ্রহ গোষ্ঠীগুলি আমদানি করে। সংগ্রহ গোষ্ঠীতে নির্দিষ্ট সংগ্রহ আইডি সহ সমস্ত সংগ্রহ এবং সাবকলেকশন (যে কোনও পথে) অন্তর্ভুক্ত রয়েছে। --database পতাকা ব্যবহার করে ডাটাবেসের নামটি নির্দিষ্ট করুন। ডিফল্ট ডাটাবেসের জন্য, --database='(default)' ব্যবহার করুন।

কেবলমাত্র নির্দিষ্ট সংগ্রহ গোষ্ঠীর রফতানি নির্দিষ্ট সংগ্রহ গোষ্ঠীর আমদানি সমর্থন করে। আপনি সমস্ত নথি রফতানি থেকে নির্দিষ্ট সংগ্রহগুলি আমদানি করতে পারবেন না।

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

একটি পিআইটিআর রফতানি আমদানি করুন

আপনার রফতানি করা ডাটাবেস আমদানি করতে সমস্ত নথি আমদানির পদক্ষেপগুলি ব্যবহার করুন। যদি আপনার ডাটাবেসে ইতিমধ্যে কোনও নথি বিদ্যমান থাকে তবে এটি ওভাররাইট করা হবে।

রফতানি ও আমদানি কার্যক্রম পরিচালনা

আপনি কোনও রফতানি বা আমদানি অপারেশন শুরু করার পরে, Cloud Firestore অপারেশনটিকে একটি অনন্য নাম নির্ধারণ করে। আপনি অপারেশন নামটি মুছে ফেলতে, বাতিল করতে বা স্থিতি পরীক্ষা করতে ব্যবহার করতে পারেন।

অপারেশনের নামগুলো projects/[PROJECT_ID]/databases/(default)/operations/ এর সাথে প্রিফিক্স করা হয়েছে, উদাহরণস্বরূপ:

projects/my-project/databases/(default)/operations/ASA1MTAwNDQxNAgadGx1YWZlZAcSeWx0aGdpbi1zYm9qLW5pbWRhEgopEg

যাইহোক, আপনি কমান্ডগুলি describe , cancel এবং delete কোনও অপারেশন নাম নির্দিষ্ট করে আপনি উপসর্গটি ছেড়ে দিতে পারেন।

সমস্ত রফতানি এবং আমদানি অপারেশন তালিকাভুক্ত করুন

গুগল ক্লাউড কনসোল

আপনি গুগল ক্লাউড কনসোলের আমদানি/রফতানি পৃষ্ঠায় সাম্প্রতিক রফতানি এবং আমদানি অপারেশনের একটি তালিকা দেখতে পারেন।

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

    ডাটাবেসে যান

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

  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

জিক্লাউড

সমস্ত চলমান এবং সম্প্রতি সম্পন্ন রফতানি এবং আমদানি অপারেশনগুলি দেখতে operations list কমান্ডটি ব্যবহার করুন:

gcloud firestore operations list

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

গুগল ক্লাউড কনসোল

আপনি গুগল ক্লাউড কনসোলের আমদানি/রফতানি পৃষ্ঠায় সাম্প্রতিক রফতানি বা আমদানি অপারেশনের স্থিতি দেখতে পারেন।

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

    ডাটাবেসে যান

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

  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

জিক্লাউড

রফতানি বা আমদানি অপারেশনের স্থিতি দেখানোর জন্য operations describe কমান্ডটি ব্যবহার করুন।

gcloud firestore operations describe [OPERATION_NAME]

সমাপ্তির সময় অনুমান করুন

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

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

  • workCompleted এখন পর্যন্ত প্রক্রিয়া করা বাইট এবং নথির সংখ্যা দেখায়। অপারেশন শেষ হওয়ার পরে, মানটি প্রকৃতপক্ষে প্রক্রিয়াকৃত বাইট এবং নথির মোট সংখ্যা দেখায়, যা workEstimated এর মান থেকে বড় হতে পারে।

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

একটি অপারেশন বাতিল করুন

গুগল ক্লাউড কনসোল

আপনি Google ক্লাউড কনসোলের আমদানি/রপ্তানি পৃষ্ঠায় চলমান রপ্তানি বা আমদানি ক্রিয়াকলাপ বাতিল করতে পারেন৷

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

    ডাটাবেসে যান

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

  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

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

কনসোলে সাম্প্রতিক আমদানি এবং রফতানি টেবিলটি অপারেশন বন্ধ করার জন্য বাতিল বিকল্পের সাথে একটি চলমান ডেটা আমদানি দেখায়।

জিক্লাউড

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

ফিল্টার মেনু থেকে goog-firestore-পরিচালিত লেবেল অ্যাক্সেস করুন৷

বিগকোয়ারিতে রফতানি করুন

আপনি Cloud Firestore রফতানি থেকে BigQuery ডেটা লোড করতে পারেন তবে আপনি যদি collection-ids ফিল্টার নির্দিষ্ট করেন তবেই। Cloud Firestore রফতানি থেকে ডেটা লোডিং দেখুন।

BigQuery কলামের সীমা

BigQuery প্রতি টেবিলে 10,000 কলামের সীমা আরোপ করে। Cloud Firestore রফতানি অপারেশনগুলি প্রতিটি সংগ্রহ গোষ্ঠীর জন্য একটি BigQuery টেবিল স্কিমা উত্পন্ন করে। এই স্কিমাতে, সংগ্রহ গোষ্ঠীর মধ্যে প্রতিটি অনন্য ক্ষেত্রের নাম একটি স্কিমা কলামে পরিণত হয়।

যদি কোনও সংগ্রহ গোষ্ঠীর BigQuery স্কিমা 10,000 টি কলামকে ছাড়িয়ে যায় তবে Cloud Firestore রফতানি অপারেশন মানচিত্রের ক্ষেত্রগুলিকে বাইট হিসাবে বিবেচনা করে কলামের সীমাতে থাকার চেষ্টা করে। যদি এই রূপান্তরটি 10,000 এর নিচে কলামের সংখ্যা নিয়ে আসে তবে আপনি BigQuery ডেটা লোড করতে পারেন, তবে আপনি মানচিত্রের ক্ষেত্রগুলির মধ্যে সাবফিল্ডগুলি জিজ্ঞাসা করতে পারবেন না। যদি কলামগুলির সংখ্যা এখনও 10,000 ছাড়িয়ে যায় তবে রফতানি অপারেশন সংগ্রহ গোষ্ঠীর জন্য একটি 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 পরিষেবা অ্যাকাউন্ট একাধিক পরিষেবা দ্বারা ভাগ করা হয়৷

অনুমোদন অ্যাকাউন্ট দেখুন

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

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

    ডাটাবেসে যান

  2. ডাটাবেসগুলির তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

  4. লেবেল হিসাবে চালিত আমদানি/রপ্তানি কাজের পাশে অনুমোদন অ্যাকাউন্টটি দেখুন।

যদি আপনার প্রকল্পটি Cloud Firestore পরিষেবা এজেন্ট ব্যবহার না করে তবে আপনি এই কৌশলগুলির যে কোনও একটি ব্যবহার করে Cloud Firestore পরিষেবা এজেন্টে স্থানান্তর করতে পারেন:

এই কৌশলগুলির মধ্যে প্রথমটি পছন্দনীয় কারণ এটি একক Cloud Firestore প্রকল্পে প্রভাবের সুযোগকে স্থানীয় করে তোলে। দ্বিতীয় কৌশলটি পছন্দের নয় কারণ এটি বিদ্যমান Cloud Storage বাকেট অনুমতিগুলি স্থানান্তর করে না৷ এটি অবশ্য সংগঠন পর্যায়ে নিরাপত্তা সম্মতি প্রদান করে।

Cloud Storage বাকেট অনুমতি চেক এবং আপডেট করে মাইগ্রেট করুন

মাইগ্রেশন প্রক্রিয়ার দুটি ধাপ রয়েছে:

  1. Cloud Storage বাকেট অনুমতি আপডেট করুন। বিস্তারিত জানার জন্য নিম্নলিখিত বিভাগ দেখুন.
  2. 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 পরিষেবা এজেন্টে স্থানান্তরিত করার জন্য নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন। একবার সম্পূর্ণ হলে, মাইগ্রেশন পূর্বাবস্থায় ফেরানো যাবে না।

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

    ডাটাবেসে যান

  2. ডাটাবেসগুলির তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

  4. যদি আপনার প্রকল্পটি এখনও Cloud Firestore সার্ভিস এজেন্টে স্থানান্তরিত না করে থাকে তবে আপনি মাইগ্রেশন এবং একটি চেক বালতি স্থিতি বোতামের বর্ণনা দিয়ে একটি ব্যানার দেখতে পান। পরবর্তী ধাপ আপনাকে সম্ভাব্য অনুমতি ত্রুটি সনাক্ত করতে এবং ঠিক করতে সাহায্য করে।

    চেক বাকেট স্ট্যাটাস ক্লিক করুন।

    আপনার মাইগ্রেশন সম্পূর্ণ করার বিকল্প এবং Cloud Storage বালতিগুলির একটি তালিকা সহ একটি মেনু প্রদর্শিত হবে৷ তালিকাটি লোড করা শেষ হতে কয়েক মিনিট সময় লাগতে পারে।

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

  5. আপনার প্রকল্পের Cloud Firestore পরিষেবা এজেন্টের মূল নামটি নোট করুন। লেবেলে অ্যাক্সেস দেওয়ার জন্য পরিষেবা এজেন্টের নাম পরিষেবা এজেন্টের অধীনে প্রদর্শিত হয়।
  6. ভবিষ্যতের আমদানি বা রপ্তানি ক্রিয়াকলাপের জন্য আপনি যে তালিকা ব্যবহার করবেন তার জন্য, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

    1. এই বালতির টেবিলের সারিতে, ফিক্স এ ক্লিক করুন। এটি একটি নতুন ট্যাবে সেই বাকেটের অনুমতি পৃষ্ঠাটি খোলে৷

    2. যোগ করুন ক্লিক করুন.
    3. নতুন অধ্যক্ষ ক্ষেত্রে, আপনার Cloud Firestore পরিষেবা এজেন্টের নাম লিখুন।
    4. একটি ভূমিকা নির্বাচন করুন ক্ষেত্রে, পরিষেবা এজেন্ট > ফায়ারস্টোর পরিষেবা এজেন্ট নির্বাচন করুন।
    5. Save এ ক্লিক করুন।
    6. Cloud Firestore আমদানি/রফতানি পৃষ্ঠা সহ ট্যাবে ফিরে আসুন।
    7. তালিকার অন্যান্য বালতিগুলির জন্য এই পদক্ষেপগুলি পুনরাবৃত্তি করুন৷ তালিকার সব পৃষ্ঠা দেখতে ভুলবেন না.
  7. Firestore সার্ভিস এজেন্টে মাইগ্রেট করুন ক্লিক করুন। আপনার যদি এখনও ব্যর্থ অনুমতি চেক সহ বালতি থেকে থাকে, তাহলে আপনাকে মাইগ্রেট ক্লিক করে আপনার মাইগ্রেশন নিশ্চিত করতে হবে।

    আপনার মাইগ্রেশন সম্পূর্ণ হলে একটি সতর্কতা আপনাকে জানায়। মাইগ্রেশন পূর্বাবস্থায় ফেরানো যাবে না।

মাইগ্রেশন স্ট্যাটাস দেখুন

আপনার প্রকল্পের মাইগ্রেশন স্ট্যাটাস যাচাই করতে:

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

    ডাটাবেসে যান

  2. ডাটাবেসগুলির তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

  4. লেবেল হিসাবে চালিত আমদানি/রপ্তানি কাজের পাশে প্রিন্সিপালের জন্য দেখুন।

    প্রিন্সিপাল যদি service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com , তবে আপনার প্রকল্পটি ইতিমধ্যে Cloud Firestore সার্ভিস এজেন্টে স্থানান্তরিত হয়েছে। মাইগ্রেশন পূর্বাবস্থায় ফেরানো যাবে না।

    প্রকল্পটি স্থানান্তরিত না হলে, একটি ব্যানার পৃষ্ঠার শীর্ষে একটি চেক বাকেট স্ট্যাটাস বোতাম সহ প্রদর্শিত হবে৷ মাইগ্রেশন সম্পূর্ণ করতে Firestore পরিষেবা এজেন্টে মাইগ্রেট দেখুন।

একটি প্রতিষ্ঠান-ব্যাপী নীতি সীমাবদ্ধতা যোগ করুন

  • আপনার প্রতিষ্ঠানের নীতিতে নিম্নলিখিত সীমাবদ্ধতা সেট করুন:

    আমদানি/রপ্তানির জন্য Firestore পরিষেবা এজেন্ট প্রয়োজন ( firestore.requireP4SAforImportExport )।

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

এই সাংগঠনিক নীতি সীমাবদ্ধতা প্রয়োগ করা Cloud Firestore পরিষেবা এজেন্টের জন্য উপযুক্ত Cloud Storage বালতি অনুমতিগুলি স্বয়ংক্রিয়ভাবে মঞ্জুর করে না।

যদি সীমাবদ্ধতা কোনো আমদানি বা রপ্তানি কর্মপ্রবাহের জন্য অনুমতি ত্রুটি তৈরি করে, আপনি ডিফল্ট পরিষেবা অ্যাকাউন্ট ব্যবহার করে ফিরে যেতে এটি অক্ষম করতে পারেন। আপনি Cloud Storage বাকেট অনুমতিগুলি চেক এবং আপডেট করার পরে, আপনি আবার সীমাবদ্ধতা সক্ষম করতে পারেন৷

,

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

এই পৃষ্ঠাটি কীভাবে পরিচালিত রফতানি এবং আমদানি পরিষেবা এবং Cloud Storage ব্যবহার করে Cloud Firestore ডকুমেন্টগুলি রফতানি ও আমদানি করতে পারে তা বর্ণনা করে। Cloud Firestore পরিচালিত রফতানি ও আমদানি পরিষেবা gcloud কমান্ড-লাইন সরঞ্জাম এবং Cloud Firestore এপিআই ( বিশ্রাম , আরপিসি ) এর মাধ্যমে উপলব্ধ।

আপনি শুরু করার আগে

আপনি পরিচালিত রফতানি এবং আমদানি পরিষেবা ব্যবহার করার আগে, আপনাকে অবশ্যই নিম্নলিখিত কাজগুলি সম্পূর্ণ করতে হবে:

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

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

রফতানি এবং আমদানি অপারেশনগুলি Cloud Storage অপারেশনগুলিকে অনুমোদনের জন্য একটি Cloud Firestore পরিষেবা এজেন্ট ব্যবহার করে। Cloud Firestore পরিষেবা এজেন্ট নিম্নলিখিত নামকরণ কনভেনশন ব্যবহার করে:

Cloud Firestore পরিষেবা এজেন্ট
service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com

পরিষেবা এজেন্ট সম্পর্কে আরও জানতে, পরিষেবা এজেন্ট দেখুন।

Cloud Firestore পরিষেবা এজেন্টের জন্য রফতানি বা আমদানি অপারেশনে ব্যবহৃত Cloud Storage বালতিতে অ্যাক্সেস প্রয়োজন। যদি আপনার 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 ক্লাউড কনসোল ব্যবহার করে এই ভূমিকা অর্পণ করতে পারেন৷

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

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

  1. লেবেল হিসাবে চালিত আমদানি/রপ্তানি কাজের পাশে অনুমোদন অ্যাকাউন্টটি দেখুন।

রফতানি বা আমদানি অপারেশনের জন্য Cloud Storage বালতি ব্যবহার করার জন্য পরিষেবা এজেন্টের Storage Admin ভূমিকা প্রয়োজন।

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

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

ডেটা রপ্তানি করুন

একটি রফতানি অপারেশন Cloud Storage বালতিতে ফাইলগুলির সেটগুলিতে আপনার ডাটাবেসে নথিগুলি অনুলিপি করে। নোট করুন যে রফতানি রফতানি শুরুর সময় নেওয়া সঠিক ডাটাবেস স্ন্যাপশট নয়। অপারেশন চলাকালীন একটি রফতানিতে পরিবর্তনগুলি অন্তর্ভুক্ত থাকতে পারে।

সমস্ত নথি রফতানি

গুগল ক্লাউড কনসোল

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

    ডাটাবেসে যান

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

  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

  4. রপ্তানি ক্লিক করুন.

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

  6. নীচে গন্তব্য চয়ন করুন , Cloud Storage বালতিটির নাম লিখুন বা বালতি নির্বাচন করতে ব্রাউজ বোতামটি ব্যবহার করুন।

  7. রপ্তানি ক্লিক করুন.

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

জিক্লাউড

আপনার Cloud Storage বালতিটির নাম সহ [BUCKET_NAME] প্রতিস্থাপন করে আপনার ডাটাবেসে সমস্ত নথি রফতানি করতে firestore export কমান্ডটি ব্যবহার করুন। gcloud সরঞ্জামটি অপারেশনটি সম্পূর্ণ হওয়ার জন্য অপেক্ষা করা থেকে রোধ করতে --async পতাকা যুক্ত করুন।

  gcloud firestore export gs://[BUCKET_NAME] \
  --database=[DATABASE]

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

  • BUCKET_NAME : বালতি নামের পরে একটি ফাইল উপসর্গ যুক্ত করে আপনার রফতানিগুলি সংগঠিত করুন, উদাহরণস্বরূপ, BUCKET_NAME/my-exports-folder/export-name । আপনি যদি কোনও ফাইল উপসর্গ সরবরাহ না করেন তবে পরিচালিত রফতানি পরিষেবা বর্তমান টাইমস্ট্যাম্পের ভিত্তিতে একটি তৈরি করে।

  • DATABASE : আপনি যে ডাটাবেস থেকে ডকুমেন্টগুলি রফতানি করতে চান তার নাম। ডিফল্ট ডাটাবেসের জন্য, --database='(default)' ব্যবহার করুন।

একবার আপনি কোনও রফতানি অপারেশন শুরু করার পরে, টার্মিনালটি বন্ধ করা অপারেশন বাতিল করে না, কোনও অপারেশন বাতিল করুন

নির্দিষ্ট সংগ্রহ রফতানি করুন

গুগল ক্লাউড কনসোল

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

    ডাটাবেসে যান

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

  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

  4. রপ্তানি ক্লিক করুন.

  5. রফতানি এক বা একাধিক সংগ্রহ গ্রুপ বিকল্প ক্লিক করুন। এক বা একাধিক সংগ্রহ গোষ্ঠী নির্বাচন করতে ড্রপডাউন মেনু ব্যবহার করুন।

  6. নীচে গন্তব্য চয়ন করুন , Cloud Storage বালতিটির নাম লিখুন বা বালতি নির্বাচন করতে ব্রাউজ বোতামটি ব্যবহার করুন।

  7. রপ্তানি ক্লিক করুন.

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

জিক্লাউড

নির্দিষ্ট সংগ্রহ গোষ্ঠীগুলি রফতানি করতে, --collection-ids পতাকা ব্যবহার করুন। অপারেশন প্রদত্ত সংগ্রহ আইডি সহ কেবল সংগ্রহ গোষ্ঠী রফতানি করে। সংগ্রহ গোষ্ঠীতে নির্দিষ্ট সংগ্রহ আইডি সহ সমস্ত সংগ্রহ এবং সাবকলেকশন (যে কোনও পথে) অন্তর্ভুক্ত রয়েছে।

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

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

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

একটি পিআইটিআর টাইমস্ট্যাম্প থেকে রফতানি করুন

আপনি gcloud firestore export কমান্ড ব্যবহার করে PITR ডেটা থেকে Cloud Storage আপনার ডাটাবেস রপ্তানি করতে পারেন। আপনি পিআইটিআর ডেটা রপ্তানি করতে পারেন যেখানে টাইমস্ট্যাম্পটি বিগত সাত দিনের মধ্যে পুরো মিনিটের টাইমস্ট্যাম্প, তবে earliestVersionTime সময়ের চেয়ে আগে নয়। যদি নির্দিষ্ট টাইমস্ট্যাম্পে ডেটা আর বিদ্যমান না থাকে, তাহলে এক্সপোর্ট অপারেশন ব্যর্থ হয়।

পিআইটিআর রফতানি অপারেশন সমস্ত নথি রফতানি এবং নির্দিষ্ট সংগ্রহ রফতানি সহ সমস্ত ফিল্টারকে সমর্থন করে।

  1. কাঙ্ক্ষিত পুনরুদ্ধার টাইমস্ট্যাম্পে snapshot-time প্যারামিটার নির্দিষ্ট করে ডাটাবেসটি রফতানি করুন।

    জিক্লাউড

    আপনার বালতিতে ডাটাবেস রপ্তানি করতে নিম্নলিখিত কমান্ডটি চালান।

    gcloud firestore export gs://[BUCKET_NAME_PATH] \
        --snapshot-time=[PITR_TIMESTAMP] \
        --collection-ids=[COLLECTION_IDS] \
        --namespace-ids=[NAMESPACE_IDS]
    

    কোথায়,

    • PITR_TIMESTAMP - মিনিট গ্রানুলিটিতে একটি PITR টাইমস্ট্যাম্প, উদাহরণস্বরূপ, 2023-05-26T10:20:00.00Z

    পিআইটিআর ডেটা রপ্তানি করার আগে নিম্নলিখিত পয়েন্টগুলি নোট করুন:

    • RFC 3339 ফর্ম্যাটে টাইমস্ট্যাম্প নির্দিষ্ট করুন। উদাহরণস্বরূপ, 2020-09-01T23:59:30.234233Z
    • নিশ্চিত করুন যে আপনি যে টাইমস্ট্যাম্পটি নির্দিষ্ট করেছেন তা গত সাত দিনের মধ্যে পুরো মিনিটের টাইমস্ট্যাম্প, তবে earliestVersionTime এর আগে নয়। নির্দিষ্ট টাইমস্ট্যাম্পে যদি ডেটা আর বিদ্যমান না থাকে তবে একটি ত্রুটি উত্পন্ন হয়।
    • আপনার ব্যর্থ পিআইটিআর রফতানির জন্য চার্জ করা হবে না।

ডেটা আমদানি করুন

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

একটি রফতানি থেকে সমস্ত নথি আমদানি করুন

গুগল ক্লাউড কনসোল

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

    ডাটাবেসে যান

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

  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

  4. আমদানিতে ক্লিক করুন।

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

  6. আমদানিতে ক্লিক করুন।

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

জিক্লাউড

পূর্ববর্তী রফতানি অপারেশন থেকে নথি আমদানি করতে 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 ব্রাউজারে আপনার রফতানি ফাইলগুলির অবস্থান নিশ্চিত করতে পারেন:

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

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

নির্দিষ্ট সংগ্রহ আমদানি করুন

গুগল ক্লাউড কনসোল

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

জিক্লাউড

রফতানি ফাইলগুলির একটি সেট থেকে নির্দিষ্ট সংগ্রহ গোষ্ঠীগুলি আমদানি করতে, --collection-ids পতাকা ব্যবহার করুন। অপারেশন প্রদত্ত সংগ্রহ আইডি সহ কেবল সংগ্রহ গোষ্ঠীগুলি আমদানি করে। সংগ্রহ গোষ্ঠীতে নির্দিষ্ট সংগ্রহ আইডি সহ সমস্ত সংগ্রহ এবং সাবকলেকশন (যে কোনও পথে) অন্তর্ভুক্ত রয়েছে। --database পতাকা ব্যবহার করে ডাটাবেসের নামটি নির্দিষ্ট করুন। ডিফল্ট ডাটাবেসের জন্য, --database='(default)' ব্যবহার করুন।

কেবলমাত্র নির্দিষ্ট সংগ্রহ গোষ্ঠীর রফতানি নির্দিষ্ট সংগ্রহ গোষ্ঠীর আমদানি সমর্থন করে। আপনি সমস্ত নথি রফতানি থেকে নির্দিষ্ট সংগ্রহগুলি আমদানি করতে পারবেন না।

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

একটি পিআইটিআর রফতানি আমদানি করুন

আপনার রফতানি করা ডাটাবেস আমদানি করতে সমস্ত নথি আমদানির পদক্ষেপগুলি ব্যবহার করুন। যদি আপনার ডাটাবেসে ইতিমধ্যে কোনও নথি বিদ্যমান থাকে তবে এটি ওভাররাইট করা হবে।

রফতানি ও আমদানি কার্যক্রম পরিচালনা

আপনি কোনও রফতানি বা আমদানি অপারেশন শুরু করার পরে, Cloud Firestore অপারেশনটিকে একটি অনন্য নাম নির্ধারণ করে। আপনি অপারেশন নামটি মুছে ফেলতে, বাতিল করতে বা স্থিতি পরীক্ষা করতে ব্যবহার করতে পারেন।

অপারেশনের নামগুলো projects/[PROJECT_ID]/databases/(default)/operations/ এর সাথে প্রিফিক্স করা হয়েছে, উদাহরণস্বরূপ:

projects/my-project/databases/(default)/operations/ASA1MTAwNDQxNAgadGx1YWZlZAcSeWx0aGdpbi1zYm9qLW5pbWRhEgopEg

যাইহোক, আপনি কমান্ডগুলি describe , cancel এবং delete কোনও অপারেশন নাম নির্দিষ্ট করে আপনি উপসর্গটি ছেড়ে দিতে পারেন।

সমস্ত রফতানি এবং আমদানি অপারেশন তালিকাভুক্ত করুন

গুগল ক্লাউড কনসোল

আপনি গুগল ক্লাউড কনসোলের আমদানি/রফতানি পৃষ্ঠায় সাম্প্রতিক রফতানি এবং আমদানি অপারেশনের একটি তালিকা দেখতে পারেন।

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

    ডাটাবেসে যান

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

  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

জিক্লাউড

সমস্ত চলমান এবং সম্প্রতি সম্পন্ন রফতানি এবং আমদানি অপারেশনগুলি দেখতে operations list কমান্ডটি ব্যবহার করুন:

gcloud firestore operations list

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

গুগল ক্লাউড কনসোল

আপনি গুগল ক্লাউড কনসোলের আমদানি/রফতানি পৃষ্ঠায় সাম্প্রতিক রফতানি বা আমদানি অপারেশনের স্থিতি দেখতে পারেন।

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

    ডাটাবেসে যান

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

  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

জিক্লাউড

রফতানি বা আমদানি অপারেশনের স্থিতি দেখানোর জন্য operations describe কমান্ডটি ব্যবহার করুন।

gcloud firestore operations describe [OPERATION_NAME]

সমাপ্তির সময় অনুমান করুন

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

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

  • workCompleted এখন পর্যন্ত প্রক্রিয়া করা বাইট এবং নথির সংখ্যা দেখায়। অপারেশন শেষ হওয়ার পরে, মানটি প্রকৃতপক্ষে প্রক্রিয়াকৃত বাইট এবং নথির মোট সংখ্যা দেখায়, যা workEstimated এর মান থেকে বড় হতে পারে।

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

একটি অপারেশন বাতিল করুন

গুগল ক্লাউড কনসোল

আপনি Google ক্লাউড কনসোলের আমদানি/রপ্তানি পৃষ্ঠায় চলমান রপ্তানি বা আমদানি ক্রিয়াকলাপ বাতিল করতে পারেন৷

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

    ডাটাবেসে যান

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

  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

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

কনসোলে সাম্প্রতিক আমদানি এবং রফতানি টেবিলটি অপারেশন বন্ধ করার জন্য বাতিল বিকল্পের সাথে একটি চলমান ডেটা আমদানি দেখায়।

জিক্লাউড

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

ফিল্টার মেনু থেকে goog-firestore-পরিচালিত লেবেল অ্যাক্সেস করুন৷

বিগকোয়ারিতে রফতানি করুন

আপনি Cloud Firestore রফতানি থেকে BigQuery ডেটা লোড করতে পারেন তবে আপনি যদি collection-ids ফিল্টার নির্দিষ্ট করেন তবেই। Cloud Firestore রফতানি থেকে ডেটা লোডিং দেখুন।

BigQuery কলামের সীমা

BigQuery প্রতি টেবিলে 10,000 কলামের সীমা আরোপ করে। Cloud Firestore রফতানি অপারেশনগুলি প্রতিটি সংগ্রহ গোষ্ঠীর জন্য একটি BigQuery টেবিল স্কিমা উত্পন্ন করে। এই স্কিমাতে, সংগ্রহ গোষ্ঠীর মধ্যে প্রতিটি অনন্য ক্ষেত্রের নাম একটি স্কিমা কলামে পরিণত হয়।

যদি কোনও সংগ্রহ গোষ্ঠীর BigQuery স্কিমা 10,000 টি কলামকে ছাড়িয়ে যায় তবে Cloud Firestore রফতানি অপারেশন মানচিত্রের ক্ষেত্রগুলিকে বাইট হিসাবে বিবেচনা করে কলামের সীমাতে থাকার চেষ্টা করে। If this conversion brings the number of columns below 10,000, you can load the data into BigQuery , but you cannot query the subfields within the map fields. If the number of columns still exceeds 10,000, the export operation does not generate a BigQuery schema for the collection group and you cannot load its data into BigQuery .

Export format and metadata files

একটি পরিচালিত রপ্তানির আউটপুট LevelDB লগ বিন্যাস ব্যবহার করে।

মেটাডেটা ফাইল

An export operation creates a metadata file for each collection group you specify. Metadata files are typically named ALL_NAMESPACES_KIND_[COLLECTION_GROUP_ID].export_metadata .

The metadata files are protocol buffers and you can decode them with the protoc protocol compiler . For example, you can decode a metadata file to determine the collection groups the export files contain:

protoc --decode_raw < export0.export_metadata

সার্ভিস এজেন্ট মাইগ্রেশন

Cloud Firestore uses a Cloud Firestore service agent to authorize import and export operations instead of using the App Engine service account. পরিষেবা এজেন্ট এবং পরিষেবা অ্যাকাউন্ট নিম্নলিখিত নামকরণের নিয়মগুলি ব্যবহার করে:

Cloud Firestore service agent
service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com

Cloud Firestore previously used the App Engine default service account instead of the Cloud Firestore service agent. If your database still uses the App Engine service account to import or export data, we recommend that you follow the instructions in this section to migrate to using the Cloud Firestore service agent.

App Engine পরিষেবা অ্যাকাউন্ট
PROJECT_ID @appspot.gserviceaccount.com

The Cloud Firestore service agent is preferable because it is specific to Cloud Firestore . App Engine পরিষেবা অ্যাকাউন্ট একাধিক পরিষেবা দ্বারা ভাগ করা হয়৷

অনুমোদন অ্যাকাউন্ট দেখুন

আপনি Google ক্লাউড কনসোলে আমদানি/রপ্তানি পৃষ্ঠা থেকে অনুরোধ অনুমোদন করতে আপনার আমদানি এবং রপ্তানি ক্রিয়াকলাপগুলি কোন অ্যাকাউন্ট ব্যবহার করে তা দেখতে পারেন৷ You can also view if your database already uses the Cloud Firestore service agent.

  1. In the Google Cloud console, go to the Databases page.

    Go to Databases

  2. Select the required database from the list of databases.
  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

  4. লেবেল হিসাবে চালিত আমদানি/রপ্তানি কাজের পাশে অনুমোদন অ্যাকাউন্টটি দেখুন।

If your project does not use the Cloud Firestore service agent, you can migrate to the Cloud Firestore service agent using either of these techniques:

The first of these techniques is preferable because it localizes the scope of effect to a single Cloud Firestore project. দ্বিতীয় কৌশলটি পছন্দের নয় কারণ এটি বিদ্যমান Cloud Storage বাকেট অনুমতিগুলি স্থানান্তর করে না৷ এটি অবশ্য সংগঠন পর্যায়ে নিরাপত্তা সম্মতি প্রদান করে।

Cloud Storage বাকেট অনুমতি চেক এবং আপডেট করে মাইগ্রেট করুন

মাইগ্রেশন প্রক্রিয়ার দুটি ধাপ রয়েছে:

  1. Cloud Storage বাকেট অনুমতি আপডেট করুন। বিস্তারিত জানার জন্য নিম্নলিখিত বিভাগ দেখুন.
  2. Confirm migration to the Cloud Firestore service agent.

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

For any export or import operations that use a Cloud Storage bucket in another project, you must grant the Cloud Firestore service agent permissions for that bucket. উদাহরণস্বরূপ, অন্য প্রকল্পে ডেটা স্থানান্তরিত অপারেশনগুলিকে সেই অন্য প্রকল্পে একটি বালতি অ্যাক্সেস করতে হবে। Otherwise, these operations fail after migrating to the Cloud Firestore service agent.

একই প্রকল্পের মধ্যে থাকা আমদানি ও রপ্তানি কর্মপ্রবাহের জন্য অনুমতির পরিবর্তনের প্রয়োজন হয় না। The Cloud Firestore service agent can access buckets in the same project by default.

service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com পরিষেবা এজেন্টে অ্যাক্সেস দিতে অন্যান্য প্রকল্প থেকে Cloud Storage বালতিগুলির জন্য অনুমতিগুলি আপডেট করুন৷ সার্ভিস এজেন্টকে Firestore Service Agent ভূমিকা মঞ্জুর করুন।

Firestore Service Agent ভূমিকা একটি Cloud Storage বালতি পড়ার এবং লেখার অনুমতি দেয়। আপনি যদি শুধুমাত্র পড়ার বা শুধুমাত্র লেখার অনুমতি দিতে চান, একটি কাস্টম ভূমিকা ব্যবহার করুন।

নিম্নলিখিত বিভাগে বর্ণিত মাইগ্রেশন প্রক্রিয়া আপনাকে Cloud Storage বালতি সনাক্ত করতে সাহায্য করে যার জন্য অনুমতি আপডেটের প্রয়োজন হতে পারে।

ফায়ারস্টোর সার্ভিস এজেন্টের কাছে একটি প্রকল্প স্থানান্তর করুন

Complete the following steps to migrate from the App Engine service account to the Cloud Firestore service agent. একবার সম্পূর্ণ হলে, মাইগ্রেশন পূর্বাবস্থায় ফেরানো যাবে না।

  1. In the Google Cloud console, go to the Databases page.

    Go to Databases

  2. Select the required database from the list of databases.
  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

  4. If your project has not yet migrated to the Cloud Firestore service agent, you see a banner describing the migration and a Check Bucket Status button. পরবর্তী ধাপ আপনাকে সম্ভাব্য অনুমতি ত্রুটি সনাক্ত করতে এবং ঠিক করতে সাহায্য করে।

    চেক বাকেট স্ট্যাটাস ক্লিক করুন।

    আপনার মাইগ্রেশন সম্পূর্ণ করার বিকল্প এবং Cloud Storage বালতিগুলির একটি তালিকা সহ একটি মেনু প্রদর্শিত হবে৷ তালিকাটি লোড করা শেষ হতে কয়েক মিনিট সময় লাগতে পারে।

    This list includes buckets which were recently used in import and export operations, but do not currently give read and write permissions to the Cloud Firestore service agent.

  5. Take note of the principal name of your project's Cloud Firestore service agent. লেবেলে অ্যাক্সেস দেওয়ার জন্য পরিষেবা এজেন্টের নাম পরিষেবা এজেন্টের অধীনে প্রদর্শিত হয়।
  6. ভবিষ্যতের আমদানি বা রপ্তানি ক্রিয়াকলাপের জন্য আপনি যে তালিকা ব্যবহার করবেন তার জন্য, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

    1. এই বালতির টেবিলের সারিতে, ফিক্স এ ক্লিক করুন। এটি একটি নতুন ট্যাবে সেই বাকেটের অনুমতি পৃষ্ঠাটি খোলে৷

    2. যোগ করুন ক্লিক করুন.
    3. In the New principals field, enter the name of your Cloud Firestore service agent.
    4. একটি ভূমিকা নির্বাচন করুন ক্ষেত্রে, পরিষেবা এজেন্ট > ফায়ারস্টোর পরিষেবা এজেন্ট নির্বাচন করুন।
    5. Save এ ক্লিক করুন।
    6. Return to the tab with the Cloud Firestore Import/Export page.
    7. তালিকার অন্যান্য বালতিগুলির জন্য এই পদক্ষেপগুলি পুনরাবৃত্তি করুন৷ তালিকার সব পৃষ্ঠা দেখতে ভুলবেন না.
  7. Firestore সার্ভিস এজেন্টে মাইগ্রেট করুন ক্লিক করুন। আপনার যদি এখনও ব্যর্থ অনুমতি চেক সহ বালতি থেকে থাকে, তাহলে আপনাকে মাইগ্রেট ক্লিক করে আপনার মাইগ্রেশন নিশ্চিত করতে হবে।

    আপনার মাইগ্রেশন সম্পূর্ণ হলে একটি সতর্কতা আপনাকে জানায়। মাইগ্রেশন পূর্বাবস্থায় ফেরানো যাবে না।

মাইগ্রেশন স্ট্যাটাস দেখুন

আপনার প্রকল্পের মাইগ্রেশন স্ট্যাটাস যাচাই করতে:

  1. In the Google Cloud console, go to the Databases page.

    Go to Databases

  2. Select the required database from the list of databases.
  3. নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।

  4. লেবেল হিসাবে চালিত আমদানি/রপ্তানি কাজের পাশে প্রিন্সিপালের জন্য দেখুন।

    If the principal is service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com , then your project has already migrated to the Cloud Firestore service agent. মাইগ্রেশন পূর্বাবস্থায় ফেরানো যাবে না।

    প্রকল্পটি স্থানান্তরিত না হলে, একটি ব্যানার পৃষ্ঠার শীর্ষে একটি চেক বাকেট স্ট্যাটাস বোতাম সহ প্রদর্শিত হবে৷ মাইগ্রেশন সম্পূর্ণ করতে Firestore পরিষেবা এজেন্টে মাইগ্রেট দেখুন।

একটি প্রতিষ্ঠান-ব্যাপী নীতি সীমাবদ্ধতা যোগ করুন

  • আপনার প্রতিষ্ঠানের নীতিতে নিম্নলিখিত সীমাবদ্ধতা সেট করুন:

    আমদানি/রপ্তানির জন্য Firestore পরিষেবা এজেন্ট প্রয়োজন ( firestore.requireP4SAforImportExport )।

    This constraint requires import and export operations to use the Cloud Firestore service agent to authorize requests. এই সীমাবদ্ধতা সেট করতে, প্রতিষ্ঠানের নীতি তৈরি এবং পরিচালনা দেখুন।

Applying this organizational policy constraint does not automatically grant the appropriate Cloud Storage bucket permissions for the Cloud Firestore service agent.

যদি সীমাবদ্ধতা কোনো আমদানি বা রপ্তানি কর্মপ্রবাহের জন্য অনুমতি ত্রুটি তৈরি করে, আপনি ডিফল্ট পরিষেবা অ্যাকাউন্ট ব্যবহার করে ফিরে যেতে এটি অক্ষম করতে পারেন। আপনি Cloud Storage বাকেট অনুমতিগুলি চেক এবং আপডেট করার পরে, আপনি আবার সীমাবদ্ধতা সক্ষম করতে পারেন৷