تصدير البيانات واستيرادها

يمكنك استخدام خدمة التصدير والاستيراد المُدارة من "Cloud Firestore" من أجل استرداد البيانات من الحذف غير المقصود للبيانات وتصديرها بلا اتصال بالإنترنت قيد المعالجة. يمكنك تصدير جميع المستندات أو مجموعات معيّنة فقط. وبالمثل، يمكنك استيراد جميع البيانات من عملية تصدير أو من مجموعات محددة فقط. البيانات ما تم تصديره من قاعدة بيانات Cloud Firestore يمكن استيراده إلى قاعدة أخرى. قاعدة بيانات Cloud Firestore. يمكنك أيضًا تحميل يتم تصدير Cloud Firestore إلى BigQuery.

توضّح هذه الصفحة كيفية تصدير مستندَين (Cloud Firestore) واستيرادهما باستخدام خدمة التصدير والاستيراد المُدارة وCloud Storage. تشير رسالة الأشكال البيانية تتوفر خدمة التصدير والاستيراد المُدارة في Cloud Firestore من خلال gcloud أداة سطر الأوامر وCloud Firestore واجهة برمجة التطبيقات (REST وRPC)

قبل البدء

قبل أن تتمكن من استخدام خدمة التصدير والاستيراد المُدارة، يجب إكمال المهام التالية:

  1. تفعيل الفوترة لمشروعك على "Google Cloud". Google Cloud فقط المشاريع التي تم تفعيل الفوترة بها يمكنها استخدام وظيفة التصدير والاستيراد.
  2. أنشئ حزمة Cloud Storage لمشروعك في موقع جغرافي قريب من موقع جغرافي Cloud Firestore لقاعدة بياناتك. لا يمكنك استخدام يدفع مقدِّم الطلب حزمة عمليات التصدير والاستيراد.
  3. تأكَّد من أنّ حسابك يتضمّن الأذونات اللازمة "Cloud Firestore" وCloud Storage" إذا كنت مالك المشروع امتلاك الأذونات المطلوبة في حسابك بخلاف ذلك، تمنحك الأدوار التالية الأذونات اللازمة لإجراء عمليات التصدير والاستيراد وللوصول إلى Cloud Storage:

أذونات موظّف الدعم

تستخدم عمليات التصدير والاستيراد وكيل خدمة Cloud Firestore لتنفيذ ما يلي: السماح بعمليات Cloud Storage. وكيل الصيانة Cloud Firestore اصطلاح التسمية التالي:

وكيل خدمة واحد (Cloud Firestore)
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com

للمزيد من المعلومات عن موظّفي الدعم، يُرجى الاطّلاع على مقالة موظّفو الدعم.

يتطلب وكيل الخدمة "Cloud 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 Cloud.

عرض اسم وكيل الخدمة

يمكنك الاطّلاع على الحساب الذي تستخدمه عمليات الاستيراد والتصدير لمنح الأذونات. الطلبات من صفحة الاستيراد/التصدير في وحدة التحكّم في Google Cloud. يمكنك أيضًا لمعرفة ما إذا كانت قاعدة بياناتك تستخدم لغة Cloud Firestore أو وكيل الخدمة أو حساب خدمة App Engine القديم.

  1. اعرض حساب التفويض بجانب يتم تنفيذ مهام الاستيراد/التصدير كتصنيف.

يحتاج موظّف الدعم إلى دور Storage Admin لاستخدام حزمة Cloud Storage في عملية التصدير أو الاستيراد.

إعداد ميزة "gcloud" لمشروعك

يمكنك بدء عمليات الاستيراد والتصدير من خلال وحدة تحكّم Google Cloud أو أداة سطر الأوامر gcloud. لاستخدام gcloud، عليك إعداد أداة سطر الأوامر والربط بمشروعك بإحدى الطريقتَين التاليتَين:

تصدير البيانات

تعمل عملية التصدير على نسخ المستندات في قاعدة بياناتك إلى مجموعة من الملفات في حزمة Cloud Storage. تجدر الإشارة إلى أنّ عملية التصدير ليست لقطة قاعدة بيانات دقيقة تم أخذها في وقت بدء التصدير. قد تشمل عملية التصدير تغييرات يتم إجراؤها أثناء العملية كان قيد التشغيل.

