إنشاء تخزين مدار في كتالوج Unity باستخدام كيان خدمة (قديم)

هام

تم إيقاف هذه الوثائق وقد لا يتم تحديثها. لم تعد المنتجات أو الخدمات أو التقنيات المذكورة في هذا المحتوى مدعومة. لعرض وثائق المسؤول الحالية، راجع إدارة حساب Azure Databricks الخاص بك.

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

ومع ذلك، إذا كنت لا تزال ترغب في استخدام كيان خدمة، أو إذا كان لديك تخزين مدار أو مواقع خارجية موجودة في كتالوج Unity تستخدم كيان خدمة وتريد فهم العملية، يتم توفير الإرشادات في مقالة الأرشيف هذه.

إنشاء metastore يتم الوصول إليه باستخدام كيان خدمة (قديم)

لإنشاء مخزن بيانات تعريف كتالوج Unity الذي يتم الوصول إليه بواسطة كيان الخدمة:

  1. إنشاء حساب تخزين ل Azure Data Lake Storage Gen2.

    تخزن حاوية التخزين في هذا الحساب جميع الجداول المدارة في metastore، باستثناء تلك الموجودة في كتالوج أو مخطط مع موقع التخزين المدار الخاص بها.

    راجع إنشاء حساب تخزين للاستخدام مع Azure Data Lake Storage Gen2. يجب أن يكون هذا حساب Azure Data Lake Storage Gen2 في نفس المنطقة مثل مساحات عمل Azure Databricks الخاصة بك.

  2. إنشاء حاوية في حساب التخزين الجديد.

    دون ملاحظة عن ADLSv2 URI للحاوية، وهو بالتنسيق التالي:

    abfss://<container-name>@<storage-account-name>.dfs.core.windows.net/<metastore-name>
    

    في الخطوات التالية، استبدل <storage-container> ب URI هذا.

  3. في Microsoft Entra ID، قم بإنشاء كيان خدمة وتعيين أذونات لحساب التخزين، باستخدام الإرشادات الموجودة في تخزين Access باستخدام كيان الخدمة ومعرف Microsoft Entra (Azure Active Directory).

    سيستخدم كتالوج Unity كيان الخدمة هذا للوصول إلى الحاويات في حساب التخزين نيابة عن مستخدمي كتالوج Unity. إنشاء سر عميل لمدير الخدمة. راجع المصادقة الأساسية لخدمة MS Entra. دون بيانات العميل السرية لمدير الخدمة ومعرف تطبيق العميل ومعرف الدليل حيث قمت بإنشاء كيان الخدمة هذا. في الخطوات التالية، استبدل <client-secret>و <client-application-id>و <directory-id> بهذه القيم.

  4. دون ملاحظة عن هذه الخصائص، والتي ستستخدمها عند إنشاء metastore:

    • <aad-application-id>
    • منطقة حساب التخزين
    • <storage-container>
    • كيان الخدمة <client-secret>و <client-application-id>و <directory-id>
  5. لا يمكنك إنشاء metastore يتم الوصول إليه باستخدام كيان خدمة في واجهة مستخدم وحدة تحكم الحساب. بدلا من ذلك، استخدم واجهة برمجة تطبيقات Metastores للحساب. على سبيل المثال:

    curl -n -X POST --header 'Content-Type: application/json' https://<account-domain>/api/2.0/accounts/<account-id>/metastores
    --data '{
       "metastore_info": {
          "name": "<metastore-name>",
          "storage_root": "<storage-container>",
          "region": "<region>"
          "storage_root_credential_id"
       }
    }'
    

    لمعرفة كيفية المصادقة على واجهات برمجة التطبيقات على مستوى الحساب، راجع مصادقة مدير خدمة MS Entra.

    المستخدم الذي ينشئ metastore هو مالكه. توصي Databricks بإعادة تعيين ملكية metastore إلى مجموعة. راجع تعيين مسؤول metastore.

  6. دون معرف metastore. عند عرض خصائص metastore، فإن معرف metastore هو جزء عنوان URL بعد /data وقبل /configuration.

  7. تم إنشاء metastore، ولكن لا يمكن للكتالوج Unity كتابة البيانات إليه بعد. لإنهاء إعداد metastore:

    1. في مستعرض منفصل، سجل الدخول إلى مساحة عمل تم تعيينها إلى metastore كمسؤول مساحة عمل.

    2. دون ملاحظة عن عنوان URL لمساحة العمل، وهو الجزء الأول من عنوان URL، بعد https:// وشامل ل azuredatabricks.net.

    3. إنشاء رمز مميز للوصول الشخصي. راجع واجهة برمجة تطبيقات إدارة الرمز المميز.

    4. أضف الرمز المميز للوصول الشخصي إلى .netrc الملف في الدليل الرئيسي. يؤدي هذا إلى تحسين الأمان عن طريق منع رمز الوصول الشخصي من الظهور في محفوظات أوامر shell. راجع واجهة برمجة تطبيقات إدارة الرمز المميز.

    5. قم بتشغيل الأمر cURL التالي لإنشاء بيانات اعتماد التخزين الجذر ل metastore. استبدل قيم العنصر النائب:

      • <workspace-url>: عنوان URL لمساحة العمل حيث تم إنشاء الرمز المميز للوصول الشخصي.
      • <credential-name>: اسم لبيانات اعتماد التخزين.
      • <directory-id>: معرف الدليل لمدير الخدمة الذي أنشأته.
      • <application-id>: معرف التطبيق لمدير الخدمة الذي أنشأته.
      • <client-secret>: قيمة سر العميل الذي أنشأته لمدير الخدمة (وليس معرف سر العميل).
      curl -n -X POST --header 'Content-Type: application/json' https://<workspace-url>/api/2.0/unity-catalog/storage-credentials --data "{
         \"name\": \"<credential-name>\",
         \"azure_service_principal\": {
         \"directory_id\": \"<directory-id>\",
         \"application_id\": \"<application-id>\",
         \"client_secret\": \"<client-secret>\"
         }
      }"
      

      دون معرف بيانات اعتماد التخزين، وهو قيمة id من استجابة أمر cURL.

  8. قم بتشغيل الأمر cURL التالي لتحديث metastore باستخدام بيانات اعتماد التخزين الجذر الجديدة. استبدل قيم العنصر النائب:

    • <workspace-url>: عنوان URL لمساحة العمل حيث تم إنشاء الرمز المميز للوصول الشخصي.
    • <metastore-id>: معرف metastore.
    • <storage-credential-id>: معرف بيانات اعتماد التخزين من الأمر السابق.
    curl -n -X PATCH --header 'Content-Type: application/json' https://<workspace-url>/api/2.0/unity-catalog/metastores/<metastore-id> --data
    "{\"storage_root_credential_id\": \"<storage-credential-id>\"}"
    

