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

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