تصدير كل المستندات

Google Cloud Console

  1. في وحدة التحكّم في Google Cloud، انتقِل إلى صفحة قواعد البيانات.

    الانتقال إلى Databases (قواعد البيانات)

  2. حدد قاعدة البيانات المطلوبة من قائمة قواعد البيانات.

  3. في قائمة التنقّل، انقر على استيراد/تصدير.

  4. انقر على تصدير.

  5. انقر على الخيار تصدير قاعدة البيانات بأكملها.

  6. في قسم اختيار الوجهة، أدخِل اسم حزمة Cloud Storage. أو استخدِم الزر تصفّح لاختيار حزمة.

  7. انقر على تصدير.

تعود وحدة التحكّم إلى صفحة الاستيراد/التصدير. إذا بدأت العملية بنجاح، تضيف الصفحة إدخالاً إلى صفحة عمليات الاستيراد والتصدير الأخيرة. عند التعذُّر، ستعرض الصفحة رسالة خطأ.

gcloud

يمكنك استخدام الأمر firestore export لتصدير الكل. المستندات في قاعدة البيانات، مع استبدال [BUCKET_NAME] باسم حزمة واحدة (Cloud Storage) أضِف العلامة --async لمنع أداة gcloud من الانتظار إلى أن تكتمل العملية.

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

استبدِل ما يلي:

  • BUCKET_NAME: تنظيم عمليات التصدير من خلال إضافة بادئة ملف بعد اسم الحزمة، على سبيل المثال، BUCKET_NAME/my-exports-folder/export-name. في حال حذف عدم تقديم بادئة ملف، أو خدمة التصدير المُدارة تنشئ واحدة استنادًا إلى الطابع الزمني الحالي.

  • DATABASE: اسم قاعدة البيانات التي تريد تصدير المستندات منها بالنسبة إلى قاعدة البيانات التلقائية، استخدِم --database='(default)'.

بعد بدء عملية التصدير، لن يؤدي إغلاق الوحدة الطرفية إلى إلغاء راجع إلغاء عملية.

تصدير مجموعات معيّنة

Google Cloud Console

  1. في وحدة التحكّم في Google Cloud، انتقِل إلى صفحة قواعد البيانات.

    الانتقال إلى Databases (قواعد البيانات)

  2. حدد قاعدة البيانات المطلوبة من قائمة قواعد البيانات.

  3. في قائمة التنقّل، انقر على استيراد/تصدير.

  4. انقر على تصدير.

  5. انقر على الخيار تصدير مجموعة مجموعات واحدة أو أكثر. استخدام القائمة المنسدلة لاختيار مجموعة واحدة أو أكثر من المجموعات.

  6. في قسم اختيار الوجهة، أدخِل اسم حزمة Cloud Storage. أو استخدِم الزر تصفّح لاختيار حزمة.

  7. انقر على تصدير.

تعود وحدة التحكّم إلى صفحة الاستيراد/التصدير. إذا بدأت العملية بنجاح، تضيف الصفحة إدخالاً إلى صفحة عمليات الاستيراد والتصدير الأخيرة. عند التعذُّر، ستعرض الصفحة رسالة خطأ.

gcloud

لتصدير مجموعات مجموعات معيّنة، استخدِم العلامة --collection-ids. تصدِّر العملية فقط. مجموعات المجموعات ذات معرفات المجموعات المحددة. مجموعة المجموعات يشمل جميع المجموعات والمجموعات الفرعية (في أي مسار) مع تضمين معرّف المجموعة.

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

على سبيل المثال، يمكنك تصميم مجموعة restaurants في قاعدة بيانات foo لتضمينها. مجموعات فرعية متعددة، مثل ratings أو reviews أو outlets. لتصدير مجموعتَي restaurants وreviews المحدّدتين، سيظهر الأمر على النحو التالي:

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

التصدير من الطابع الزمني لـ PITR

