مزامنة مستودع GitHub في Workflow Orchestration Manager
ينطبق على: Azure Data Factory Azure Synapse Analytics
تلميح
جرب Data Factory في Microsoft Fabric، وهو حل تحليلي متكامل للمؤسسات. يغطي Microsoft Fabric كل شيء بدءا من حركة البيانات إلى علم البيانات والتحليلات في الوقت الحقيقي والمعلومات المهنية وإعداد التقارير. تعرف على كيفية بدء إصدار تجريبي جديد مجانا!
إشعار
هذه الميزة قيد المعاينة العامة. يتم تشغيل إدارة تنسيق سير العمل بواسطة Apache Airflow.
في هذه المقالة، ستتعلم كيفية مزامنة مستودع GitHub في Azure Data Factory Workflow Orchestration Manager بطريقتين مختلفتين:
- باستخدام تمكين مزامنة git في واجهة مستخدم إدارة تنسيق سير العمل.
- باستخدام واجهة برمجة تطبيقات Rest.
المتطلبات الأساسية
- اشتراك Azure: إذا لم يكن لديك اشتراك Azure، فقم بإنشاء حساب Azure مجاني قبل أن تبدأ. إنشاء مثيل Data Factory موجود أو تحديده في منطقة يتم فيها دعم معاينة إدارة تنسيق سير العمل.
- مستودع GitHub: تحتاج إلى الوصول إلى مستودع GitHub.
استخدام واجهة مستخدم إدارة تنسيق سير العمل
لمزامنة مستودع GitHub باستخدام واجهة مستخدم إدارة تنسيق سير العمل:
تأكد من أن المستودع الخاص بك يحتوي على المجلدات والملفات الضرورية:
dags/: بالنسبة إلى Apache Airflow الموجهة الرسوم البيانية المتدفقة (dags) (مطلوبة).
المكونات الإضافية/: لدمج الميزات الخارجية في Airflow.
عند إنشاء وقت تشغيل تكامل Workflow Orchestration Manager، حدد Enable git sync في مربع حوار إعداد بيئة Airflow.
حدد أحد أنواع خدمة Git المدعومة التالية:
- GitHub
- ADO
- GitLab
- BitBucket
حدد نوع بيانات الاعتماد:
بلا (لمستودع عام): عند تحديد هذا الخيار، تأكد من أن رؤية المستودع عام. ثم املأ التفاصيل:
- عنوان URL لمستودع Git (مطلوب): عنوان URL المستنسخ لمستودع GitHub الذي تريده.
- فرع Git (مطلوب): الفرع الحالي، حيث يوجد مستودع Git الذي تريده.
رمز الوصول الشخصي Git: بعد تحديد هذا الخيار رمز الوصول الشخصي (PAT)، املأ الحقول المتبقية استنادا إلى نوع خدمة Git المحدد:
- رمز الوصول الشخصي GitHub
- رمز الوصول الشخصي ADO
- رمز الوصول الشخصي GitLab
- رمز الوصول الشخصي BitBucket
SPN (اسم كيان الخدمة): يدعم ADO فقط نوع بيانات الاعتماد هذا. بعد تحديد هذا الخيار، املأ الحقول المتبقية استنادا إلى نوع خدمة Git المحدد:
- عنوان URL لمستودع Git (مطلوب): عنوان URL المستنسخ إلى مستودع Git للمزامنة.
- فرع Git (مطلوب): الفرع في المستودع للمزامنة.
- معرف التطبيق الأساسي للخدمة (مطلوب): معرف التطبيق الأساسي للخدمة مع الوصول إلى ADO repo للمزامنة.
- سر كيان الخدمة (مطلوب): سر تم إنشاؤه يدويا في كيان الخدمة الذي يتم استخدام قيمته لمصادقة مستودع ADO والوصول إليه.
- معرف المستأجر الأساسي للخدمة (مطلوب): معرف المستأجر الأساسي للخدمة.
املأ بقية الحقول بالمعلومات المطلوبة.
حدد إنشاء.
استخدام واجهة برمجة تطبيقات REST
لمزامنة مستودع GitHub الخاص بك باستخدام واجهة برمجة تطبيقات Rest:
الأسلوب: PUT
URL:
https://management.azure.com/subscriptions/<subscriptionid>/resourcegroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<datafactoryName>/integrationruntimes/<airflowEnvName>?api-version=2018-06-01
معلمات URI:
الاسم في المطلوب نوع الوصف معرف الاشتراك path صواب سلسلة معرف الاشتراك اسم مجموعة الموارد path صواب سلسلة اسم مجموعة الموارد (نمط Regex: ^[-\w\._\(\)]+$
)dataFactoryName path صواب سلسلة اسم Azure Data Factory (نمط Regex: ^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$
airflowEnvName path صواب سلسلة اسم بيئة إدارة تنسيق سير العمل إصدار واجهة برمجة التطبيقات استعلام صواب سلسلة إصدار API نص الطلب (تكوين تدفق الهواء):
Name كتابة الوصف الاسم سلسلة اسم بيئة Airflow الخصائص نوع الخاصية خصائص التكوين للبيئة نوع الخصائص:
Name كتابة الوصف النوع سلسلة نوع المورد (تدفق الهواء في هذا السيناريو) typeProperties typeProperty Airflow خاصية النوع:
Name كتابة الوصف خصائص الحساب حساب الحوسبة تكوين نوع الحساب المستخدم للبيئة خصائص تدفق الهواء تدفق الهواءProperty تكوين خصائص Airflow للبيئة خاصية الحساب:
Name كتابة الوصف مكان سلسلة يتم تعيين موقع وقت تشغيل تكامل Airflow افتراضيا إلى منطقة مصنع البيانات. لإنشاء وقت تشغيل تكامل في منطقة مختلفة، قم بإنشاء مصنع بيانات جديد في المنطقة المطلوبة. حجم الحساب سلسلة حجم عقدة الحساب التي تريد تشغيل بيئة Airflow عليها. الأمثلة كبيرة أو صغيرة. يتم تخصيص ثلاث عقد في البداية. العقد الإضافية integer تضيف كل عقدة إضافية ثلاثة عاملين إضافيين. خاصية تدفق الهواء:
Name كتابة الوصف إصدار تدفق الهواء سلسلة الإصدار المدعوم من Apache Airflow. على سبيل المثال، 2.4.3. طلبات تدفق الهواء سلسلة الصفيف<> مكتبات Python التي تريد استخدامها. على سبيل المثال، ["flask-bcrypy=0.7.1"]. يمكن أن تكون قائمة محددة بفاصلة. airflowEnvironmentVariables الكائن (زوج المفتاح/القيمة) متغيرات البيئة التي تريد استخدامها. على سبيل المثال، { "SAMPLE_ENV_NAME": "test" }. خصائص gitSync gitSyncProperty خصائص تكوين Git. تمكينAADIntegration boolean يسمح لمعرف Microsoft Entra بتسجيل الدخول إلى إدارة تنسيق سير العمل. userName سلسلة أو قيمة خالية اسم المستخدم للمصادقة الأساسية. كلمة المرور سلسلة أو قيمة خالية كلمة المرور للمصادقة الأساسية. خاصية مزامنة Git:
Name كتابة الوصف gitServiceType سلسلة خدمة Git حيث يوجد المستودع المطلوب. القيم هي GitHub أو ADO أو GitLab أو BitBucket. gitCredentialType سلسلة نوع بيانات اعتماد Git. القيم هي PAT (للرمز المميز للوصول الشخصي) و SPN (مدعومة فقط من قبل ADO) و بلا. repo سلسلة ارتباط المستودع. branch سلسلة فرع لاستخدامه في المستودع. اسم المستخدم سلسلة اسم مستخدم GitHub. بيانات اعتماد سلسلة قيمة PAT. tenantId سلسلة معرف المستأجر الأساسي للخدمة (مدعوم فقط من قبل ADO). الاستجابات:
الاسم كود الحالة النوع الوصف مقبول 200 مصنع موافق غير مصرح به 401 خطأ في السحابة صفيف يحتوي على مزيد من تفاصيل الخطأ
الأمثلة
راجع الأمثلة التالية.
طلب عينة:
HTTP
PUT https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/abnarain-rg/providers/Microsoft.DataFactory/factories/ambika-df/integrationruntimes/sample-2?api-version=2018-06-01
نموذج النص الأساسي:
{
"name": "sample-2",
"properties": {
"type": "Airflow",
"typeProperties": {
"computeProperties": {
"location": "East US",
"computeSize": "Large",
"extraNodes": 0
},
"airflowProperties": {
"airflowVersion": "2.4.3",
"airflowEnvironmentVariables": {
"AIRFLOW__TEST__TEST": "test"
},
"airflowRequirements": [
"apache-airflow-providers-microsoft-azure"
],
"enableAADIntegration": true,
"userName": null,
"password": null,
"airflowEntityReferences": []
}
}
}
}
نموذج الاستجابة:
Status code: 200 OK
نص الاستجابة:
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/your-rg/providers/Microsoft.DataFactory/factories/your-df/integrationruntimes/sample-2",
"name": "sample-2",
"type": "Microsoft.DataFactory/factories/integrationruntimes",
"properties": {
"type": "Airflow",
"typeProperties": {
"computeProperties": {
"location": "East US",
"computeSize": "Large",
"extraNodes": 0
},
"airflowProperties": {
"airflowVersion": "2.4.3",
"pythonVersion": "3.8",
"airflowEnvironmentVariables": {
"AIRFLOW__TEST__TEST": "test"
},
"airflowWebUrl": "https://e57f7409041692.eastus.airflow.svc.datafactory.azure.com/login/",
"airflowRequirements": [
"apache-airflow-providers-microsoft-azure"
],
"airflowEntityReferences": [],
"packageProviderPath": "plugins",
"enableAADIntegration": true,
"enableTriggerers": false
}
},
"state": "Initial"
},
"etag": "3402279e-0000-0100-0000-64ecb1cb0000"
}
فيما يلي بعض أمثلة البيانات الأساسية لواجهة برمجة التطبيقات:
خصائص مزامنة Git ل GitHub مع PAT:
"gitSyncProperties": { "gitServiceType": "Github", "gitCredentialType": "PAT", "repo": <repo url>, "branch": <repo branch to sync>, "username": <username>, "credential": <personal access token> }
خصائص مزامنة Git ل ADO مع PAT:
"gitSyncProperties": { "gitServiceType": "ADO", "gitCredentialType": "PAT", "repo": <repo url>, "branch": <repo branch to sync>, "username": <username>, "credential": <personal access token> }
خصائص مزامنة Git ل ADO مع كيان الخدمة:
"gitSyncProperties": { "gitServiceType": "ADO", "gitCredentialType": "SPN", "repo": <repo url>, "branch": <repo branch to sync>, "username": < service principal app id >, "credential": <service principal secret value> "tenantId": <service principal tenant id> }
خصائص مزامنة Git لم repo عام GitHub:
"gitSyncProperties": { "gitServiceType": "Github", "gitCredentialType": "None", "repo": <repo url>, "branch": <repo branch to sync> }
استيراد حزمة خاصة مع مزامنة Git
تنطبق هذه العملية الاختيارية فقط عند استخدام الحزم الخاصة.
تفترض هذه العملية أن الحزمة الخاصة بك تمت مزامنتها تلقائيا عبر مزامنة Git. يمكنك إضافة الحزمة كمتطلب في واجهة مستخدم إدارة تنسيق سير العمل مع بادئة /opt/airflow/git/\<repoName\>/
المسار ، إذا كنت تتصل بمرجع ADO. يستخدم /opt/airflow/git/\<repoName\>.git/
لجميع خدمات Git الأخرى.
على سبيل المثال، إذا كانت الحزمة الخاصة بك في /dags/test/private.whl
مستودع GitHub، يجب إضافة المتطلبات /opt/airflow/git/\<repoName\>.git/dags/test/private.whl
في بيئة إدارة تنسيق سير العمل.