আপনি Cloud Firestore পরিচালিত রপ্তানি এবং আমদানি পরিষেবা ব্যবহার করতে পারেন ডেটা দুর্ঘটনাজনিত মুছে ফেলা থেকে পুনরুদ্ধার করতে এবং অফলাইন প্রক্রিয়াকরণের জন্য ডেটা রপ্তানি করতে। আপনি সমস্ত নথি বা শুধুমাত্র নির্দিষ্ট সংগ্রহ রপ্তানি করতে পারেন। একইভাবে, আপনি একটি রপ্তানি বা শুধুমাত্র নির্দিষ্ট সংগ্রহ থেকে সমস্ত ডেটা আমদানি করতে পারেন। একটি Cloud Firestore ডাটাবেস থেকে রপ্তানি করা ডেটা অন্য Cloud Firestore ডাটাবেসে আমদানি করা যেতে পারে। এছাড়াও আপনি BigQuery এ Cloud Firestore এক্সপোর্ট লোড করতে পারেন।
এই পৃষ্ঠাটি Cloud Firestore নথিগুলি কীভাবে রপ্তানি এবং আমদানি করা যায় তা বর্ণনা করে পরিচালিত রপ্তানি এবং আমদানি পরিষেবা এবং Cloud Storage ব্যবহার করে৷ Cloud Firestore পরিচালিত রপ্তানি এবং আমদানি পরিষেবা gcloud
কমান্ড-লাইন টুল এবং Cloud Firestore API ( REST , RPC ) এর মাধ্যমে উপলব্ধ।
আপনি শুরু করার আগে
আপনি পরিচালিত রপ্তানি এবং আমদানি পরিষেবা ব্যবহার করার আগে, আপনাকে অবশ্যই নিম্নলিখিত কাজগুলি সম্পূর্ণ করতে হবে:
- আপনার Google Cloud প্রকল্পের জন্য বিলিং সক্ষম করুন৷ শুধুমাত্র Google Cloud প্রজেক্টে বিলিং সক্ষম করা আছে রপ্তানি এবং আমদানি কার্যকারিতা ব্যবহার করতে পারে।
- আপনার Cloud Firestore ডাটাবেস অবস্থানের কাছাকাছি একটি অবস্থানে আপনার প্রকল্পের জন্য একটি Cloud Storage বালতি তৈরি করুন ৷ আপনি রপ্তানি এবং আমদানি ক্রিয়াকলাপের জন্য একটি Requester Pays বালতি ব্যবহার করতে পারবেন না।
নিশ্চিত করুন যে আপনার অ্যাকাউন্টে Cloud Firestore এবং Cloud Storage জন্য প্রয়োজনীয় অনুমতি রয়েছে৷ আপনি যদি প্রকল্পের মালিক হন তবে আপনার অ্যাকাউন্টে প্রয়োজনীয় অনুমতি রয়েছে৷ অন্যথায়, নিম্নলিখিত ভূমিকাগুলি রপ্তানি ও আমদানি ক্রিয়াকলাপ এবং Cloud Storage অ্যাক্সেসের জন্য প্রয়োজনীয় অনুমতি দেয়:
- Cloud Firestore ভূমিকা:
Owner
,Cloud Datastore Owner
বাCloud Datastore Import Export Admin
Cloud Storage ভূমিকা:
Owner
বাStorage Admin
- Cloud Firestore ভূমিকা:
পরিষেবা এজেন্ট অনুমতি
Cloud Storage অপারেশন অনুমোদনের জন্য রপ্তানি এবং আমদানি ক্রিয়াকলাপগুলি একটি Cloud Firestore পরিষেবা এজেন্ট ব্যবহার করে৷ Cloud Firestore পরিষেবা এজেন্ট নিম্নলিখিত নামকরণ পদ্ধতি ব্যবহার করে:
- Cloud Firestore সার্ভিস এজেন্ট
-
service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com
পরিষেবা এজেন্ট সম্পর্কে আরও জানতে, পরিষেবা এজেন্ট দেখুন।
Cloud 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 পরিষেবা অ্যাকাউন্ট ব্যবহার করে কিনা তাও আপনি দেখতে পারেন৷
- লেবেল হিসাবে চালিত আমদানি/রপ্তানি কাজের পাশে অনুমোদন অ্যাকাউন্টটি দেখুন।
Cloud Storage বালতি এক্সপোর্ট বা ইম্পোর্ট অপারেশনের জন্য ব্যবহার করার জন্য পরিষেবা এজেন্টের Storage Admin
ভূমিকা প্রয়োজন।
আপনার প্রকল্পের জন্য gcloud
সেট আপ করুন
আপনি Google ক্লাউড কনসোল বা gcloud
কমান্ড-লাইন টুলের মাধ্যমে আমদানি ও রপ্তানি কার্যক্রম শুরু করতে পারেন। gcloud
ব্যবহার করতে, কমান্ড-লাইন টুল সেট আপ করুন এবং নিম্নলিখিত উপায়ে আপনার প্রকল্পের সাথে সংযোগ করুন:
Cloud Shell ব্যবহার করে Google ক্লাউড প্ল্যাটফর্ম কনসোল থেকে
gcloud
অ্যাক্সেস করুন।নিশ্চিত করুন
gcloud
সঠিক প্রকল্পের জন্য কনফিগার করা হয়েছে:gcloud config set project [PROJECT_ID]
ডেটা রপ্তানি করুন
একটি এক্সপোর্ট অপারেশন আপনার ডাটাবেসের নথিগুলিকে একটি Cloud Storage বাকেটের ফাইলগুলির একটি সেটে অনুলিপি করে৷ মনে রাখবেন যে রপ্তানি রপ্তানি শুরুর সময়ে নেওয়া একটি সঠিক ডাটাবেস স্ন্যাপশট নয়। অপারেশন চলাকালীন একটি রপ্তানি করা পরিবর্তনগুলি অন্তর্ভুক্ত করতে পারে৷
সমস্ত নথি রপ্তানি করুন
গুগল ক্লাউড কনসোল
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।
রপ্তানি ক্লিক করুন.
সম্পূর্ণ ডাটাবেস রপ্তানি বিকল্পটি ক্লিক করুন।
নীচে গন্তব্য চয়ন করুন , একটি Cloud Storage বাকেটের নাম লিখুন বা একটি বালতি নির্বাচন করতে ব্রাউজ বোতামটি ব্যবহার করুন৷
রপ্তানি ক্লিক করুন.
কনসোলটি আমদানি/রপ্তানি পৃষ্ঠায় ফিরে আসে। অপারেশন সফলভাবে শুরু হলে, পৃষ্ঠাটি সাম্প্রতিক আমদানি ও রপ্তানি পৃষ্ঠায় একটি এন্ট্রি যোগ করে। ব্যর্থ হলে, পৃষ্ঠাটি একটি ত্রুটি বার্তা প্রদর্শন করে।
জিক্লাউড
আপনার 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)'
ব্যবহার করুন।
একবার আপনি একটি রপ্তানি অপারেশন শুরু করলে, টার্মিনাল বন্ধ করলে অপারেশনটি বাতিল হয় না, একটি অপারেশন বাতিল করুন দেখুন।
নির্দিষ্ট সংগ্রহ রপ্তানি করুন
গুগল ক্লাউড কনসোল
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।
রপ্তানি ক্লিক করুন.
এক বা একাধিক সংগ্রহ গোষ্ঠী রপ্তানি করুন বিকল্পে ক্লিক করুন। এক বা একাধিক সংগ্রহ গোষ্ঠী নির্বাচন করতে ড্রপডাউন মেনু ব্যবহার করুন।
নীচে গন্তব্য চয়ন করুন , একটি Cloud Storage বাকেটের নাম লিখুন বা একটি বালতি নির্বাচন করতে ব্রাউজ বোতামটি ব্যবহার করুন৷
রপ্তানি ক্লিক করুন.
কনসোলটি আমদানি/রপ্তানি পৃষ্ঠায় ফিরে আসে। অপারেশন সফলভাবে শুরু হলে, পৃষ্ঠাটি সাম্প্রতিক আমদানি ও রপ্তানি পৃষ্ঠায় একটি এন্ট্রি যোগ করে। ব্যর্থ হলে, পৃষ্ঠাটি একটি ত্রুটি বার্তা প্রদর্শন করে।
জিক্লাউড
নির্দিষ্ট সংগ্রহ গোষ্ঠী রপ্তানি করতে, --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
সময়ের চেয়ে আগে নয়। যদি নির্দিষ্ট টাইমস্ট্যাম্পে ডেটা আর বিদ্যমান না থাকে, তাহলে এক্সপোর্ট অপারেশন ব্যর্থ হয়।
পিআইটিআর এক্সপোর্ট অপারেশন সমস্ত ফিল্টারকে সমর্থন করে, যার মধ্যে সমস্ত নথি রপ্তানি করা এবং নির্দিষ্ট সংগ্রহ রপ্তানি করা হয়।
পছন্দসই পুনরুদ্ধার টাইমস্ট্যাম্পে
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
ফাইলের নাম একই রাখুন৷
রপ্তানি থেকে সমস্ত নথি আমদানি করুন
গুগল ক্লাউড কনসোল
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।
আমদানিতে ক্লিক করুন।
ফাইলের নাম ক্ষেত্রে, একটি সম্পূর্ণ এক্সপোর্ট অপারেশন থেকে একটি
.overall_export_metadata
ফাইলের ফাইলের নাম লিখুন। আপনি ফাইল নির্বাচন করতে সাহায্য করতে ব্রাউজ বোতামটি ব্যবহার করতে পারেন।আমদানিতে ক্লিক করুন।
কনসোলটি আমদানি/রপ্তানি পৃষ্ঠায় ফিরে আসে। অপারেশন সফলভাবে শুরু হলে, পৃষ্ঠাটি সাম্প্রতিক আমদানি ও রপ্তানি পৃষ্ঠায় একটি এন্ট্রি যোগ করে। ব্যর্থ হলে, পৃষ্ঠাটি একটি ত্রুটি বার্তা প্রদর্শন করে।
জিক্লাউড
পূর্ববর্তী এক্সপোর্ট অপারেশন থেকে নথি আমদানি করতে 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 ব্রাউজারে আপনার এক্সপোর্ট ফাইলগুলির অবস্থান নিশ্চিত করতে পারেন:
একবার আপনি একটি ইম্পোর্ট অপারেশন শুরু করলে, টার্মিনাল বন্ধ করলে অপারেশনটি বাতিল হয় না, একটি অপারেশন বাতিল করুন দেখুন।
নির্দিষ্ট সংগ্রহ আমদানি করুন
গুগল ক্লাউড কনসোল
আপনি কনসোলে নির্দিষ্ট সংগ্রহ নির্বাচন করতে পারবেন না। পরিবর্তে 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 ক্লাউড কনসোলের আমদানি/রপ্তানি পৃষ্ঠায় সাম্প্রতিক রপ্তানি এবং আমদানি ক্রিয়াকলাপের একটি তালিকা দেখতে পারেন৷
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।
জিক্লাউড
সমস্ত চলমান এবং সম্প্রতি সম্পন্ন রপ্তানি এবং আমদানি ক্রিয়াকলাপগুলি দেখতে operations list
কমান্ডটি ব্যবহার করুন:
gcloud firestore operations list
অপারেশন স্ট্যাটাস চেক করুন
গুগল ক্লাউড কনসোল
আপনি Google ক্লাউড কনসোলের আমদানি/রপ্তানি পৃষ্ঠায় সাম্প্রতিক রপ্তানি বা আমদানি ক্রিয়াকলাপের স্থিতি দেখতে পারেন৷
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।
জিক্লাউড
রপ্তানি বা আমদানি ক্রিয়াকলাপের অবস্থা দেখাতে operations describe
কমান্ড ব্যবহার করুন।
gcloud firestore operations describe [OPERATION_NAME]
সমাপ্তির সময় অনুমান করুন
দীর্ঘমেয়াদী অপারেশনের স্থিতির জন্য একটি অনুরোধ মেট্রিক্সের workEstimated
এবং workCompleted
ফেরত দেয়। এই মেট্রিকগুলির প্রত্যেকটি বাইটের সংখ্যা এবং সত্তার সংখ্যা উভয়েই ফেরত দেওয়া হয়:
workEstimated
একটি অপারেশন প্রক্রিয়া করবে আনুমানিক মোট বাইট এবং নথির সংখ্যা দেখায়। Cloud Firestore অনুমান করতে না পারলে এই মেট্রিকটি বাদ দিতে পারে।workCompleted
এখন পর্যন্ত প্রক্রিয়া করা বাইট এবং নথির সংখ্যা দেখায়। অপারেশন শেষ হওয়ার পরে, মানটি প্রকৃতপক্ষে প্রক্রিয়াকৃত বাইট এবং নথির মোট সংখ্যা দেখায়, যাworkEstimated
এর মান থেকে বড় হতে পারে।
মোটামুটি অগ্রগতির অনুমানের জন্য workEstimated
দ্বারা workCompleted
ভাগ করুন। এই অনুমানটি ভুল হতে পারে, কারণ এটি পরিসংখ্যান সংগ্রহের বিলম্বের উপর নির্ভর করে।
একটি অপারেশন বাতিল করুন
গুগল ক্লাউড কনসোল
আপনি Google ক্লাউড কনসোলের আমদানি/রপ্তানি পৃষ্ঠায় চলমান রপ্তানি বা আমদানি ক্রিয়াকলাপ বাতিল করতে পারেন৷
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।
সাম্প্রতিক আমদানি ও রপ্তানি সারণীতে, বর্তমানে চলমান ক্রিয়াকলাপগুলি সম্পূর্ণ কলামে একটি বাতিল বোতাম অন্তর্ভুক্ত করে। অপারেশন বন্ধ করতে বাতিল বোতামে ক্লিক করুন। বোতামটি একটি বাতিল বার্তায় পরিবর্তিত হয় এবং তারপরে অপারেশন সম্পূর্ণভাবে বন্ধ হয়ে গেলে বাতিল হয় ।
জিক্লাউড
চলমান একটি অপারেশন বন্ধ করতে operations cancel
কমান্ড ব্যবহার করুন:
gcloud firestore operations cancel [OPERATION_NAME]
একটি চলমান অপারেশন বাতিল করা অপারেশনটিকে পূর্বাবস্থায় ফিরিয়ে আনে না। একটি বাতিল রপ্তানি ক্রিয়াকলাপ Cloud Storage ইতিমধ্যেই রপ্তানি করা নথিগুলিকে ছেড়ে দেবে, এবং একটি বাতিল আমদানি ক্রিয়াকলাপ আপনার ডাটাবেসে ইতিমধ্যে তৈরি করা আপডেটগুলিতে ছেড়ে যাবে৷ আপনি একটি আংশিকভাবে সম্পন্ন রপ্তানি আমদানি করতে পারবেন না.
একটি অপারেশন মুছুন
সাম্প্রতিক ক্রিয়াকলাপগুলির তালিকা থেকে একটি অপারেশন সরাতে gcloud firestore operations delete
কমান্ড ব্যবহার করুন। এই কমান্ডটি Cloud Storage থেকে এক্সপোর্ট ফাইল মুছে ফেলবে না।
gcloud firestore operations delete [OPERATION_NAME]
রপ্তানি এবং আমদানি ক্রিয়াকলাপের জন্য বিলিং এবং মূল্য নির্ধারণ
পরিচালিত রপ্তানি এবং আমদানি পরিষেবা ব্যবহার করার আগে আপনাকে আপনার Google Cloud প্রকল্পের জন্য বিলিং সক্ষম করতে হবে৷
Cloud Firestore মূল্যে তালিকাভুক্ত হারে নথি পড়ার এবং লেখার জন্য রপ্তানি এবং আমদানি ক্রিয়াকলাপগুলি চার্জ করা হয়৷ রপ্তানি ক্রিয়াকলাপ রপ্তানি করা নথি প্রতি একটি রিড অপারেশন হয়। আমদানি ক্রিয়াকলাপ আমদানিকৃত নথি প্রতি একটি লেখার ক্রিয়াকলাপ বহন করে।
Cloud Storage সঞ্চিত আউটপুট ফাইলগুলি আপনার Cloud Storage ডেটা স্টোরেজ খরচের জন্য গণনা করে।
রপ্তানি এবং আমদানি ক্রিয়াকলাপের খরচ আপনার ব্যয় সীমার মধ্যে গণনা করা হয় না৷ রপ্তানি বা আমদানি ক্রিয়াকলাপ সম্পূর্ণ না হওয়া পর্যন্ত আপনার Google Cloud বাজেট সতর্কতাগুলিকে ট্রিগার করবে না। একইভাবে, রপ্তানি বা আমদানি ক্রিয়াকলাপের সময় সম্পাদিত পড়া এবং লেখাগুলি অপারেশন সম্পূর্ণ হওয়ার পরে আপনার দৈনিক কোটায় প্রয়োগ করা হয়। রপ্তানি এবং আমদানি ক্রিয়াকলাপগুলি কনসোলের ব্যবহার বিভাগে দেখানো ব্যবহারকে প্রভাবিত করবে না।
রপ্তানি এবং আমদানি খরচ দেখা
রপ্তানি এবং আমদানি ক্রিয়াকলাপগুলি বিল করা ক্রিয়াকলাপে goog-firestoremanaged:exportimport
লেবেল প্রয়োগ করে৷ ক্লাউড বিলিং রিপোর্ট পৃষ্ঠায় , আপনি আমদানি ও রপ্তানি ক্রিয়াকলাপ সম্পর্কিত খরচ দেখতে এই লেবেলটি ব্যবহার করতে পারেন:
BigQuery-এ রপ্তানি করুন
আপনি BigQuery এ Cloud 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 পরিষেবা এজেন্ট ব্যবহার করে কিনা তাও আপনি দেখতে পারেন।
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
- ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।
- লেবেল হিসাবে চালিত আমদানি/রপ্তানি কাজের পাশে অনুমোদন অ্যাকাউন্টটি দেখুন।
যদি আপনার প্রকল্প Cloud Firestore পরিষেবা এজেন্ট ব্যবহার না করে, তাহলে আপনি এই কৌশলগুলির যে কোনও একটি ব্যবহার করে Cloud Firestore পরিষেবা এজেন্টে স্থানান্তর করতে পারেন:
- Cloud Storage বাকেট অনুমতি চেক এবং আপডেট করে একটি প্রকল্প স্থানান্তর করুন (প্রস্তাবিত) ।
- একটি প্রতিষ্ঠান-ব্যাপী নীতি সীমাবদ্ধতা যোগ করুন যা প্রতিষ্ঠানের মধ্যে সমস্ত প্রকল্পকে প্রভাবিত করে।
এই কৌশলগুলির মধ্যে প্রথমটি পছন্দনীয় কারণ এটি একটি একক Cloud Firestore প্রকল্পে প্রভাবের সুযোগ স্থানীয়করণ করে৷ দ্বিতীয় কৌশলটি পছন্দের নয় কারণ এটি বিদ্যমান Cloud Storage বাকেট অনুমতিগুলি স্থানান্তর করে না৷ এটি অবশ্য সংগঠন পর্যায়ে নিরাপত্তা সম্মতি প্রদান করে।
Cloud Storage বাকেট অনুমতি চেক এবং আপডেট করে মাইগ্রেট করুন
মাইগ্রেশন প্রক্রিয়ার দুটি ধাপ রয়েছে:
- Cloud Storage বাকেট অনুমতি আপডেট করুন। বিস্তারিত জানার জন্য নিম্নলিখিত বিভাগ দেখুন.
- Cloud Firestore পরিষেবা এজেন্টে স্থানান্তর নিশ্চিত করুন।
পরিষেবা এজেন্ট বালতি অনুমতি
অন্য কোনো প্রকল্পে Cloud Storage বালতি ব্যবহার করে এমন কোনো রপ্তানি বা আমদানি ক্রিয়াকলাপের জন্য, আপনাকে সেই বালতির জন্য Cloud Firestore পরিষেবা এজেন্টকে অনুমতি দিতে হবে। উদাহরণস্বরূপ, অন্য প্রকল্পে ডেটা স্থানান্তরিত অপারেশনগুলিকে সেই অন্য প্রকল্পে একটি বালতি অ্যাক্সেস করতে হবে। অন্যথায়, Cloud Firestore পরিষেবা এজেন্টে স্থানান্তরিত করার পরে এই অপারেশনগুলি ব্যর্থ হয়৷
একই প্রকল্পের মধ্যে থাকা আমদানি ও রপ্তানি কর্মপ্রবাহের জন্য অনুমতির পরিবর্তনের প্রয়োজন হয় না। Cloud Firestore পরিষেবা এজেন্ট ডিফল্টরূপে একই প্রকল্পে বালতি অ্যাক্সেস করতে পারে।
service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com
পরিষেবা এজেন্টে অ্যাক্সেস দিতে অন্যান্য প্রকল্প থেকে Cloud Storage বালতিগুলির জন্য অনুমতিগুলি আপডেট করুন৷ সার্ভিস এজেন্টকে Firestore Service Agent
ভূমিকা মঞ্জুর করুন।
Firestore Service Agent
ভূমিকা একটি Cloud Storage বালতি পড়ার এবং লেখার অনুমতি দেয়। আপনি যদি শুধুমাত্র পড়ার বা শুধুমাত্র লেখার অনুমতি দিতে চান, একটি কাস্টম ভূমিকা ব্যবহার করুন।
নিম্নলিখিত বিভাগে বর্ণিত মাইগ্রেশন প্রক্রিয়া আপনাকে Cloud Storage বালতি সনাক্ত করতে সাহায্য করে যার জন্য অনুমতি আপডেটের প্রয়োজন হতে পারে।
ফায়ারস্টোর সার্ভিস এজেন্টের কাছে একটি প্রকল্প স্থানান্তর করুন
App Engine পরিষেবা অ্যাকাউন্ট থেকে Cloud Firestore পরিষেবা এজেন্টে স্থানান্তর করতে নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন৷ একবার সম্পূর্ণ হলে, মাইগ্রেশন পূর্বাবস্থায় ফেরানো যাবে না।
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
- ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।
যদি আপনার প্রকল্পটি এখনও Cloud Firestore পরিষেবা এজেন্টে স্থানান্তরিত না হয়, তাহলে আপনি মাইগ্রেশন বর্ণনাকারী একটি ব্যানার এবং একটি চেক বাকেট স্ট্যাটাস বোতাম দেখতে পাবেন। পরবর্তী ধাপ আপনাকে সম্ভাব্য অনুমতি ত্রুটি সনাক্ত করতে এবং ঠিক করতে সাহায্য করে।
চেক বাকেট স্ট্যাটাস ক্লিক করুন।
আপনার মাইগ্রেশন সম্পূর্ণ করার বিকল্প এবং Cloud Storage বালতিগুলির একটি তালিকা সহ একটি মেনু প্রদর্শিত হবে৷ তালিকাটি লোড করা শেষ হতে কয়েক মিনিট সময় লাগতে পারে।
এই তালিকায় এমন বালতি রয়েছে যা সম্প্রতি আমদানি ও রপ্তানি ক্রিয়াকলাপে ব্যবহৃত হয়েছে, কিন্তু বর্তমানে Cloud Firestore পরিষেবা এজেন্টকে পড়ার এবং লেখার অনুমতি দেয় না।
- আপনার প্রকল্পের Cloud Firestore পরিষেবা এজেন্টের প্রধান নামটি নোট করুন। লেবেলে অ্যাক্সেস দেওয়ার জন্য পরিষেবা এজেন্টের নাম পরিষেবা এজেন্টের অধীনে প্রদর্শিত হয়।
ভবিষ্যতের আমদানি বা রপ্তানি ক্রিয়াকলাপের জন্য আপনি যে তালিকা ব্যবহার করবেন তার জন্য, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:
এই বালতির টেবিলের সারিতে, ফিক্স এ ক্লিক করুন। এটি একটি নতুন ট্যাবে সেই বাকেটের অনুমতি পৃষ্ঠাটি খোলে৷
- যোগ করুন ক্লিক করুন.
- নতুন প্রিন্সিপাল ফিল্ডে, আপনার Cloud Firestore সার্ভিস এজেন্টের নাম লিখুন।
- একটি ভূমিকা নির্বাচন করুন ক্ষেত্রে, পরিষেবা এজেন্ট > ফায়ারস্টোর পরিষেবা এজেন্ট নির্বাচন করুন।
- Save এ ক্লিক করুন।
- Cloud Firestore আমদানি/রপ্তানি পৃষ্ঠা সহ ট্যাবে ফিরে যান।
- তালিকার অন্যান্য বালতিগুলির জন্য এই পদক্ষেপগুলি পুনরাবৃত্তি করুন৷ তালিকার সব পৃষ্ঠা দেখতে ভুলবেন না.
Firestore সার্ভিস এজেন্টে মাইগ্রেট করুন ক্লিক করুন। আপনার যদি এখনও ব্যর্থ অনুমতি চেক সহ বালতি থেকে থাকে, তাহলে আপনাকে মাইগ্রেট ক্লিক করে আপনার মাইগ্রেশন নিশ্চিত করতে হবে।
আপনার মাইগ্রেশন সম্পূর্ণ হলে একটি সতর্কতা আপনাকে জানায়। মাইগ্রেশন পূর্বাবস্থায় ফেরানো যাবে না।
মাইগ্রেশন স্ট্যাটাস দেখুন
আপনার প্রকল্পের মাইগ্রেশন স্ট্যাটাস যাচাই করতে:
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
- ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।
লেবেল হিসাবে চালিত আমদানি/রপ্তানি কাজের পাশে প্রিন্সিপালের জন্য দেখুন।
যদি প্রিন্সিপাল
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 ডাটাবেসে আমদানি করা যেতে পারে। এছাড়াও আপনি BigQuery এ Cloud Firestore এক্সপোর্ট লোড করতে পারেন।
এই পৃষ্ঠাটি Cloud Firestore নথিগুলি কীভাবে রপ্তানি এবং আমদানি করা যায় তা বর্ণনা করে পরিচালিত রপ্তানি এবং আমদানি পরিষেবা এবং Cloud Storage ব্যবহার করে৷ Cloud Firestore পরিচালিত রপ্তানি এবং আমদানি পরিষেবা gcloud
কমান্ড-লাইন টুল এবং Cloud Firestore API ( REST , RPC ) এর মাধ্যমে উপলব্ধ।
আপনি শুরু করার আগে
আপনি পরিচালিত রপ্তানি এবং আমদানি পরিষেবা ব্যবহার করার আগে, আপনাকে অবশ্যই নিম্নলিখিত কাজগুলি সম্পূর্ণ করতে হবে:
- আপনার Google Cloud প্রকল্পের জন্য বিলিং সক্ষম করুন৷ শুধুমাত্র Google Cloud প্রজেক্টে বিলিং সক্ষম করা আছে রপ্তানি এবং আমদানি কার্যকারিতা ব্যবহার করতে পারে।
- আপনার Cloud Firestore ডাটাবেস অবস্থানের কাছাকাছি একটি অবস্থানে আপনার প্রকল্পের জন্য একটি Cloud Storage বালতি তৈরি করুন ৷ আপনি রপ্তানি এবং আমদানি ক্রিয়াকলাপের জন্য একটি Requester Pays বালতি ব্যবহার করতে পারবেন না।
নিশ্চিত করুন যে আপনার অ্যাকাউন্টে Cloud Firestore এবং Cloud Storage জন্য প্রয়োজনীয় অনুমতি রয়েছে৷ আপনি যদি প্রকল্পের মালিক হন তবে আপনার অ্যাকাউন্টে প্রয়োজনীয় অনুমতি রয়েছে৷ অন্যথায়, নিম্নলিখিত ভূমিকাগুলি রপ্তানি ও আমদানি ক্রিয়াকলাপ এবং Cloud Storage অ্যাক্সেসের জন্য প্রয়োজনীয় অনুমতি দেয়:
- Cloud Firestore ভূমিকা:
Owner
,Cloud Datastore Owner
বাCloud Datastore Import Export Admin
Cloud Storage ভূমিকা:
Owner
বাStorage Admin
- Cloud Firestore ভূমিকা:
পরিষেবা এজেন্ট অনুমতি
Cloud Storage অপারেশন অনুমোদনের জন্য রপ্তানি এবং আমদানি ক্রিয়াকলাপগুলি একটি Cloud Firestore পরিষেবা এজেন্ট ব্যবহার করে৷ Cloud Firestore পরিষেবা এজেন্ট নিম্নলিখিত নামকরণ পদ্ধতি ব্যবহার করে:
- Cloud Firestore সার্ভিস এজেন্ট
-
service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com
পরিষেবা এজেন্ট সম্পর্কে আরও জানতে, পরিষেবা এজেন্ট দেখুন।
Cloud 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 পরিষেবা অ্যাকাউন্ট ব্যবহার করে কিনা তাও আপনি দেখতে পারেন৷
- লেবেল হিসাবে চালিত আমদানি/রপ্তানি কাজের পাশে অনুমোদন অ্যাকাউন্টটি দেখুন।
Cloud Storage বালতি এক্সপোর্ট বা ইম্পোর্ট অপারেশনের জন্য ব্যবহার করার জন্য পরিষেবা এজেন্টের Storage Admin
ভূমিকা প্রয়োজন।
আপনার প্রকল্পের জন্য gcloud
সেট আপ করুন
আপনি Google ক্লাউড কনসোল বা gcloud
কমান্ড-লাইন টুলের মাধ্যমে আমদানি ও রপ্তানি কার্যক্রম শুরু করতে পারেন। gcloud
ব্যবহার করতে, কমান্ড-লাইন টুল সেট আপ করুন এবং নিম্নলিখিত উপায়ে আপনার প্রকল্পের সাথে সংযোগ করুন:
Cloud Shell ব্যবহার করে Google ক্লাউড প্ল্যাটফর্ম কনসোল থেকে
gcloud
অ্যাক্সেস করুন।নিশ্চিত করুন
gcloud
সঠিক প্রকল্পের জন্য কনফিগার করা হয়েছে:gcloud config set project [PROJECT_ID]
ডেটা রপ্তানি করুন
একটি এক্সপোর্ট অপারেশন আপনার ডাটাবেসের নথিগুলিকে একটি Cloud Storage বাকেটের ফাইলগুলির একটি সেটে অনুলিপি করে৷ মনে রাখবেন যে রপ্তানি রপ্তানি শুরুর সময়ে নেওয়া একটি সঠিক ডাটাবেস স্ন্যাপশট নয়। অপারেশন চলাকালীন একটি রপ্তানি করা পরিবর্তনগুলি অন্তর্ভুক্ত করতে পারে৷
সমস্ত নথি রপ্তানি করুন
গুগল ক্লাউড কনসোল
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।
রপ্তানি ক্লিক করুন.
সম্পূর্ণ ডাটাবেস রপ্তানি বিকল্পটি ক্লিক করুন।
নীচে গন্তব্য চয়ন করুন , একটি Cloud Storage বাকেটের নাম লিখুন বা একটি বালতি নির্বাচন করতে ব্রাউজ বোতামটি ব্যবহার করুন৷
রপ্তানি ক্লিক করুন.
কনসোলটি আমদানি/রপ্তানি পৃষ্ঠায় ফিরে আসে। অপারেশন সফলভাবে শুরু হলে, পৃষ্ঠাটি সাম্প্রতিক আমদানি ও রপ্তানি পৃষ্ঠায় একটি এন্ট্রি যোগ করে। ব্যর্থ হলে, পৃষ্ঠাটি একটি ত্রুটি বার্তা প্রদর্শন করে।
জিক্লাউড
আপনার 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)'
ব্যবহার করুন।
একবার আপনি একটি রপ্তানি অপারেশন শুরু করলে, টার্মিনাল বন্ধ করলে অপারেশনটি বাতিল হয় না, একটি অপারেশন বাতিল করুন দেখুন।
নির্দিষ্ট সংগ্রহ রপ্তানি করুন
গুগল ক্লাউড কনসোল
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, আমদানি/রপ্তানি ক্লিক করুন।
রপ্তানি ক্লিক করুন.
এক বা একাধিক সংগ্রহ গোষ্ঠী রপ্তানি করুন বিকল্পে ক্লিক করুন। এক বা একাধিক সংগ্রহ গোষ্ঠী নির্বাচন করতে ড্রপডাউন মেনু ব্যবহার করুন।
নীচে গন্তব্য চয়ন করুন , একটি Cloud Storage বাকেটের নাম লিখুন বা একটি বালতি নির্বাচন করতে ব্রাউজ বোতামটি ব্যবহার করুন৷
রপ্তানি ক্লিক করুন.
কনসোলটি আমদানি/রপ্তানি পৃষ্ঠায় ফিরে আসে। অপারেশন সফলভাবে শুরু হলে, পৃষ্ঠাটি সাম্প্রতিক আমদানি ও রপ্তানি পৃষ্ঠায় একটি এন্ট্রি যোগ করে। ব্যর্থ হলে, পৃষ্ঠাটি একটি ত্রুটি বার্তা প্রদর্শন করে।
জিক্লাউড
নির্দিষ্ট সংগ্রহ গোষ্ঠী রপ্তানি করতে, --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
সময়ের চেয়ে আগে নয়। নির্দিষ্ট টাইমস্ট্যাম্পে যদি ডেটা আর বিদ্যমান না থাকে তবে রফতানি অপারেশন ব্যর্থ হয়।
পিআইটিআর রফতানি অপারেশন সমস্ত নথি রফতানি এবং নির্দিষ্ট সংগ্রহ রফতানি সহ সমস্ত ফিল্টারকে সমর্থন করে।
কাঙ্ক্ষিত পুনরুদ্ধার টাইমস্ট্যাম্পে
snapshot-time
প্যারামিটার নির্দিষ্ট করে ডাটাবেসটি রফতানি করুন।জিক্লাউড
আপনার বালতিতে ডাটাবেস রফতানি করতে নিম্নলিখিত কমান্ডটি চালান।
gcloud firestore export gs://[BUCKET_NAME_PATH] \ --snapshot-time=[PITR_TIMESTAMP] \ --collection-ids=[COLLECTION_IDS] \ --namespace-ids=[NAMESPACE_IDS]
কোথায়,
-
PITR_TIMESTAMP
মিনিট গ্রানুলারিটিতে একটি PETR টাইমস্ট্যাম্প, উদাহরণস্বরূপ,2023-05-26T10:20:00.00Z
।
পিআইটিআর ডেটা রফতানির আগে নিম্নলিখিত বিষয়গুলি নোট করুন:
- আরএফসি 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
ফাইলের নাম একই রাখুন।
একটি রফতানি থেকে সমস্ত নথি আমদানি করুন
গুগল ক্লাউড কনসোল
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, আমদানি/রফতানি ক্লিক করুন।
আমদানিতে ক্লিক করুন।
ফাইলের নাম ক্ষেত্রে, একটি সম্পূর্ণ রফতানি অপারেশন থেকে একটি
.overall_export_metadata
ফাইলের ফাইলের নাম লিখুন। আপনি ফাইলটি নির্বাচন করতে সহায়তা করতে ব্রাউজ বোতামটি ব্যবহার করতে পারেন।আমদানিতে ক্লিক করুন।
কনসোলটি আমদানি/রফতানি পৃষ্ঠায় ফিরে আসে। যদি অপারেশনটি সফলভাবে শুরু হয়, পৃষ্ঠাটি সাম্প্রতিক আমদানি এবং রফতানি পৃষ্ঠায় একটি এন্ট্রি যুক্ত করে। ব্যর্থ হলে, পৃষ্ঠাটি একটি ত্রুটি বার্তা প্রদর্শন করে।
জিক্লাউড
পূর্ববর্তী রফতানি অপারেশন থেকে নথি আমদানি করতে 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
কোনও অপারেশন নাম নির্দিষ্ট করে আপনি উপসর্গটি ছেড়ে দিতে পারেন।
সমস্ত রফতানি এবং আমদানি অপারেশন তালিকাভুক্ত করুন
গুগল ক্লাউড কনসোল
আপনি গুগল ক্লাউড কনসোলের আমদানি/রফতানি পৃষ্ঠায় সাম্প্রতিক রফতানি এবং আমদানি অপারেশনের একটি তালিকা দেখতে পারেন।
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, আমদানি/রফতানি ক্লিক করুন।
জিক্লাউড
সমস্ত চলমান এবং সম্প্রতি সম্পন্ন রফতানি এবং আমদানি অপারেশনগুলি দেখতে operations list
কমান্ডটি ব্যবহার করুন:
gcloud firestore operations list
অপারেশন স্থিতি পরীক্ষা করুন
গুগল ক্লাউড কনসোল
আপনি গুগল ক্লাউড কনসোলের আমদানি/রফতানি পৃষ্ঠায় সাম্প্রতিক রফতানি বা আমদানি অপারেশনের স্থিতি দেখতে পারেন।
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, আমদানি/রফতানি ক্লিক করুন।
জিক্লাউড
রফতানি বা আমদানি অপারেশনের স্থিতি দেখানোর জন্য operations describe
কমান্ডটি ব্যবহার করুন।
gcloud firestore operations describe [OPERATION_NAME]
সমাপ্তির সময় অনুমান করুন
দীর্ঘকাল ধরে চলমান অপারেশনের স্থিতির জন্য একটি অনুরোধ মেট্রিকগুলি workEstimated
এবং workCompleted
ফিরিয়ে দেয়। এই মেট্রিকগুলির প্রতিটি উভয়ই বাইট এবং সত্তার সংখ্যায় ফিরে আসে:
workEstimated
বাইটের আনুমানিক মোট সংখ্যা এবং একটি অপারেশন প্রক্রিয়া করবে এমন নথিগুলি দেখায়। Cloud Firestore এই মেট্রিকটি বাদ দিতে পারে যদি এটি কোনও অনুমান করতে না পারে।workCompleted
এখনও অবধি প্রক্রিয়াজাত বাইট এবং নথিগুলির সংখ্যা দেখায়। অপারেশনটি শেষ হওয়ার পরে, মানটি আসলে প্রক্রিয়াজাত করা বাইট এবং নথিগুলির মোট সংখ্যা দেখায় যাworkEstimated
মানের চেয়ে বড় হতে পারে।
মোটামুটি অগ্রগতি অনুমানের জন্য workEstimated
দ্বারা workCompleted
বিভক্ত করুন। এই অনুমানটি ভুল হতে পারে, কারণ এটি বিলম্বিত পরিসংখ্যান সংগ্রহের উপর নির্ভর করে।
একটি অপারেশন বাতিল করুন
গুগল ক্লাউড কনসোল
আপনি গুগল ক্লাউড কনসোলের আমদানি/রফতানি পৃষ্ঠায় একটি চলমান রফতানি বা আমদানি অপারেশন বাতিল করতে পারেন।
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, আমদানি/রফতানি ক্লিক করুন।
সাম্প্রতিক আমদানি ও রফতানি সারণীতে বর্তমানে চলমান অপারেশনগুলিতে সম্পূর্ণ কলামে একটি বাতিল বোতাম অন্তর্ভুক্ত রয়েছে। অপারেশন বন্ধ করতে বাতিল বোতামটি ক্লিক করুন। বোতামটি বাতিল হওয়া বার্তায় পরিবর্তিত হয় এবং তারপরে অপারেশন সম্পূর্ণরূপে বন্ধ হয়ে গেলে বাতিল হয়ে যায় ।
জিক্লাউড
অগ্রগতিতে কোনও অপারেশন বন্ধ করতে operations cancel
কমান্ডটি ব্যবহার করুন:
gcloud firestore operations cancel [OPERATION_NAME]
চলমান অপারেশন বাতিল করা অপারেশনটিকে পূর্বাবস্থায় ফিরিয়ে দেয় না। একটি বাতিল রফতানি অপারেশন ইতিমধ্যে Cloud Storage রফতানি করা নথিগুলি ছেড়ে দেবে এবং বাতিল হওয়া আমদানি অপারেশনটি আপনার ডাটাবেসে ইতিমধ্যে করা আপডেটগুলি ছেড়ে দেবে। আপনি আংশিকভাবে সম্পূর্ণ রফতানি আমদানি করতে পারবেন না।
একটি অপারেশন মুছুন
সাম্প্রতিক ক্রিয়াকলাপগুলির তালিকা থেকে কোনও অপারেশন অপসারণ করতে gcloud firestore operations delete
কমান্ডটি ব্যবহার করুন। এই কমান্ডটি Cloud Storage থেকে রফতানি ফাইলগুলি মুছবে না।
gcloud firestore operations delete [OPERATION_NAME]
রফতানি ও আমদানি অপারেশনগুলির জন্য বিলিং এবং মূল্য নির্ধারণ
আপনি পরিচালিত রফতানি এবং আমদানি পরিষেবা ব্যবহারের আগে আপনাকে আপনার Google Cloud প্রকল্পের জন্য বিলিং সক্ষম করতে হবে।
রফতানি ও আমদানি অপারেশনগুলি ডকুমেন্ট রিডের জন্য চার্জ করা হয় এবং Cloud Firestore মূল্য নির্ধারণে তালিকাভুক্ত হারে লেখেন। রফতানি অপারেশনগুলিতে রফতানি করা ডকুমেন্ট প্রতি এক পঠন অপারেশন বহন করে। আমদানি অপারেশনগুলিতে আমদানি করা ডকুমেন্ট অনুযায়ী একটি লেখার অপারেশন বহন করে।
Cloud Storage সঞ্চিত আউটপুট ফাইলগুলি আপনার Cloud Storage ডেটা স্টোরেজ ব্যয়ের দিকে গণনা করে।
রফতানি ও আমদানি অপারেশনগুলির ব্যয়গুলি আপনার ব্যয়ের সীমাতে গণনা করে না। রফতানি বা আমদানি অপারেশনগুলি আপনার Google Cloud বাজেটের সতর্কতাগুলি সমাপ্তির পরে ট্রিগার করবে না। একইভাবে, অপারেশন সম্পূর্ণ হওয়ার পরে আপনার প্রতিদিনের কোটায় রফতানি বা আমদানি অপারেশনের সময় সম্পাদিত পড়া এবং লেখার জন্য লিখিত হয়। রফতানি ও আমদানি অপারেশনগুলি কনসোলের ব্যবহার বিভাগে প্রদর্শিত ব্যবহারকে প্রভাবিত করবে না।
রফতানি এবং আমদানি ব্যয় দেখুন
রফতানি ও আমদানি অপারেশনগুলি goog-firestoremanaged:exportimport
লেবেল প্রয়োগ করে। ক্লাউড বিলিং রিপোর্টস পৃষ্ঠায় , আপনি এই লেবেলটি আমদানি ও রফতানি অপারেশন সম্পর্কিত ব্যয়গুলি দেখতে ব্যবহার করতে পারেন:
বিগকোয়ারিতে রফতানি করুন
আপনি Cloud 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 লোড করতে পারবেন না।
রফতানি ফর্ম্যাট এবং মেটাডেটা ফাইল
পরিচালিত রফতানির আউটপুট লেভেলডিবি লগ ফর্ম্যাট ব্যবহার করে।
মেটাডেটা ফাইল
একটি রফতানি অপারেশন আপনার নির্দিষ্ট করা প্রতিটি সংগ্রহ গোষ্ঠীর জন্য একটি মেটাডেটা ফাইল তৈরি করে। মেটাডেটা ফাইলগুলির নাম সাধারণত ALL_NAMESPACES_KIND_[COLLECTION_GROUP_ID].export_metadata
।
মেটাডেটা ফাইলগুলি প্রোটোকল বাফার এবং আপনি এগুলি protoc
প্রোটোকল সংকলক দিয়ে ডিকোড করতে পারেন। উদাহরণস্বরূপ, রফতানি ফাইলগুলিতে থাকা সংগ্রহ গোষ্ঠীগুলি নির্ধারণ করতে আপনি একটি মেটাডেটা ফাইল ডিকোড করতে পারেন:
protoc --decode_raw < export0.export_metadata
পরিষেবা এজেন্ট মাইগ্রেশন
Cloud Firestore App Engine পরিষেবা অ্যাকাউন্ট ব্যবহারের পরিবর্তে আমদানি ও রফতানি ক্রিয়াকলাপ অনুমোদনের জন্য Cloud Firestore পরিষেবা এজেন্ট ব্যবহার করে। পরিষেবা এজেন্ট এবং পরিষেবা অ্যাকাউন্ট নিম্নলিখিত নামকরণ কনভেনশনগুলি ব্যবহার করে:
- Cloud Firestore পরিষেবা এজেন্ট
-
service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com
Cloud Firestore পূর্বে Cloud Firestore পরিষেবা এজেন্টের পরিবর্তে App Engine ডিফল্ট পরিষেবা অ্যাকাউন্ট ব্যবহার করেছিল। যদি আপনার ডাটাবেসটি এখনও ডেটা আমদানি বা রফতানি করতে App Engine পরিষেবা অ্যাকাউন্ট ব্যবহার করে তবে আমরা আপনাকে সুপারিশ করি যে আপনি Cloud Firestore পরিষেবা এজেন্ট ব্যবহার করে স্থানান্তরিত করার জন্য এই বিভাগের নির্দেশাবলী অনুসরণ করুন।
- App Engine পরিষেবা অ্যাকাউন্ট
-
PROJECT_ID @appspot.gserviceaccount.com
Cloud Firestore পরিষেবা এজেন্ট পছন্দনীয় কারণ এটি Cloud Firestore জন্য নির্দিষ্ট। App Engine পরিষেবা অ্যাকাউন্ট একাধিক পরিষেবা দ্বারা ভাগ করা হয়।
অনুমোদনের অ্যাকাউন্ট দেখুন
গুগল ক্লাউড কনসোলে আমদানি/রফতানি পৃষ্ঠা থেকে অনুরোধগুলি অনুমোদনের জন্য আপনার আমদানি ও রফতানি অপারেশনগুলি কোন অ্যাকাউন্টটি ব্যবহার করে তা আপনি দেখতে পারেন। আপনার ডাটাবেসটি ইতিমধ্যে Cloud Firestore পরিষেবা এজেন্ট ব্যবহার করে কিনা তাও আপনি দেখতে পারেন।
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
- ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, আমদানি/রফতানি ক্লিক করুন।
- লেবেল হিসাবে চালিত আমদানি/রফতানি কাজের পাশের অনুমোদনের অ্যাকাউন্টটি দেখুন।
যদি আপনার প্রকল্পটি Cloud Firestore পরিষেবা এজেন্ট ব্যবহার না করে তবে আপনি এই কৌশলগুলির যে কোনও একটি ব্যবহার করে Cloud Firestore পরিষেবা এজেন্টে স্থানান্তর করতে পারেন:
- Cloud Storage বালতি অনুমতিগুলি পরীক্ষা করে এবং আপডেট করে একটি প্রকল্প স্থানান্তর করুন (প্রস্তাবিত) ।
- সংস্থার মধ্যে থাকা সমস্ত প্রকল্পকে প্রভাবিত করে এমন একটি সংস্থা-বিস্তৃত নীতিগত সীমাবদ্ধতা যুক্ত করুন ।
এই কৌশলগুলির মধ্যে প্রথমটি পছন্দনীয় কারণ এটি একক Cloud Firestore প্রকল্পে প্রভাবের সুযোগকে স্থানীয় করে তোলে। দ্বিতীয় কৌশলটি পছন্দ করা হয় না কারণ এটি বিদ্যমান Cloud Storage বালতি অনুমতিগুলি স্থানান্তর করে না। এটি তবে সংস্থা পর্যায়ে সুরক্ষা সম্মতি দেয়।
Cloud Storage বালতি অনুমতি পরীক্ষা করে আপডেট করে মাইগ্রেট করুন
মাইগ্রেশন প্রক্রিয়াটির দুটি পদক্ষেপ রয়েছে:
- Cloud Storage বালতি অনুমতি আপডেট করুন। বিস্তারিত জানার জন্য নিম্নলিখিত বিভাগ দেখুন.
- Cloud Firestore পরিষেবা এজেন্টে স্থানান্তর নিশ্চিত করুন।
পরিষেবা এজেন্ট বালতি অনুমতি
অন্য কোনও প্রকল্পে Cloud Storage বালতি ব্যবহার করে এমন কোনও রফতানি বা আমদানি অপারেশনগুলির জন্য আপনাকে অবশ্যই সেই বালতিটির জন্য Cloud Firestore পরিষেবা এজেন্টের অনুমতি প্রদান করতে হবে। উদাহরণস্বরূপ, অপারেশনগুলি যা অন্য প্রকল্পে ডেটা স্থানান্তরিত করে তাদের অন্যান্য প্রকল্পে একটি বালতি অ্যাক্সেস করতে হবে। অন্যথায়, Cloud Firestore পরিষেবা এজেন্টে স্থানান্তরিত হওয়ার পরে এই ক্রিয়াকলাপগুলি ব্যর্থ হয়।
একই প্রকল্পের মধ্যে থাকা আমদানি ও রফতানি কর্মপ্রবাহের অনুমতিগুলির পরিবর্তনের প্রয়োজন হয় না। Cloud Firestore পরিষেবা এজেন্ট ডিফল্টরূপে একই প্রকল্পে বালতিগুলিতে অ্যাক্সেস করতে পারে।
পরিষেবাগুলিতে অ্যাক্সেস দেওয়ার জন্য অন্যান্য প্রকল্পগুলি থেকে Cloud Storage বালতিগুলির জন্য অনুমতিগুলি আপডেট করুন- service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com
সার্ভিস এজেন্ট। পরিষেবা এজেন্টকে Firestore Service Agent
ভূমিকা দিন।
Firestore Service Agent
ভূমিকা Cloud Storage বালতির জন্য অনুমতিগুলি পড়তে এবং লেখার অনুমতি দেয়। আপনার যদি কেবল পড়তে বা কেবল অনুমতি লেখার প্রয়োজন হয় তবে একটি কাস্টম ভূমিকা ব্যবহার করুন।
নিম্নলিখিত বিভাগে বর্ণিত মাইগ্রেশন প্রক্রিয়া আপনাকে Cloud Storage বালতিগুলি সনাক্ত করতে সহায়তা করে যাতে অনুমতি আপডেটের প্রয়োজন হতে পারে।
ফায়ারস্টোর পরিষেবা এজেন্টে একটি প্রকল্প স্থানান্তর করুন
App Engine পরিষেবা অ্যাকাউন্ট থেকে Cloud Firestore পরিষেবা এজেন্টে স্থানান্তরিত করার জন্য নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন। একবার শেষ হয়ে গেলে মাইগ্রেশন পূর্বাবস্থায় ফিরে পাওয়া যায় না।
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
- ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, আমদানি/রফতানি ক্লিক করুন।
যদি আপনার প্রকল্পটি এখনও Cloud Firestore সার্ভিস এজেন্টে স্থানান্তরিত না করে থাকে তবে আপনি মাইগ্রেশন এবং একটি চেক বালতি স্থিতি বোতামের বর্ণনা দিয়ে একটি ব্যানার দেখতে পান। পরবর্তী পদক্ষেপটি আপনাকে সম্ভাব্য অনুমতি ত্রুটিগুলি সনাক্ত করতে এবং ঠিক করতে সহায়তা করে।
বালতি স্থিতি চেক করুন ক্লিক করুন।
আপনার মাইগ্রেশন এবং Cloud Storage বালতিগুলির একটি তালিকা সম্পূর্ণ করার বিকল্পের সাথে একটি মেনু উপস্থিত হয়। তালিকাটি লোডিং শেষ হতে কয়েক মিনিট সময় নিতে পারে।
এই তালিকায় বালতি অন্তর্ভুক্ত রয়েছে যা সম্প্রতি আমদানি ও রফতানি অপারেশনগুলিতে ব্যবহৃত হয়েছিল, তবে বর্তমানে Cloud Firestore পরিষেবা এজেন্টকে পঠন এবং লেখার অনুমতি দেয় না।
- আপনার প্রকল্পের Cloud Firestore পরিষেবা এজেন্টের মূল নামটি নোট করুন। সার্ভিস এজেন্টের নামটি লেবেলে অ্যাক্সেস দেওয়ার জন্য পরিষেবা এজেন্টের অধীনে উপস্থিত হয়।
আপনি ভবিষ্যতের আমদানি বা রফতানি অপারেশনের জন্য যে তালিকার যে কোনও বালতি ব্যবহার করবেন তার জন্য, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:
এই বালতি টেবিল সারিটিতে, ফিক্স ক্লিক করুন। এটি একটি নতুন ট্যাবে সেই বালতিটির অনুমতি পৃষ্ঠাটি খোলে।
- যোগ করুন ক্লিক করুন.
- নতুন অধ্যক্ষ ক্ষেত্রে, আপনার Cloud Firestore পরিষেবা এজেন্টের নাম লিখুন।
- একটি ভূমিকা ক্ষেত্র নির্বাচন করুন , পরিষেবা এজেন্ট> ফায়ারস্টোর পরিষেবা এজেন্ট নির্বাচন করুন।
- Save এ ক্লিক করুন।
- Cloud Firestore আমদানি/রফতানি পৃষ্ঠা সহ ট্যাবে ফিরে আসুন।
- তালিকার অন্যান্য বালতিগুলির জন্য এই পদক্ষেপগুলি পুনরাবৃত্তি করুন। তালিকার সমস্ত পৃষ্ঠাগুলি দেখার বিষয়টি নিশ্চিত করুন।
ফায়ারস্টোর পরিষেবা এজেন্টে মাইগ্রেট ক্লিক করুন। আপনার যদি এখনও ব্যর্থ অনুমতি চেক সহ বালতি থাকে তবে আপনাকে মাইগ্রেট ক্লিক করে আপনার মাইগ্রেশনটি নিশ্চিত করতে হবে।
একটি সতর্কতা আপনাকে অবহিত করে যখন আপনার মাইগ্রেশন শেষ হয়। মাইগ্রেশন পূর্বাবস্থায় ফিরে যেতে পারে না।
মাইগ্রেশন স্থিতি দেখুন
আপনার প্রকল্পের স্থানান্তর স্থিতি যাচাই করতে:
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
- ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, আমদানি/রফতানি ক্লিক করুন।
লেবেল হিসাবে চালিত আমদানি/রফতানি কাজের পাশের অধ্যক্ষের সন্ধান করুন।
প্রিন্সিপাল যদি
service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com
, তবে আপনার প্রকল্পটি ইতিমধ্যে Cloud Firestore সার্ভিস এজেন্টে স্থানান্তরিত হয়েছে। মাইগ্রেশন পূর্বাবস্থায় ফিরে যেতে পারে না।যদি প্রকল্পটি স্থানান্তরিত না করা হয়, তবে একটি ব্যানার একটি চেক বালতি স্থিতি বোতাম সহ পৃষ্ঠার শীর্ষে উপস্থিত হয়। মাইগ্রেশনটি সম্পূর্ণ করতে ফায়ারস্টোর পরিষেবা এজেন্টে মাইগ্রেট দেখুন।
একটি সংস্থা-বিস্তৃত নীতি সীমাবদ্ধতা যুক্ত করুন
আপনার সংস্থার নীতিতে নিম্নলিখিত সীমাবদ্ধতা সেট করুন:
আমদানি/রফতানির জন্য ফায়ারস্টোর সার্ভিস এজেন্টের প্রয়োজন (
firestore.requireP4SAforImportExport
4 স্যাফোরিমপোর্ট এক্সপোর্ট)।এই সীমাবদ্ধতার জন্য অনুরোধগুলি অনুমোদনের জন্য 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 এপিআই ( বিশ্রাম , আরপিসি ) এর মাধ্যমে উপলব্ধ।
আপনি শুরু করার আগে
আপনি পরিচালিত রফতানি এবং আমদানি পরিষেবা ব্যবহার করার আগে, আপনাকে অবশ্যই নিম্নলিখিত কাজগুলি সম্পূর্ণ করতে হবে:
- আপনার Google Cloud প্রকল্পের জন্য বিলিং সক্ষম করুন। বিলিং সক্ষম সহ কেবল Google Cloud প্রকল্পগুলি রফতানি এবং আমদানি কার্যকারিতা ব্যবহার করতে পারে।
- আপনার Cloud Firestore ডাটাবেস অবস্থানের কাছে কোনও স্থানে আপনার প্রকল্পের জন্য Cloud Storage বালতি তৈরি করুন । আপনি রফতানি এবং আমদানি অপারেশনের জন্য কোনও রিকোয়েস্টার পে বালতি ব্যবহার করতে পারবেন না।
আপনার অ্যাকাউন্টে Cloud Firestore এবং Cloud Storage জন্য প্রয়োজনীয় অনুমতি রয়েছে তা নিশ্চিত করুন। আপনি যদি প্রকল্পের মালিক হন তবে আপনার অ্যাকাউন্টে প্রয়োজনীয় অনুমতি রয়েছে। অন্যথায়, নিম্নলিখিত ভূমিকাগুলি রফতানি এবং আমদানি অপারেশনগুলির জন্য এবং Cloud Storage অ্যাক্সেসের জন্য প্রয়োজনীয় অনুমতি দেয়:
- Cloud Firestore ভূমিকা:
Owner
,Cloud Datastore Owner
, বাCloud Datastore Import Export Admin
Cloud Storage ভূমিকা:
Owner
বাStorage Admin
- Cloud Firestore ভূমিকা:
পরিষেবা এজেন্ট অনুমতি
রফতানি এবং আমদানি অপারেশনগুলি Cloud Storage অপারেশনগুলিকে অনুমোদনের জন্য একটি Cloud Firestore পরিষেবা এজেন্ট ব্যবহার করে। Cloud Firestore পরিষেবা এজেন্ট নিম্নলিখিত নামকরণ কনভেনশন ব্যবহার করে:
- Cloud Firestore পরিষেবা এজেন্ট
-
service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com
পরিষেবা এজেন্ট সম্পর্কে আরও জানতে, পরিষেবা এজেন্টদের দেখুন।
Cloud 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 পরিষেবা এজেন্টের নামকরণ করতে ব্যবহৃত হয়। পরিষেবা এজেন্টের নাম দেখতে, পরিষেবা এজেন্টের নাম দেখুন ।
বিকল্পভাবে, আপনি গুগল ক্লাউড কনসোল ব্যবহার করে এই ভূমিকাটি নির্ধারণ করতে পারেন।
পরিষেবা এজেন্টের নাম দেখুন
গুগল ক্লাউড কনসোলে আমদানি/রফতানি পৃষ্ঠা থেকে অনুরোধগুলি অনুমোদনের জন্য আপনার আমদানি ও রফতানি অপারেশনগুলি যে অ্যাকাউন্টটি ব্যবহার করে তা আপনি দেখতে পারেন। আপনার ডাটাবেস Cloud Firestore পরিষেবা এজেন্ট বা লিগ্যাসি App Engine পরিষেবা অ্যাকাউন্ট ব্যবহার করে কিনা তাও আপনি দেখতে পারেন।
- লেবেল হিসাবে চালিত আমদানি/রফতানি কাজের পাশের অনুমোদনের অ্যাকাউন্টটি দেখুন।
রফতানি বা আমদানি অপারেশনের জন্য Cloud Storage বালতি ব্যবহার করার জন্য পরিষেবা এজেন্টের Storage Admin
ভূমিকা প্রয়োজন।
আপনার প্রকল্পের জন্য gcloud
সেট আপ করুন
আপনি গুগল ক্লাউড কনসোল বা gcloud
কমান্ড-লাইন সরঞ্জামের মাধ্যমে আমদানি ও রফতানি পরিচালনা শুরু করতে পারেন। gcloud
ব্যবহার করতে, কমান্ড-লাইন সরঞ্জামটি সেট আপ করুন এবং নিম্নলিখিত একটি উপায়ে আপনার প্রকল্পে সংযুক্ত করুন:
Cloud Shell ব্যবহার করে গুগল ক্লাউড প্ল্যাটফর্ম কনসোল থেকে
gcloud
অ্যাক্সেস করুন।নিশ্চিত করুন যে সঠিক প্রকল্পের জন্য
gcloud
কনফিগার করা আছে:gcloud config set project [PROJECT_ID]
ডেটা রপ্তানি করুন
একটি রফতানি অপারেশন Cloud Storage বালতিতে ফাইলগুলির সেটগুলিতে আপনার ডাটাবেসে নথিগুলি অনুলিপি করে। নোট করুন যে রফতানি রফতানি শুরুর সময় নেওয়া সঠিক ডাটাবেস স্ন্যাপশট নয়। অপারেশন চলাকালীন একটি রফতানিতে পরিবর্তনগুলি অন্তর্ভুক্ত থাকতে পারে।
সমস্ত নথি রফতানি
গুগল ক্লাউড কনসোল
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, আমদানি/রফতানি ক্লিক করুন।
রপ্তানি ক্লিক করুন.
রফতানি সম্পূর্ণ ডাটাবেস বিকল্পটি ক্লিক করুন।
নীচে গন্তব্য চয়ন করুন , Cloud Storage বালতিটির নাম লিখুন বা বালতি নির্বাচন করতে ব্রাউজ বোতামটি ব্যবহার করুন।
রপ্তানি ক্লিক করুন.
কনসোলটি আমদানি/রফতানি পৃষ্ঠায় ফিরে আসে। যদি অপারেশনটি সফলভাবে শুরু হয়, পৃষ্ঠাটি সাম্প্রতিক আমদানি এবং রফতানি পৃষ্ঠায় একটি এন্ট্রি যুক্ত করে। ব্যর্থ হলে, পৃষ্ঠাটি একটি ত্রুটি বার্তা প্রদর্শন করে।
জিক্লাউড
আপনার 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)'
ব্যবহার করুন।
একবার আপনি কোনও রফতানি অপারেশন শুরু করার পরে, টার্মিনালটি বন্ধ করা অপারেশন বাতিল করে না, কোনও অপারেশন বাতিল করুন ।
নির্দিষ্ট সংগ্রহ রফতানি করুন
গুগল ক্লাউড কনসোল
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, আমদানি/রফতানি ক্লিক করুন।
রপ্তানি ক্লিক করুন.
রফতানি এক বা একাধিক সংগ্রহ গ্রুপ বিকল্প ক্লিক করুন। এক বা একাধিক সংগ্রহ গোষ্ঠী নির্বাচন করতে ড্রপডাউন মেনু ব্যবহার করুন।
নীচে গন্তব্য চয়ন করুন , Cloud Storage বালতিটির নাম লিখুন বা বালতি নির্বাচন করতে ব্রাউজ বোতামটি ব্যবহার করুন।
রপ্তানি ক্লিক করুন.
কনসোলটি আমদানি/রফতানি পৃষ্ঠায় ফিরে আসে। যদি অপারেশনটি সফলভাবে শুরু হয়, পৃষ্ঠাটি সাম্প্রতিক আমদানি এবং রফতানি পৃষ্ঠায় একটি এন্ট্রি যুক্ত করে। ব্যর্থ হলে, পৃষ্ঠাটি একটি ত্রুটি বার্তা প্রদর্শন করে।
জিক্লাউড
নির্দিষ্ট সংগ্রহ গোষ্ঠীগুলি রফতানি করতে, --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
কমান্ড ব্যবহার করে পিআইটিআর ডেটা থেকে Cloud Storage আপনার ডাটাবেস রফতানি করতে পারেন। আপনি পিআইটিআর ডেটা রফতানি করতে পারেন যেখানে টাইমস্ট্যাম্পটি গত সাত দিনের মধ্যে পুরো মিনিটের টাইমস্ট্যাম্প, তবে earliestVersionTime
সময়ের চেয়ে আগে নয়। নির্দিষ্ট টাইমস্ট্যাম্পে যদি ডেটা আর বিদ্যমান না থাকে তবে রফতানি অপারেশন ব্যর্থ হয়।
পিআইটিআর রফতানি অপারেশন সমস্ত নথি রফতানি এবং নির্দিষ্ট সংগ্রহ রফতানি সহ সমস্ত ফিল্টারকে সমর্থন করে।
কাঙ্ক্ষিত পুনরুদ্ধার টাইমস্ট্যাম্পে
snapshot-time
প্যারামিটার নির্দিষ্ট করে ডাটাবেসটি রফতানি করুন।জিক্লাউড
আপনার বালতিতে ডাটাবেস রফতানি করতে নিম্নলিখিত কমান্ডটি চালান।
gcloud firestore export gs://[BUCKET_NAME_PATH] \ --snapshot-time=[PITR_TIMESTAMP] \ --collection-ids=[COLLECTION_IDS] \ --namespace-ids=[NAMESPACE_IDS]
কোথায়,
-
PITR_TIMESTAMP
মিনিট গ্রানুলারিটিতে একটি PETR টাইমস্ট্যাম্প, উদাহরণস্বরূপ,2023-05-26T10:20:00.00Z
।
পিআইটিআর ডেটা রফতানির আগে নিম্নলিখিত বিষয়গুলি নোট করুন:
- আরএফসি 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
ফাইলের নাম একই রাখুন।
একটি রফতানি থেকে সমস্ত নথি আমদানি করুন
গুগল ক্লাউড কনসোল
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, আমদানি/রফতানি ক্লিক করুন।
আমদানিতে ক্লিক করুন।
ফাইলের নাম ক্ষেত্রে, একটি সম্পূর্ণ রফতানি অপারেশন থেকে একটি
.overall_export_metadata
ফাইলের ফাইলের নাম লিখুন। আপনি ফাইলটি নির্বাচন করতে সহায়তা করতে ব্রাউজ বোতামটি ব্যবহার করতে পারেন।আমদানিতে ক্লিক করুন।
কনসোলটি আমদানি/রফতানি পৃষ্ঠায় ফিরে আসে। যদি অপারেশনটি সফলভাবে শুরু হয়, পৃষ্ঠাটি সাম্প্রতিক আমদানি এবং রফতানি পৃষ্ঠায় একটি এন্ট্রি যুক্ত করে। ব্যর্থ হলে, পৃষ্ঠাটি একটি ত্রুটি বার্তা প্রদর্শন করে।
জিক্লাউড
পূর্ববর্তী রফতানি অপারেশন থেকে নথি আমদানি করতে 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
কোনও অপারেশন নাম নির্দিষ্ট করে আপনি উপসর্গটি ছেড়ে দিতে পারেন।
সমস্ত রফতানি এবং আমদানি অপারেশন তালিকাভুক্ত করুন
গুগল ক্লাউড কনসোল
আপনি গুগল ক্লাউড কনসোলের আমদানি/রফতানি পৃষ্ঠায় সাম্প্রতিক রফতানি এবং আমদানি অপারেশনের একটি তালিকা দেখতে পারেন।
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, আমদানি/রফতানি ক্লিক করুন।
জিক্লাউড
সমস্ত চলমান এবং সম্প্রতি সম্পন্ন রফতানি এবং আমদানি অপারেশনগুলি দেখতে operations list
কমান্ডটি ব্যবহার করুন:
gcloud firestore operations list
অপারেশন স্থিতি পরীক্ষা করুন
গুগল ক্লাউড কনসোল
আপনি গুগল ক্লাউড কনসোলের আমদানি/রফতানি পৃষ্ঠায় সাম্প্রতিক রফতানি বা আমদানি অপারেশনের স্থিতি দেখতে পারেন।
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, আমদানি/রফতানি ক্লিক করুন।
জিক্লাউড
রফতানি বা আমদানি অপারেশনের স্থিতি দেখানোর জন্য operations describe
কমান্ডটি ব্যবহার করুন।
gcloud firestore operations describe [OPERATION_NAME]
সমাপ্তির সময় অনুমান করুন
দীর্ঘকাল ধরে চলমান অপারেশনের স্থিতির জন্য একটি অনুরোধ মেট্রিকগুলি workEstimated
এবং workCompleted
ফিরিয়ে দেয়। এই মেট্রিকগুলির প্রতিটি উভয়ই বাইট এবং সত্তার সংখ্যায় ফিরে আসে:
workEstimated
বাইটের আনুমানিক মোট সংখ্যা এবং একটি অপারেশন প্রক্রিয়া করবে এমন নথিগুলি দেখায়। Cloud Firestore এই মেট্রিকটি বাদ দিতে পারে যদি এটি কোনও অনুমান করতে না পারে।workCompleted
এখনও অবধি প্রক্রিয়াজাত বাইট এবং নথিগুলির সংখ্যা দেখায়। অপারেশনটি শেষ হওয়ার পরে, মানটি আসলে প্রক্রিয়াজাত করা বাইট এবং নথিগুলির মোট সংখ্যা দেখায় যাworkEstimated
মানের চেয়ে বড় হতে পারে।
মোটামুটি অগ্রগতি অনুমানের জন্য workEstimated
দ্বারা workCompleted
বিভক্ত করুন। এই অনুমানটি ভুল হতে পারে, কারণ এটি বিলম্বিত পরিসংখ্যান সংগ্রহের উপর নির্ভর করে।
একটি অপারেশন বাতিল করুন
গুগল ক্লাউড কনসোল
আপনি গুগল ক্লাউড কনসোলের আমদানি/রফতানি পৃষ্ঠায় একটি চলমান রফতানি বা আমদানি অপারেশন বাতিল করতে পারেন।
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, আমদানি/রফতানি ক্লিক করুন।
সাম্প্রতিক আমদানি ও রফতানি সারণীতে বর্তমানে চলমান অপারেশনগুলিতে সম্পূর্ণ কলামে একটি বাতিল বোতাম অন্তর্ভুক্ত রয়েছে। অপারেশন বন্ধ করতে বাতিল বোতামটি ক্লিক করুন। বোতামটি বাতিল হওয়া বার্তায় পরিবর্তিত হয় এবং তারপরে অপারেশন সম্পূর্ণরূপে বন্ধ হয়ে গেলে বাতিল হয়ে যায় ।
জিক্লাউড
অগ্রগতিতে কোনও অপারেশন বন্ধ করতে 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 বাজেটের সতর্কতাগুলি সমাপ্তির পরে ট্রিগার করবে না। একইভাবে, অপারেশন সম্পূর্ণ হওয়ার পরে আপনার প্রতিদিনের কোটায় রফতানি বা আমদানি অপারেশনের সময় সম্পাদিত পড়া এবং লেখার জন্য লিখিত হয়। রফতানি ও আমদানি অপারেশনগুলি কনসোলের ব্যবহার বিভাগে প্রদর্শিত ব্যবহারকে প্রভাবিত করবে না।
রফতানি এবং আমদানি ব্যয় দেখুন
Export and import operations apply the goog-firestoremanaged:exportimport
label to billed operations. In the Cloud Billing reports page , you can use this label to view costs related to import and export operations:
Export to BigQuery
You can load data from a Cloud Firestore export into BigQuery , but only if you specified a collection-ids
filter. See Loading data from Cloud Firestore exports .
BigQuery column limit
BigQuery imposes a limit of 10,000 columns per table. Cloud Firestore export operations generate a BigQuery table schema for each collection group. In this schema, each unique field name within a collection group becomes a schema column.
If a collection group's BigQuery schema surpasses 10,000 columns, the Cloud Firestore export operation attempts to stay under the column limit by treating map fields as bytes. 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
The output of a managed export uses the LevelDB log format .
মেটাডেটা ফাইল
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
Service agent migration
Cloud Firestore uses a Cloud Firestore service agent to authorize import and export operations instead of using the App Engine service account. The service agent and service account use the following naming conventions:
- 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 service account
-
PROJECT_ID @appspot.gserviceaccount.com
The Cloud Firestore service agent is preferable because it is specific to Cloud Firestore . The App Engine service account is shared by more than one service.
View authorization account
You can view which account your import and export operations use to authorize requests from the Import/Export page in the Google Cloud console. You can also view if your database already uses the Cloud Firestore service agent.
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
- ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
In the navigation menu, click Import/Export .
- View the authorization account next to the Import/Export jobs run as label.
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:
- Migrate a project by checking and updating Cloud Storage bucket permissions (recommended) .
- Add an organization-wide policy constraint that affects all projects within the organization.
The first of these techniques is preferable because it localizes the scope of effect to a single Cloud Firestore project. The second technique is not preferred because it doesn't migrate existing Cloud Storage bucket permissions. It does, however, offer security compliance at the organization level.
Migrate by checking and updating Cloud Storage bucket permissions
The migration process has two steps:
- Update Cloud Storage bucket permissions. বিস্তারিত জানার জন্য নিম্নলিখিত বিভাগ দেখুন.
- Confirm migration to the Cloud Firestore service agent.
Service agent bucket permissions
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. For example, operations that move data to another project need to access a bucket in that other project. Otherwise, these operations fail after migrating to the Cloud Firestore service agent.
Import and export workflows that stay within the same project do not require changes to permissions. The Cloud Firestore service agent can access buckets in the same project by default.
Update the permissions for Cloud Storage buckets from other projects to give access to the service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com
service agent. Grant the service agent the Firestore Service Agent
role.
The Firestore Service Agent
role grants read and write permissions for a Cloud Storage bucket. If you need to grant only read or only write permissions, use a custom role .
The migration process described in the following section helps you identify Cloud Storage buckets that might require permission updates.
Migrate a project to the Firestore Service Agent
Complete the following steps to migrate from the App Engine service account to the Cloud Firestore service agent. Once completed, the migration can't be undone.
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
- ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
In the navigation menu, click Import/Export .
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. The next step helps you identify and fix potential permission errors.
Click Check Bucket Status .
A menu appears with the option to complete your migration and a list of Cloud Storage buckets. It may take a few minutes for the list to finish loading.
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.
- Take note of the principal name of your project's Cloud Firestore service agent. The service agent name appears under the Service agent to give access to label.
For any bucket in the list that you will use for future import or export operations, complete the following steps:
In this bucket's table row, click Fix . This opens that bucket's permissions page in a new tab.
- যোগ করুন ক্লিক করুন.
- In the New principals field, enter the name of your Cloud Firestore service agent.
- In the Select a role field, select Service Agents > Firestore Service Agent .
- Save এ ক্লিক করুন।
- Return to the tab with the Cloud Firestore Import/Export page.
- Repeat these steps for other buckets in the list. Make sure to view all the pages of the list.
Click Migrate to Firestore Service Agent . If you still have buckets with failed permission checks, you need to confirm your migration by clicking Migrate .
An alert informs you when your migration completes. Migration can't be undone.
View migration status
To verify your project's migration status:
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
- ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
In the navigation menu, click Import/Export .
Look for the principal next to the Import/Export jobs run as label.
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. The migration can't be undone.If the project has not been migrated, a banner appears at the top of the page with a Check Bucket Status button. See Migrate to the Firestore service agent to complete the migration.
Add an organization-wide policy constraint
Set the following constraint in your organization's policy:
Require Firestore Service Agent for import/export (
firestore.requireP4SAforImportExport
).This constraint requires import and export operations to use the Cloud Firestore service agent to authorize requests. To set this constraint, see Creating and managing organization policies .
Applying this organizational policy constraint does not automatically grant the appropriate Cloud Storage bucket permissions for the Cloud Firestore service agent.
If the constraint creates permission errors for any import or export workflows, you can disable it to go back to using default service account. After you check and update Cloud Storage bucket permissions , you can enable the constraint again.
,You can use the Cloud Firestore managed export and import service to recover from accidental deletion of data and to export data for offline processing. You can export all documents or just specific collections. Likewise, you can import all data from an export or only specific collections. Data exported from one Cloud Firestore database can be imported into another Cloud Firestore database. You can also load Cloud Firestore exports into BigQuery .
This page describes how to export and import Cloud Firestore documents using the managed export and import service and Cloud Storage . The Cloud Firestore managed export and import service is available through the gcloud
command-line tool and the Cloud Firestore API ( REST , RPC ).
আপনি শুরু করার আগে
Before you can use the managed export and import service, you must complete the following tasks:
- Enable billing for your Google Cloud project. Only Google Cloud projects with billing enabled can use the export and import functionality.
- Create a Cloud Storage bucket for your project in a location near your Cloud Firestore database location . You cannot use a Requester Pays bucket for export and import operations.
Make sure your account has the necessary permissions for Cloud Firestore and Cloud Storage . If you are the project owner, your account has the required permissions. Otherwise, the following roles grant the necessary permissions for export and import operations and for access to Cloud Storage :
- Cloud Firestore roles:
Owner
,Cloud Datastore Owner
, orCloud Datastore Import Export Admin
Cloud Storage roles:
Owner
orStorage Admin
- Cloud Firestore roles:
পরিষেবা এজেন্ট অনুমতি
Export and import operations use a Cloud Firestore service agent to authorize Cloud Storage operations. The Cloud Firestore service agent uses the following naming convention:
- Cloud Firestore service agent
-
service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com
To learn more about service agents, see Service agents .
The Cloud Firestore service agent requires access to the Cloud Storage bucket used in an export or import operation. If your Cloud Storage bucket is in the same project as your Cloud Firestore database, then the Cloud Firestore service agent can access the bucket by default .
If the Cloud Storage bucket is in another project, then you must give the Cloud Firestore service agent access to the Cloud Storage bucket.
Assign roles to the service agent
You can use the gsutil command-line tool to assign one of the roles below. For example, to assign the Storage Admin role to the Cloud Firestore service agent, run the following:
gsutil iam ch serviceAccount:service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com:roles/storage.admin \ gs://[BUCKET_NAME]
Replace PROJECT_NUMBER
with your project number, which is used to name your Cloud Firestore service agent. To view the service agent name, see View service agent name .
Alternatively, you can assign this role using the Google Cloud console .
View service agent name
You can view the account that your import and export operations use to authorize requests from the Import/Export page in the Google Cloud console. You can also view whether your database uses the Cloud Firestore service agent or the legacy App Engine service account.
- View the authorization account next to the Import/Export jobs run as label.
The service agent needs the Storage Admin
role for the Cloud Storage bucket to be used for the export or import operation.
Set up gcloud
for your project
You can initiate import and export operations through the Google Cloud console or the gcloud
command-line tool. To use gcloud
, set up the command-line tool and connect to your project in one of the following ways:
Access
gcloud
from the Google Cloud Platform console using Cloud Shell .Make sure
gcloud
is configured for the correct project:gcloud config set project [PROJECT_ID]
ডেটা রপ্তানি করুন
An export operation copies documents in your database to a set of files in a Cloud Storage bucket. Note that an export is not an exact database snapshot taken at the export start time. An export may include changes made while the operation was running.
Export all documents
গুগল ক্লাউড কনসোল
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
In the navigation menu, click Import/Export .
রপ্তানি ক্লিক করুন.
Click the Export entire database option.
Below Choose Destination , enter the name of a Cloud Storage bucket or use the Browse button to select a bucket.
রপ্তানি ক্লিক করুন.
The console returns to the Import/Export page. If the operation successfully starts, the page adds an entry to the recent imports and exports page. ব্যর্থ হলে, পৃষ্ঠাটি একটি ত্রুটি বার্তা প্রদর্শন করে।
জিক্লাউড
Use the firestore export
command to export all the documents in your database, replacing [BUCKET_NAME]
with the name of your Cloud Storage bucket. Add the --async
flag to prevent the gcloud
tool from waiting for the operation to complete.
gcloud firestore export gs://[BUCKET_NAME] \ --database=[DATABASE]
নিম্নলিখিতগুলি প্রতিস্থাপন করুন:
BUCKET_NAME
: organize your exports by adding a file prefix after the bucket name, for example,BUCKET_NAME/my-exports-folder/export-name
. If you do not provide a file prefix, the managed export service creates one based on the current timestamp.DATABASE
: name of the database from which you want to export the documents. For the default database, use--database='(default)'
.
Once you start an export operation, closing the terminal does not cancel the operation, see cancel an operation .
Export specific collections
গুগল ক্লাউড কনসোল
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
In the navigation menu, click Import/Export .
রপ্তানি ক্লিক করুন.
Click the Export one or more collection groups option. Use the dropdown menu to select one or more collection groups.
Below Choose Destination , enter the name of a Cloud Storage bucket or use the Browse button to select a bucket.
রপ্তানি ক্লিক করুন.
The console returns to the Import/Export page. If the operation successfully starts, the page adds an entry to the recent imports and exports page. ব্যর্থ হলে, পৃষ্ঠাটি একটি ত্রুটি বার্তা প্রদর্শন করে।
জিক্লাউড
To export specific collection groups, use the --collection-ids
flag. The operation exports only the collection groups with the given collection IDs. The collection group includes all collections and subcollections (at any path) with the specified collection ID.
gcloud firestore export gs://[BUCKET_NAME] \ --collection-ids=[COLLECTION_ID_1],[COLLECTION_ID_2],[SUBCOLLECTION_ID_1] \ --database=[DATABASE]
For example, you can design a restaurants
collection in the foo
database to include multiple subcollections, such as ratings
, reviews
, or outlets
. To export specific collection restaurants
and reviews
, your command looks as follows:
gcloud firestore export gs://[BUCKET_NAME] \ --collection-ids=restaurants,reviews \ --database='cymbal'
Export from a PITR timestamp
You can export your database to Cloud Storage from PITR data using the gcloud firestore export
command. You can export PITR data where the timestamp is a whole minute timestamp within the past seven days, but not earlier than the earliestVersionTime
. If data no longer exists at the specified timestamp, the export operation fails.
The PITR export operation supports all filters, including exporting all documents and exporting specific collections.
Export the database, specifying the
snapshot-time
parameter to the desired recovery timestamp.জিক্লাউড
Run the following command to export the database to your bucket.
gcloud firestore export gs://[BUCKET_NAME_PATH] \ --snapshot-time=[PITR_TIMESTAMP] \ --collection-ids=[COLLECTION_IDS] \ --namespace-ids=[NAMESPACE_IDS]
কোথায়,
-
PITR_TIMESTAMP
- a PITR timestamp at the minute granularity, for example,2023-05-26T10:20:00.00Z
.
Note the following points before exporting PITR data:
- Specify the timestamp in RFC 3339 format . For example,
2020-09-01T23:59:30.234233Z
. - Make sure that the timestamp you specify is a whole minute timestamp within the past seven days, but not earlier than the
earliestVersionTime
. If data no longer exists at the specified timestamp, an error is generated. - You are not charged for a failed PITR export.
-
ডেটা আমদানি করুন
Once you have export files in Cloud Storage , you can import documents in those files back into your project or to another project. Note the following points about import operations:
When you import data, the required indexes are updated using your database's current index definitions. An export does not contain index definitions.
Imports do not assign new document IDs. Imports use the IDs captured at the time of the export. As a document is being imported, its ID is reserved to prevent ID collisions. If a document with the same ID already exists, the import overwrites the existing document.
If a document in your database is not affected by an import, it will remain in your database after the import.
Import operations do not trigger Cloud Functions. Snapshot listeners do receive updates related to import operations.
The
.overall_export_metadata
file name must match the name of its parent folder:gs://BUCKET_NAME/OPTIONAL_NAMESPACE_PATH/ PARENT_FOLDER_NAME / PARENT_FOLDER_NAME .overall_export_metadata
If you move or copy the output files of an export, keep the PARENT_FOLDER_NAME and
.overall_export_metadata
file name the same.
Import all documents from an export
গুগল ক্লাউড কনসোল
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
In the navigation menu, click Import/Export .
আমদানিতে ক্লিক করুন।
In the Filename field, enter the filename of an
.overall_export_metadata
file from a completed export operation. You can use the Browse button to help you select the file.আমদানিতে ক্লিক করুন।
The console returns to the Import/Export page. If the operation successfully starts, the page adds an entry to the recent imports and exports page. ব্যর্থ হলে, পৃষ্ঠাটি একটি ত্রুটি বার্তা প্রদর্শন করে।
জিক্লাউড
Use the firestore import
command to import documents from a previous export operation.
gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ --database=[DATABASE]
নিম্নলিখিতগুলি প্রতিস্থাপন করুন:
BUCKET_NAME/EXPORT_PREFIX
: location of your export files.DATABASE
: name of the database. For the default database, use--database='(default)'
.
যেমন:
gcloud firestore import gs://my-bucket/2017-05-25T23:54:39_76544/ --database='cymbal'
You can confirm the location of your export files in the Cloud Storage browser in the Google Cloud console:
Once you start an import operation, closing the terminal does not cancel the operation, see cancel an operation .
Import specific collections
গুগল ক্লাউড কনসোল
You cannot select specific collections in the console. Use gcloud
instead.
জিক্লাউড
To import specific collection groups from a set of export files, use the --collection-ids
flag. The operation imports only the collection groups with the given collection IDs. The collection group includes all collections and subcollections (at any path) with the specified collection ID. Specify the database name using the --database
flag. For the default database, use --database='(default)'
.
Only an export of specific collection groups supports an import of specific collection groups. You cannot import specific collections from an export of all documents.
gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ \ --collection-ids=[COLLECTION_ID_1],[COLLECTION_ID_2],[SUBCOLLECTION_ID_1] \ --database=[DATABASE]
Import a PITR export
Use the steps in Import all documents to import your exported database. If any document already exists in your database, it will be overwritten.
Managing export and import operations
After you start an export or import operation, Cloud Firestore assigns the operation a unique name. You can use the operation name to delete, cancel, or status check the operation.
Operation names are prefixed with projects/[PROJECT_ID]/databases/(default)/operations/
, for example:
projects/my-project/databases/(default)/operations/ASA1MTAwNDQxNAgadGx1YWZlZAcSeWx0aGdpbi1zYm9qLW5pbWRhEgopEg
However, you can leave out the prefix when specifying an operation name for the describe
, cancel
, and delete
commands.
List all export and import operations
গুগল ক্লাউড কনসোল
You can view a list of recent export and import operations in the Import/Export page of the Google Cloud console.
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
In the navigation menu, click Import/Export .
জিক্লাউড
Use the operations list
command to see all running and recently completed export and import operations:
gcloud firestore operations list
Check operation status
গুগল ক্লাউড কনসোল
You can view the status of a recent export or import operation in the Import/Export page of the Google Cloud console.
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
In the navigation menu, click Import/Export .
জিক্লাউড
Use the operations describe
command to show the status of an export or import operation.
gcloud firestore operations describe [OPERATION_NAME]
Estimate the completion time
A request for the status of a long-running operation returns the metrics workEstimated
and workCompleted
. Each of these metrics is returned in both number of bytes and number of entities:
workEstimated
shows the estimated total number of bytes and documents an operation will process. Cloud Firestore might omit this metric if it cannot make an estimate.workCompleted
shows the number of bytes and documents processed so far. After the operation completes, the value shows the total number of bytes and documents that were actually processed, which might be larger than the value ofworkEstimated
.
Divide workCompleted
by workEstimated
for a rough progress estimate. This estimate might be inaccurate, because it depends on delayed statistics collection.
একটি অপারেশন বাতিল করুন
গুগল ক্লাউড কনসোল
You can cancel a running export or import operation in the Import/Export page of the Google Cloud console.
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
In the navigation menu, click Import/Export .
In the Recent imports and exports table, currently running operations include a Cancel button in the Completed column. Click the Cancel button to stop the operation. The button changes to a Cancelling message and then to Cancelled when the operation stops completely.
জিক্লাউড
Use the operations cancel
command to stop an operation in progress:
gcloud firestore operations cancel [OPERATION_NAME]
Cancelling a running operation does not undo the operation. A cancelled export operation will leave documents already exported in Cloud Storage , and a cancelled import operation will leave in place updates already made to your database. You cannot import a partially completed export.
Delete an operation
Use the gcloud firestore operations delete
command to remove an operation from the list of recent operations. This command will not delete export files from Cloud Storage .
gcloud firestore operations delete [OPERATION_NAME]
Billing and pricing for export and import operations
You are required to enable billing for your Google Cloud project before you use the managed export and import service.
Export and import operations are charged for document reads and writes at the rates listed in Cloud Firestore pricing . Export operations incur one read operation per document exported. Import operations incur one write operation per document imported.
Output files stored in Cloud Storage count towards your Cloud Storage data storage costs .
The costs of export and import operations do not count towards your spending limit . Export or import operations will not trigger your Google Cloud budget alerts until after completion. Similarly, reads and writes performed during an export or import operation are applied to your daily quota after the operation is complete. Export and import operations will not affect the usage shown in the usage section of the console.
Viewing export and import costs
Export and import operations apply the goog-firestoremanaged:exportimport
label to billed operations. In the Cloud Billing reports page , you can use this label to view costs related to import and export operations:
Export to BigQuery
You can load data from a Cloud Firestore export into BigQuery , but only if you specified a collection-ids
filter. See Loading data from Cloud Firestore exports .
BigQuery column limit
BigQuery imposes a limit of 10,000 columns per table. Cloud Firestore export operations generate a BigQuery table schema for each collection group. In this schema, each unique field name within a collection group becomes a schema column.
If a collection group's BigQuery schema surpasses 10,000 columns, the Cloud Firestore export operation attempts to stay under the column limit by treating map fields as bytes. 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
The output of a managed export uses the LevelDB log format .
মেটাডেটা ফাইল
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
Service agent migration
Cloud Firestore uses a Cloud Firestore service agent to authorize import and export operations instead of using the App Engine service account. The service agent and service account use the following naming conventions:
- 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 service account
-
PROJECT_ID @appspot.gserviceaccount.com
The Cloud Firestore service agent is preferable because it is specific to Cloud Firestore . The App Engine service account is shared by more than one service.
View authorization account
You can view which account your import and export operations use to authorize requests from the Import/Export page in the Google Cloud console. You can also view if your database already uses the Cloud Firestore service agent.
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
- ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
In the navigation menu, click Import/Export .
- View the authorization account next to the Import/Export jobs run as label.
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:
- Migrate a project by checking and updating Cloud Storage bucket permissions (recommended) .
- Add an organization-wide policy constraint that affects all projects within the organization.
The first of these techniques is preferable because it localizes the scope of effect to a single Cloud Firestore project. The second technique is not preferred because it doesn't migrate existing Cloud Storage bucket permissions. It does, however, offer security compliance at the organization level.
Migrate by checking and updating Cloud Storage bucket permissions
The migration process has two steps:
- Update Cloud Storage bucket permissions. বিস্তারিত জানার জন্য নিম্নলিখিত বিভাগ দেখুন.
- Confirm migration to the Cloud Firestore service agent.
Service agent bucket permissions
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. For example, operations that move data to another project need to access a bucket in that other project. Otherwise, these operations fail after migrating to the Cloud Firestore service agent.
Import and export workflows that stay within the same project do not require changes to permissions. The Cloud Firestore service agent can access buckets in the same project by default.
Update the permissions for Cloud Storage buckets from other projects to give access to the service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com
service agent. Grant the service agent the Firestore Service Agent
role.
The Firestore Service Agent
role grants read and write permissions for a Cloud Storage bucket. If you need to grant only read or only write permissions, use a custom role .
The migration process described in the following section helps you identify Cloud Storage buckets that might require permission updates.
Migrate a project to the Firestore Service Agent
Complete the following steps to migrate from the App Engine service account to the Cloud Firestore service agent. Once completed, the migration can't be undone.
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
- ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
In the navigation menu, click Import/Export .
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. The next step helps you identify and fix potential permission errors.
Click Check Bucket Status .
A menu appears with the option to complete your migration and a list of Cloud Storage buckets. It may take a few minutes for the list to finish loading.
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.
- Take note of the principal name of your project's Cloud Firestore service agent. The service agent name appears under the Service agent to give access to label.
For any bucket in the list that you will use for future import or export operations, complete the following steps:
In this bucket's table row, click Fix . This opens that bucket's permissions page in a new tab.
- যোগ করুন ক্লিক করুন.
- In the New principals field, enter the name of your Cloud Firestore service agent.
- In the Select a role field, select Service Agents > Firestore Service Agent .
- Save এ ক্লিক করুন।
- Return to the tab with the Cloud Firestore Import/Export page.
- Repeat these steps for other buckets in the list. Make sure to view all the pages of the list.
Click Migrate to Firestore Service Agent . If you still have buckets with failed permission checks, you need to confirm your migration by clicking Migrate .
An alert informs you when your migration completes. Migration can't be undone.
View migration status
To verify your project's migration status:
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
- ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
In the navigation menu, click Import/Export .
Look for the principal next to the Import/Export jobs run as label.
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. The migration can't be undone.If the project has not been migrated, a banner appears at the top of the page with a Check Bucket Status button. See Migrate to the Firestore service agent to complete the migration.
Add an organization-wide policy constraint
Set the following constraint in your organization's policy:
Require Firestore Service Agent for import/export (
firestore.requireP4SAforImportExport
).This constraint requires import and export operations to use the Cloud Firestore service agent to authorize requests. To set this constraint, see Creating and managing organization policies .
Applying this organizational policy constraint does not automatically grant the appropriate Cloud Storage bucket permissions for the Cloud Firestore service agent.
If the constraint creates permission errors for any import or export workflows, you can disable it to go back to using default service account. After you check and update Cloud Storage bucket permissions , you can enable the constraint again.