يمكنك تصدير قاعدة بياناتك إلى "Cloud Storage" من بيانات PITR. باستخدام الأمر gcloud firestore export. يمكنك تصدير بيانات PITR حيث يكون الطابع الزمني لدقيقة كاملة ضمن. خلال الأيام السبعة الماضية، ولكن ليس قبل earliestVersionTime. إذا لم تعد البيانات عند الطابع الزمني المحدد، تعذَّرت عملية التصدير.

تتيح عملية تصدير PITR جميع الفلاتر، بما في ذلك تصدير جميع المستندات وتصدير مجموعات محددة.

  1. صدِّر قاعدة البيانات، مع تحديد مَعلمة snapshot-time إلى الطابع الزمني المطلوب لاسترداد الحساب.

    gcloud

    نفِّذ الأمر التالي لتصدير قاعدة البيانات إلى حزمتك.

    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.

    يُرجى مراعاة النقاط التالية قبل تصدير بيانات PITR:

    • تحديد الطابع الزمني في 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 Cloud Console

  1. في وحدة التحكّم في Google Cloud، انتقِل إلى صفحة قواعد البيانات.

    الانتقال إلى قواعد البيانات

  2. اختَر قاعدة البيانات المطلوبة من قائمة قواعد البيانات.

  3. في قائمة التنقّل، انقر على استيراد/تصدير.

  4. انقر على استيراد.

  5. في حقل اسم الملف، أدخِل اسم ملف .overall_export_metadata من عملية تصدير مكتملة. يمكنك استخدِم الزر تصفّح لمساعدتك في اختيار الملف.

  6. انقر على استيراد.

تعود وحدة التحكم إلى صفحة الاستيراد/التصدير. إذا بدأت العملية بنجاح، تضيف الصفحة إدخالاً إلى صفحة عمليات الاستيراد والتصدير الأخيرة. عند التعذُّر، ستعرض الصفحة رسالة خطأ.

gcloud

استخدِم الأمر firestore import لاستيراد المستندات من عملية التصدير السابقة.

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

استبدِل ما يلي:

  • BUCKET_NAME/EXPORT_PREFIX: موقع ملفاتك المُصدَّرة

  • DATABASE: اسم قاعدة البيانات بالنسبة إلى قاعدة البيانات التلقائية، استخدِم --database='(default)'.

على سبيل المثال:

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

ويمكنك تأكيد موقع ملفات التصدير في متصفِّح Cloud Storage في وحدة تحكُّم Google Cloud:

فتح متصفِّح Cloud Storage

بعد بدء عملية استيراد، لا يؤدي إغلاق المحطة إلى إلغاء العملية، راجِع إلغاء عملية.

استيراد مجموعات محدّدة

Google Cloud Console

ولا يمكنك اختيار مجموعات معيّنة في وحدة التحكّم. يمكنك استخدام gcloud كبديل.

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 Cloud Console

يمكنك الاطّلاع على قائمة بعمليات التصدير والاستيراد الأخيرة في صفحة الاستيراد/التصدير في وحدة التحكّم في Google Cloud.

  1. في وحدة التحكّم في Google Cloud، انتقِل إلى صفحة قواعد البيانات.

    الانتقال إلى Databases (قواعد البيانات)

  2. حدد قاعدة البيانات المطلوبة من قائمة قواعد البيانات.

  3. في قائمة التنقّل، انقر على استيراد/تصدير.

gcloud

استخدِم الأمر operations list للاطّلاع على جميع التطبيقات قيد التشغيل عمليات التصدير والاستيراد المكتملة مؤخرًا:

gcloud firestore operations list

التحقّق من حالة العملية

Google Cloud Console

يمكنك الاطّلاع على حالة عملية تصدير أو استيراد حديثة في صفحة الاستيراد/التصدير في وحدة التحكّم في Google Cloud.

  1. في وحدة التحكّم في Google Cloud، انتقِل إلى صفحة قواعد البيانات.

    الانتقال إلى Databases (قواعد البيانات)

  2. اختَر قاعدة البيانات المطلوبة من قائمة قواعد البيانات.

  3. في قائمة التنقّل، انقر على استيراد/تصدير.

gcloud

استخدِم الأمر operations describe لعرض حالة عملية تصدير. أو عملية استيراد.

