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

আপনি 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 বাকেট অনুমতিগুলি চেক এবং আপডেট করার পরে, আপনি আবার সীমাবদ্ধতা সক্ষম করতে পারেন৷