مشاركة عبر


تكوين تطبيقات Databricks

هام

تطبيقات Databricks في المعاينة العامة.

توضح هذه المقالة تفاصيل الإعدادات التي تم تكوينها تلقائيا في بيئة Databricks Apps وتشرح كيفية تعريف التكوين المخصص المطلوب لتطبيقاتك.

تعين بيئة Databricks Apps العديد من متغيرات البيئة، مثل عنوان URL لمساحة عمل Azure Databricks التي تشغل التطبيق والقيم المطلوبة لإجراء المصادقة لتطبيقك. ومع ذلك، في بعض الأحيان تتطلب تطبيقاتك متغيرات مخصصة إضافية. على سبيل المثال، قد تحتاج إلى أمر مخصص لتشغيل التطبيق أو المعلمات للاتصال بمستودع SQL. بالنسبة لمعلمات التكوين المخصصة هذه، استخدم app.yaml الملف .

تكوين تطبيقات Databricks باستخدام app.yaml الملف

إشعار

يمكن لملف تكوين التطبيق استخدام الملحق .yaml أو .yml .

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

app.yaml اعدادات
command

النوع: sequence

مجموعة اختيارية من الوسيطات لتشغيل تطبيقك. استخدم هذا الإعداد عندما تحتاج إلى أمر مخصص لتشغيل تطبيقك. القيم الافتراضية هي [python, app.py].

لا يتم تشغيل الأمر في shell، لذلك لا يتم تمرير أي قيم تم تعيينها في البيئة إلى تطبيقك. إذا كان تطبيقك يتطلب معلمات إضافية للتشغيل، فاستخدم env البنية.

يعد هذا الإعداد إعداداً اختيارياً.
env

النوع: list

مفتاح المستوى الأعلى لقائمة اختيارية من أزواج قيم المفاتيح التي تحدد متغيرات البيئة لتمريرها إلى تطبيقك. value يمكن أن يكون إما قيمة معلمة فعلية أو مرجعا إلى مكان تخزين القيمة. العناصر الصالحة في القائمة هي:

- name: اسم متغير البيئة.
- واحد من:
- value: قيمة متغير البيئة.
- valueFrom: بالنسبة لقيمة معرفة خارجيا، اسم المصدر الذي يحتوي على القيمة. على سبيل المثال، اسم بيانات سرية أو جدول قاعدة بيانات يحتوي على القيمة.

يعد هذا الإعداد إعداداً اختيارياً.

مثال app.yaml لتطبيق Streamlit

يقوم ملف التكوين المثال app.yaml التالي بتشغيل تطبيق Streamlit، ويمرر معرف مستودع SQL وقيمة للمعلمة STREAMLIT_GATHER_USAGE_STATS :

command: [
  "streamlit",
  "run",
  "app.py"
]
env:
  - name: "DATABRICKS_WAREHOUSE_ID"
    value: "quoz2bvjy8bl7skl"
  - name: "STREAMLIT_GATHER_USAGE_STATS"
    value: "false"

مثال app.yaml لتطبيق Flask

يقوم ملف التكوين المثال app.yaml التالي بتشغيل تطبيق Flask مع خادم Gunicorn وتعيين متغير بيئة يحتوي على المسار إلى وحدة تخزين كتالوج Unity:

command:
  - gunicorn
  - app:app
  - -w
  - 4
env:
  - name: "VOLUME_URI"
    value: "/Volumes/catalog-name/schema-name/dir-name"

الرجوع إلى سر Databricks

للإشارة إلى سر تم تكوينه كتبعية مورد لتطبيقك، قم بتعيينه valueFrom: <dependency_name> في env قسم التكوين الخاص بك app.yaml . استبدل dependency_name بقيمة مفتاح المورد من تكوين المورد السري. لمعرفة المزيد حول تبعيات موارد Databricks Apps، راجع كيف أعمل دمج تطبيق Databricks الخاص بي مع خدمات Azure Databricks؟. لمعرفة المزيد حول إدارة أسرار Databricks، راجع إدارة الأسرار.

يشير المثال app.yaml التالي إلى سر تم تكوينه كتبعية مورد:

command: [
  "python",
  "app.py"
]
env:
  - name: "SECRET_KEY"
    valueFrom: "secret-name"

متغيرات بيئة تطبيقات Databricks

يتم تعيين المتغيرات التالية تلقائيا في بيئة Databricks Apps ومتاحة لجميع التطبيقات. إذا كنت بحاجة إلى تعيين متغيرات بيئة إضافية، فقم بإضافتها إلى ملف app.yaml.

المتغير ‏‏الوصف
DATABRICKS_APP_NAME اسم التطبيق قيد التشغيل.
DATABRICKS_WORKSPACE_ID المعرف الفريد لمساحة عمل Databricks التي ينتمي إليها التطبيق.
DATABRICKS_HOST عنوان URL لمساحة عمل Databricks التي ينتمي إليها التطبيق.
DATABRICKS_APP_PORT منفذ الشبكة الذي يجب أن يستمع إليه التطبيق.
DATABRICKS_CLIENT_ID معرف العميل لكيان خدمة Databricks المعين للتطبيق.
DATABRICKS_CLIENT_SECRET سر OAuth لكيان خدمة Databricks المعين للتطبيق.

متغيرات البيئة الافتراضية ل Streamlit

يتم تكوين المتغيرات الخاصة ب Streamlit التالية تلقائيا في بيئة Databricks Apps ومتاحة لتطبيقات Databricks التي تستخدم إطار عمل Streamlit:

المتغير ‏‏الوصف
STREAMLIT_SERVER_ADDRESS عنوان الخادم للاستخدام بواسطة Streamlit. تم تعيين هذه القيمة إلى 0.0.0.0 ويجب عدم تجاوزها.
STREAMLIT_SERVER_PORT المنفذ للاستخدام بواسطة Streamlit. يتم تعيين هذه القيمة إلى DATABRICKS_APP_PORT ويجب عدم تجاوزها.
STREAMLIT_SERVER_ENABLE_XSRF_PROTECTION نظرا لأن الوكيل العكسي لتطبيقات Databricks يحمي ضد تزوير طلب المواقع المشتركة (XSRF)، يتم تعيين هذا إلى false.
STREAMLIT_SERVER_ENABLE_CORS نظرا لأن الوكيل العكسي لتطبيقات Databricks يحمي من مشاركة الموارد عبر المنشأ (CORS)، يتم تعيين هذا إلى false.
STREAMLIT_SERVER_HEADLESS يتم تعيين هذا إلى true بحيث يتم تشغيل Streamlit دون فتح نافذة مستعرض عند البدء.
STREAMLIT_BROWSER_GATHER_USAGE_STATS تم تعيين هذا لمنع false إرسال إحصائيات المستخدم إلى Streamlit.