gcloud firestore operations describe [OPERATION_NAME]

تقدير وقت إنجاز المهمة

يؤدي طلب حالة عملية طويلة الأمد إلى عرض المقاييس "workEstimated" وworkCompleted" يتم عرض كل من هذه المقاييس في كليهما عدد وحدات البايت وعدد الكيانات:

  • تعرض الدالة workEstimated الإجمالي المقدّر لوحدات البايت والمستندات عملية المعالجة. قد يحذف Cloud Firestore هذا المقياس إذا كان لا يمكنك إجراء تقدير.

  • تعرِض workCompleted عدد البايتات والمستندات التي تمت معالجتها حتى الآن. بعد اكتمال العملية، تعرض القيمة إجمالي عدد البايت والمستندات التي تمت معالجتها فعليًا، وقد يكون أكبر من قيمة workEstimated.

اقسِم workCompleted على workEstimated للحصول على تقدير تقريبي للتقدّم. هذا النمط قد يكون غير دقيق، لأنه يعتمد على إحصائيات متأخرة الأولية.

إلغاء عملية

Google Cloud Console

يمكنك إلغاء عملية تصدير أو استيراد قيد التشغيل في صفحة الاستيراد/التصدير في وحدة التحكّم في Google Cloud.

  1. في وحدة تحكّم Google Cloud، انتقِل إلى صفحة القواعد البيانات.

    الانتقال إلى Databases (قواعد البيانات)

  2. حدد قاعدة البيانات المطلوبة من قائمة قواعد البيانات.

  3. في قائمة التنقّل، انقر على استيراد/تصدير.

في جدول عمليات الاستيراد والتصدير الأخيرة، قيد التشغيل حاليًا تتضمن زر إلغاء في العمود مكتملة. انقر على الزر إلغاء لإيقاف العملية. يتغيّر الزر إلى رسالة إلغاء ثم إلى تم الإلغاء عند إيقاف العملية تمامًا.

gcloud

استخدِم الأمر operations cancel لإيقاف عملية جارية:

gcloud firestore operations cancel [OPERATION_NAME]

لا يؤدي إلغاء عملية قيد التشغيل إلى التراجع عن العملية. عملية تصدير مُلغاة إلى ترك المستندات التي تم تصديرها في Cloud Storage، وتم إلغاؤها عملية الاستيراد مكان التحديثات التي تم إجراؤها بالفعل على قاعدة البيانات. إِنْتَ لا يمكن استيراد عملية تصدير مكتملة جزئيًا.

حذف عملية

استخدِم الأمر gcloud firestore operations delete للإزالة إحدى العمليات من قائمة العمليات الأخيرة. لن يتم حذف هذا الأمر تصدير الملفات من Cloud Storage.

gcloud firestore operations delete [OPERATION_NAME]

الفوترة والأسعار لعمليات التصدير والاستيراد

عليك تفعيل الفوترة لمشروعك على "Google Cloud" قبل استخدامه. خدمة التصدير والاستيراد المُدارة.

يتم تحصيل رسوم من عمليات التصدير والاستيراد لقراءة المستندات وكتابتها بالأسعار المدرَجة في أسعار Cloud Firestore. تتطلب عمليات التصدير قراءة واحدة العملية لكل مستند تم تصديره. تؤدي عمليات الاستيراد إلى إجراء عملية كتابة واحدة لكل مستند مستورَد.

يتم احتساب ملفات الإخراج المخزّنة في Cloud Storage ضمن تكاليف تخزين بيانات Cloud Storage.

لا تُحتسَب تكاليف عمليات التصدير والاستيراد ضمن الإنفاق الحد الأقصى. لن تؤدي عمليات التصدير أو الاستيراد إلى تشغيل ميزانية واحدة (Google Cloud) إلى ما بعد اكتمال العملية وبالمثل، يتم تطبيق عمليات القراءة والكتابة التي يتم إجراؤها أثناء عملية تصدير أو استيراد على الحصة اليومية بعد اكتمال العملية. التصدير والاستيراد لن تؤثر العمليات على الاستخدام الموضح في قسم الاستخدام بوحدة التحكم.