يمكنك الآن إضافة مساحات عمل إلى metastore.

إنشاء بيانات اعتماد تخزين تستخدم كيان خدمة (قديم)

لإنشاء بيانات اعتماد تخزين باستخدام كيان خدمة، يجب أن تكون مسؤول حساب Azure Databricks. يمكن لمسؤول الحساب الذي ينشئ بيانات اعتماد التخزين الأساسية للخدمة تفويض الملكية إلى مستخدم أو مجموعة أخرى لإدارة الأذونات عليها.

أولا، أنشئ كيان خدمة وامنحه حق الوصول إلى حساب التخزين الخاص بك بعد Access storage باستخدام كيان الخدمة ومعرف Microsoft Entra (Azure Active Directory).

لا يمكنك إضافة بيانات اعتماد تخزين أساسية للخدمة باستخدام مستكشف الكتالوج. بدلا من ذلك، استخدم واجهة برمجة تطبيقات بيانات اعتماد التخزين. على سبيل المثال:

curl -X POST -n \
https://<databricks-instance>/api/2.1/unity-catalog/storage-credentials \
-d '{
   "name": "<storage-credential-name>",
   "read_only": true,
   "azure_service_principal": {
      "directory_id": "<directory-id>",
      "application_id": "<application-id>",
      "client_secret": "<client-secret>"
   },
   "skip_validation": "false"
   }'

يمكنك أيضا إنشاء بيانات اعتماد تخزين باستخدام موفر Databricks Terraform databricks_storage_credential.