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

يمكنك استخدام خدمة التصدير والاستيراد المُدارة من 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 Platform".

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

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

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

يجب أن يحصل وكيل الخدمة على الدور "Storage Admin" في Cloud Storage. لاستخدامها في عملية التصدير أو الاستيراد.

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

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

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

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

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

Google Cloud Console

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

    الانتقال إلى 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 Platform، انتقِل إلى صفحة قواعد البيانات.

    الانتقال إلى 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 Platform، انتقِل إلى صفحة قواعد البيانات.

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

  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 Platform:

فتح متصفِّح 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 Platform".

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

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

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

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

gcloud

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

gcloud firestore operations list

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

Google Cloud Console

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

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

    الانتقال إلى 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 Platform".

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

    الانتقال إلى 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. التسمية إلى العمليات التي تتم فوترتها. في صفحة تقارير فوترة Cloud، يمكنك استخدام هذا التصنيف لعرض التكاليف المرتبطة بعمليات الاستيراد والتصدير:

ادخل إلى تصنيف 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

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

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

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

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

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

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

    الانتقال إلى 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 Platform، انتقِل إلى صفحة قواعد البيانات.

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

  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 Platform، انتقِل إلى صفحة قواعد البيانات.

    الانتقال إلى 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 وتعديلها الأذونات، فيمكنك تمكين القيد مرة أخرى.