عرض تكاليف التصدير والاستيراد

تطبّق عمليات التصدير والاستيراد goog-firestoremanaged:exportimport. التسمية إلى العمليات التي تتم فوترتها. في صفحة تقارير "الفوترة في السحابة الإلكترونية"، يمكنك استخدام هذا التصنيف لعرض التكاليف المرتبطة بعمليات الاستيراد والتصدير:

يمكنك الوصول إلى التصنيف goog-firestoremanaged من قائمة الفلاتر.

التصدير إلى BigQuery

يمكنك تحميل البيانات من عملية تصدير Cloud Firestore إلى BigQuery، ولكن فقط إذا حدّدت فلتر collection-ids. عرض جارٍ تحميل البيانات من Cloud Firestore عملية تصدير.

الحد الأقصى لعدد الأعمدة: BigQuery

BigQuery تفرض حدًا أقصى يبلغ 10,000 عمود لكل جدول. تنشئ عمليات التصدير في Cloud Firestore جدول BigQuery. لكل مجموعة مجموعات. في هذا المخطط، كل اسم حقل فريد داخل تصبح مجموعة المجموعات عمودًا في المخطط.

إذا تجاوز مخطط BigQuery لمجموعة مجموعات ما يصل إلى 10000 عمود، تحاول عملية التصدير Cloud Firestore أن تظل أقل من الحد الأقصى لعدد الأعمدة المسموح به. من خلال التعامل مع حقول الخريطة كوحدات بايت. إذا أدت هذه الإحالة الناجحة إلى عدد الأعمدة أقل من 10000، فيمكنك تحميل البيانات في BigQuery، ولكن لا يمكنك الاستعلام عن الحقول الفرعية داخل حقول الخريطة. وإذا كان عدد الأعمدة لا يزال يتجاوز 10,000، فلن يتم إجراء عملية التصدير إنشاء مخطط BigQuery لمجموعة المجموعات ولا يمكنك تحميل بياناتها إلى BigQuery.

تصدير ملفات التنسيق والبيانات الوصفية

تستخدم ناتج عملية التصدير المُدارة تنسيق سجلّ LevelDB

ملفات البيانات الوصفية

تنشئ عملية التصدير ملف بيانات وصفية لكل مجموعة مجموعات التي تحددها. تتم تسمية ملفات بيانات التعريف عادةً ALL_NAMESPACES_KIND_[COLLECTION_GROUP_ID].export_metadata

ملفات بيانات التعريف هي مخازن بروتوكول احتياطية ويمكنك فك ترميزها باستخدام المحول البرمجي لبروتوكول protoc. على سبيل المثال، يمكنك فك ترميز ملف بيانات وصفية لتحديد مجموعات المجموعات تحتوي ملفات التصدير على:

protoc --decode_raw < export0.export_metadata

نقل بيانات وكيل الخدمة

يستخدم Cloud Firestore وكيل خدمة Cloud Firestore لتفويض عمليات الاستيراد والتصدير بدلاً من استخدام حساب الخدمة App Engine. يستخدم وكيل الخدمة وحساب الخدمة اصطلاحات التسمية التالية:

وكيل خدمة واحد (Cloud Firestore)
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com

سبق أن تم استخدام خدمة App Engine التلقائية من قِبل "Cloud Firestore". بدلاً من وكيل خدمة Cloud Firestore. إذا كانت قاعدة بياناتك لا تزال تستخدم حساب الخدمة App Engine لاستيراد البيانات أو تصديرها، ننصحك باتّباع التعليمات الواردة في هذا القسم لنقل بياناتك إلى استخدام وكيل الخدمة Cloud Firestore.

حساب خدمة واحد (App Engine)
PROJECT_ID@appspot.gserviceaccount.com

من الأفضل استخدام وكيل خدمة Cloud Firestore لأنّه محدّد إلى Cloud Firestore. حساب خدمة "App Engine" مشترك بأكثر من خدمة واحدة

عرض حساب التفويض

يمكنك الاطّلاع على الحساب الذي تستخدمه عمليات الاستيراد والتصدير لمنح الإذن بالطلبات من صفحة الاستيراد/التصدير في وحدة تحكّم Google Cloud. يمكنك أيضًا إذا كانت قاعدة البيانات تستخدم لغة Cloud Firestore وكيل الخدمة.

  1. في وحدة التحكّم في Google Cloud، انتقِل إلى صفحة قواعد البيانات.

    الانتقال إلى Databases (قواعد البيانات)

  2. حدد قاعدة البيانات المطلوبة من قائمة قواعد البيانات.
  3. في قائمة التنقّل، انقر على استيراد/تصدير.

  4. اطّلِع على حساب التفويض بجانب التصنيف عمليات الاستيراد/التصدير التي يتم تنفيذها باسم.

إذا كان مشروعك لا يستخدم وكيل خدمة Cloud Firestore، عليك يمكنه نقل البيانات إلى وكيل الخدمة Cloud Firestore باستخدام أي من الأساليب التالية:

يُفضل استخدام أول هذه الأساليب لأنه يترجم نطاق تأثير في مشروع Cloud Firestore واحد. والأسلوب الثاني ليس هذا الخيار مفضّل لأنّه لا ينقل حزمة Cloud Storage الحالية. الأذونات. ومع ذلك، فإنّه يقدّم امتثالًا للأمان على مستوى المؤسسة.

نقل البيانات من خلال التحقّق من أذونات حزمة Cloud Storage وتعديلها

تتضمّن عملية نقل البيانات خطوتَين:

  1. يجب تعديل أذونات حزمة Cloud Storage. يُرجى الاطّلاع على القسم التالي للاطّلاع على التفاصيل.
  2. يُرجى تأكيد نقل البيانات إلى وكيل خدمة Cloud Firestore.

أذونات حزمة وكيل الخدمة

بالنسبة إلى أي عمليات تصدير أو استيراد تستخدم حزمة Cloud Storage في مشروع آخر، يجب منح وكيل خدمة Cloud Firestore الأذونات لهذه الحزمة. على سبيل المثال، العمليات التي تنقل البيانات إلى مكان آخر مشروع يحتاج إلى الوصول إلى حزمة في هذا المشروع الآخر. وإلا فإن هذه تعذُّر إجراء العمليات بعد نقل البيانات إلى خدمة Cloud Firestore وكيل المستخدم.

لا تتطلب عمليات استيراد وتصدير سير العمل الذي يظل ضمن نفس المشروع التغييرات على الأذونات. يمكن لوكيل خدمة Cloud Firestore الوصول إلى الحزم في المشروع نفسه تلقائيًا.

يجب تعديل الأذونات لحِزمتَي (Cloud Storage) من المشاريع الأخرى لمنحها. الوصول إلى service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com وكيل الخدمة. امنح موظّف الدعم الدور Firestore Service Agent.

يمنح الدور "Firestore Service Agent" أذونات القراءة والكتابة حزمة Cloud Storage إذا كنت بحاجة إلى منح إذن قراءة أو إذن كتابة فقط، استخدِم دورًا مخصّصًا.

عملية نقل البيانات الموضّحة في القسم التالي تساعدك في التعرّف على Cloud Storage التي قد تتطلب تحديثات الأذونات.

نقل مشروع إلى موظّف دعم Firestore

أكمِل الخطوات التالية لنقل البيانات من حساب خدمة App Engine إلى وكيل خدمة Cloud Firestore. بعد اكتمال عملية نقل البيانات، لا يمكن تنفيذ تم التراجع عنه.

  1. في وحدة تحكّم Google Cloud، انتقِل إلى صفحة القواعد البيانات.

    الانتقال إلى قواعد البيانات

  2. حدد قاعدة البيانات المطلوبة من قائمة قواعد البيانات.
  3. في قائمة التنقّل، انقر على استيراد/تصدير.

  4. في حال لم يتم نقل مشروعك إلى خدمة "Cloud Firestore" بعد سيظهر لك بانر يصف عملية نقل البيانات زر التحقق من حالة الحزمة. تساعدك الخطوة التالية في تحديد وإصلاح أخطاء الأذونات المحتملة.

    انقر على التحقّق من حالة الحزمة.

    ستظهر قائمة تتضمّن خيار إكمال عملية نقل البيانات و قائمة بـ Cloud Storage حزمة. قد يستغرق الأمر بضع دقائق القائمة لإنهاء التحميل.

    تتضمّن هذه القائمة الحِزم التي تم استخدامها مؤخرًا في عمليات الاستيراد والتصدير، ولكنّها لا تمنح حاليًا أذونات القراءة والكتابة لوكيل خدمة Cloud Firestore.

  5. قم بتدوين الاسم الرئيسي لـ Cloud Firestore الخاص بمشروعك وكيل الخدمة. يظهر اسم وكيل الخدمة أسفل تصنيف وكيل الخدمة لمنح إذن الوصول إلى
  6. بالنسبة إلى أي حزمة في القائمة ستستخدمها لإجراء عمليات استيراد أو تصدير في المستقبل، أكمِل الخطوات التالية:

    1. في صف جدول هذه الحزمة، انقر على إصلاح. سيؤدي هذا إلى فتح صفحة أذونات هذه الحزمة في علامة تبويب جديدة.

    2. انقر على إضافة.
    3. في حقل المشرفون الجدد، أدخِل اسم Cloud Firestore موظّف الدعم.
    4. في الحقل اختيار دور، اختَر وكلاء الخدمة > وكيل خدمة Firestore
    5. انقر على حفظ.
    6. ارجع إلى علامة التبويب التي تحتوي على صفحة استيراد/تصدير Cloud Firestore.
    7. كرِّر هذه الخطوات للحِزم الأخرى في القائمة. احرص على الاطّلاع على جميع صفحات القائمة.
  7. انقر على نقل البيانات إلى وكيل خدمة Firestore. إذا كان لا يزال لديك حِزم تتضمّن عمليات تحقّق من الأذونات تنتهي بالفشل، عليك تأكيد عملية نقل البيانات بالنقر على نقل البيانات.

    يتم تنبيهك عند اكتمال عملية نقل البيانات. لا يمكن التراجع عن عملية نقل البيانات.

عرض حالة النقل

للتحقّق من حالة نقل بيانات مشروعك:

  1. في وحدة التحكّم في Google Cloud، انتقِل إلى صفحة قواعد البيانات.

    الانتقال إلى Databases (قواعد البيانات)

  2. حدد قاعدة البيانات المطلوبة من قائمة قواعد البيانات.
  3. في قائمة التنقّل، انقر على استيراد/تصدير.

  4. ابحث عن المهمة الرئيسية بجانب التصنيف تشغيل مهام الاستيراد/التصدير كـ.

    إذا كان المدير هو service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com، فهذا يعني أن مشروعك قد تم نقله بالفعل إلى Cloud Firestore وكيل الخدمة. لا يمكن التراجع عن عملية نقل البيانات.

    إذا لم يتم نقل المشروع، سيظهر بانر في أعلى الصفحة. مع زر التحقق من حالة الحزمة. عرض نقل البيانات إلى وكيل خدمة Firestore لإكمال عملية النقل.

إضافة قيد سياسة على مستوى المؤسسة

  • اضبط القيد التالي في سياسة مؤسستك:

    يجب طلب وكيل خدمة Firestore للاستيراد/التصدير (firestore.requireP4SAforImportExport).

    ويتطلب هذا القيد عمليات استيراد وتصدير لاستخدام وكيل الخدمة Cloud Firestore للسماح بالطلبات. ولضبط هذا القيد، يمكنك الاطّلاع على إنشاء سياسات المؤسسة وإدارتها .

لا يؤدي تطبيق قيد السياسة التنظيمية هذا إلى منح أذونات حزمة Cloud Storage المناسبة تلقائيًا لموظّف خدمة Cloud Firestore.

إذا أدّى القيد إلى حدوث أخطاء في الأذونات لأي سير عمل استيراد أو تصدير، يمكنك إيقافه للعودة إلى استخدام حساب الخدمة التلقائي. بعد التحقُّق من حزمة Cloud Storage وتعديلها الأذونات، يمكنك تفعيل القيد مرة أخرى.