إدارة وظائف Apache Flink® في HDInsight على مجموعات AKS

هام

هذه الميزة في وضع المعاينة حاليًا. تتضمن شروط الاستخدام التكميلية لمعاينات Microsoft Azure المزيد من الشروط القانونية التي تنطبق على ميزات Azure الموجودة في الإصدار التجريبي أو قيد المعاينة أو التي لم يتم إصدارها بعد في التوفر العام. للحصول على معلومات حول هذه المعاينة المحددة، راجع معلومات معاينة Azure HDInsight على AKS. للأسئلة أو اقتراحات الميزات، يرجى إرسال طلب على AskHDInsight مع التفاصيل ومتابعتنا لمزيد من التحديثات على مجتمع Azure HDInsight.

يوفر HDInsight على AKS ميزة لإدارة مهام Apache Flink® وإرسالها مباشرة من خلال مدخل Microsoft Azure (واجهة سهلة الاستخدام) وواجهات برمجة تطبيقات ARM Rest.

تمكن هذه الميزة المستخدمين من التحكم في مهام Apache Flink ومراقبتها بكفاءة دون الحاجة إلى معرفة عميقة على مستوى نظام المجموعة.

المزايا

  • إدارة الوظائف المبسطة: مع التكامل الأصلي ل Apache Flink في مدخل Microsoft Azure، لم يعد المستخدمون يحتاجون إلى معرفة واسعة لمجموعات Flink لإرسال المهام وإدارتها ومراقبتها.

  • واجهة برمجة تطبيقات REST سهلة الاستخدام: يوفر HDInsight على AKS واجهات برمجة تطبيقات ARM Rest سهلة الاستخدام لإرسال مهام Flink وإدارتها. يمكن للمستخدمين إرسال مهام Flink من أي خدمة Azure باستخدام واجهات برمجة تطبيقات Rest هذه.

  • تحديثات الوظائف وإدارتها دون عناء: يوفر تكامل مدخل Microsoft Azure الأصلي تجربة خالية من المتاعب لتحديث الوظائف واستعادتها إلى آخر حالة محفوظة (نقطة حفظ). تضمن هذه الوظيفة الاستمرارية وسلامة البيانات طوال دورة حياة الوظيفة.

  • أتمتة مهمة Flink باستخدام Azure pipeline: باستخدام HDInsight على AKS، يمكن لمستخدمي Flink الوصول إلى واجهة برمجة تطبيقات ARM Rest سهلة الاستخدام، يمكنك دمج عمليات وظيفة Flink بسلاسة في Azure Pipeline. سواء كنت تقوم بتشغيل وظائف جديدة أو تحديث الوظائف قيد التشغيل أو تنفيذ عمليات وظيفية مختلفة، فإن هذا النهج المبسط يلغي الخطوات اليدوية. فهو يمكنك من إدارة مجموعة Flink بكفاءة.

المتطلبات الأساسية

هناك بعض المتطلبات الأساسية قبل إرسال المهام وإدارتها من المدخل أو واجهات برمجة تطبيقات Rest.

  • إنشاء دليل في حساب التخزين الأساسي للمجموعة لتحميل جرة الوظيفة.

  • إذا أراد المستخدم أخذ نقاط الحفظ، فبادر بإنشاء دليل في حساب التخزين لنقاط حفظ المهمة.

    لقطة شاشة تعرض بنية الدليل.

الميزات والعمليات الرئيسية

  • إرسال مهمة جديدة: يمكن للمستخدمين إرسال Flink جديد دون عناء، مما يلغي الحاجة إلى تكوينات معقدة أو أدوات خارجية.

  • إيقاف الوظائف وبدء تشغيلها باستخدام نقاط الحفظ: يمكن للمستخدمين إيقاف مهام Flink الخاصة بهم وبدء تشغيلها بأمان من حالتهم السابقة (Savepoint). تضمن نقاط الحفظ الحفاظ على تقدم المهمة، ما يتيح استئنافا سلسا.

  • تحديثات الوظيفة: يمكن للمستخدم تحديث المهمة قيد التشغيل بعد تحديث jar على حساب التخزين. يأخذ هذا التحديث تلقائيا نقطة الحفظ ويبدأ المهمة بجرة جديدة.

  • التحديثات عديمة الحالة: يتم تبسيط إجراء إعادة تشغيل جديدة لوظيفة ما من خلال التحديثات عديمة الحالة. تسمح هذه الميزة للمستخدمين ببدء إعادة تشغيل نظيفة باستخدام jar الوظيفة المحدثة.

  • إدارة نقاط الحفظ: في أي لحظة، يمكن للمستخدمين إنشاء نقاط حفظ لوظائفهم قيد التشغيل. يمكن سرد نقاط الحفظ هذه واستخدامها لإعادة تشغيل المهمة من نقطة تحقق معينة حسب الحاجة.

  • إلغاء الأمر: يؤدي ذلك إلى إلغاء المهمة بشكل دائم.

  • حذف: حذف سجل المهمة.

خيارات لإدارة الوظائف في HDInsight على AKS

يوفر HDInsight على AKS طرقا لإدارة وظائف Flink.

إدارة الوظائف من مدخل Microsoft Azure

لتشغيل مهمة Flink من المدخل، انتقل إلى:

Portal --> HDInsight on AKS Cluster Pool --> Flink Cluster --> الإعدادات --> Flink Jobs

لقطة شاشة توضح كيفية تشغيل مهمة

  • وظيفة جديدة: لإرسال مهمة جديدة، قم بتحميل ملفات jars الخاصة بالمهمة إلى حساب التخزين وإنشاء دليل savepoint. أكمل القالب بالتكوينات الضرورية ثم أرسل المهمة.

    لقطة شاشة توضح كيفية إنشاء وظيفة جديدة.

    تفاصيل الخاصية:

    الخاصية ‏‏الوصف القيمة الافتراضية إلزامي
    اسم الوظيفة اسم فريد للوظيفة. يتم عرض هذا على المدخل. يجب أن يكون اسم الوظيفة في الأخير الصغير. ‏‏نعم‬
    مسار Jar مسار التخزين لجرة الوظيفة. يجب على المستخدمين إنشاء دليل في تخزين نظام المجموعة وتحميل ملف jar للمهمة. ‏‏نعم‬
    فئة الإدخال فئة الإدخال للمهمة التي يبدأ منها تنفيذ المهمة. ‏‏نعم‬
    وسائط الوسيطة لبرنامج الوظيفة الرئيسي. افصل كل الوسيطات بمسافات. لا
    التوازي توازي ربط الوظيفة. 2 ‏‏نعم‬
    savepoint.directory دليل Savepoint للمهمة. من المستحسن أن يقوم المستخدمون بإنشاء دليل جديد لنقطة حفظ المهمة في حساب التخزين. abfs://<container>@<account>/<deployment-ID>/savepoints لا

    بمجرد بدء المهمة، تكون حالة الوظيفة على المدخل قيد التشغيل.

  • إيقاف: لم تتطلب مهمة الإيقاف أي معلمة، يمكن للمستخدم إيقاف المهمة عن طريق تحديد الإجراء.

    لقطة شاشة توضح كيف يمكن للمستخدم إيقاف الوظيفة.

    بمجرد إيقاف المهمة، يتم إيقاف حالة الوظيفة على المدخل.

  • البدء: يبدأ هذا الإجراء المهمة من نقطة الحفظ. لبدء المهمة، حدد الوظيفة المتوقفة وابدأها.

    لقطة شاشة توضح كيفية بدء مهمة المستخدم.

    املأ قالب التدفق بالخيارات المطلوبة وابدأ تشغيله. يحتاج المستخدمون إلى تحديد نقطة الحفظ التي يريد المستخدم بدء المهمة منها. بشكل افتراضي، فإنه يأخذ آخر نقطة حفظ ناجحة.

    لقطة شاشة توضح كيفية تعبئة قالب التدفق.

    تفاصيل الخاصية:

    الخاصية ‏‏الوصف القيمة الافتراضية إلزامي
    وسائط الوسيطة لبرنامج الوظيفة الرئيسي. يجب فصل كافة الوسيطات بمسافة. لا
    نقطة الحفظ الأخيرة آخر نقطة حفظ ناجحة قبل إيقاف المهمة. سيتم استخدام هذا بشكل افتراضي إذا لم يتم تحديد نقطة الحفظ. غير قابل للتحرير
    حفظ اسم النقطة يمكن للمستخدمين سرد نقطة الحفظ المتوفرة للوظيفة وتحديد نقطة لبدء المهمة. لا

    بمجرد بدء المهمة، ستكون حالة الوظيفة على المدخل قيد التشغيل.

  • تحديث: يساعد التحديث على إعادة تشغيل المهام باستخدام التعليمات البرمجية للمهمة المحدثة. يحتاج المستخدمون إلى تحديث أحدث جرة مهمة في موقع التخزين وتحديث المهمة من المدخل. يوقف هذا التحديث المهمة باستخدام نقطة الحفظ ويبدأ مرة أخرى بأحدث jar.

    لقطة شاشة توضح كيفية إعادة تشغيل المهام باستخدام التعليمات البرمجية للمهمة المحدثة.

    قالب لتحديث المهمة.

    لقطة شاشة تعرض قالب لتحديث المهمة.

    بمجرد تحديث الوظيفة، تكون حالة الوظيفة على المدخل هي "RUNNING".

  • تحديث عديم الحالة: هذه المهمة مثل تحديث، ولكنها تتضمن إعادة تشغيل جديدة للوظيفة باستخدام أحدث التعليمات البرمجية.

    تظهر لقطة الشاشة إعادة تشغيل جديدة للوظيفة باستخدام أحدث التعليمات البرمجية.

    قالب لتحديث المهمة.

    لقطة شاشة تعرض قالب لتحديث وظيفة عديمة الحالة.

    تفاصيل الخاصية:

    الخاصية ‏‏الوصف القيمة الافتراضية إلزامي
    وسائط الوسيطة لبرنامج الوظيفة الرئيسي. افصل كل الوسيطات بمسافة. لا

    بمجرد تحديث الوظيفة، تكون حالة الوظيفة على المدخل قيد التشغيل.

  • Savepoint: خذ نقطة الحفظ لمهمة Flink.

    تظهر لقطة الشاشة نقطة الحفظ لمهمة Flink.

    تستغرق عملية Savepoint وقتا طويلا، وتستغرق بعض الوقت. يمكنك أن ترى حالة إجراء الوظيفة قيد التقدم.

    لقطة شاشة تعرض حالة إجراء الوظيفة.

  • إلغاء الأمر: تساعد هذه المهمة المستخدم على إنهاء المهمة.

    لقطة شاشة توضح كيف يمكن للمستخدم إنهاء المهمة.

  • حذف: حذف بيانات المهمة من المدخل.

    لقطة شاشة توضح كيف يمكن للمستخدم حذف بيانات المهمة من المدخل.

  • عرض تفاصيل الوظيفة: لعرض تفاصيل الوظيفة، يمكن للمستخدم النقر فوق اسم الوظيفة، فإنه يعطي تفاصيل حول الوظيفة ونتيجة الإجراء الأخير.

    لقطة شاشة توضح كيفية عرض تفاصيل الوظيفة.

    لأي إجراء فاشل، تعطي هذه الوظيفة json استثناءات مفصلة وأسباب الفشل.

إدارة الوظائف باستخدام واجهة برمجة تطبيقات Rest

يدعم HDInsight على AKS واجهات برمجة تطبيقات ARM Rest سهلة الاستخدام لإرسال الوظيفة وإدارة المهمة. باستخدام واجهة برمجة تطبيقات Flink REST هذه، يمكنك دمج عمليات مهمة Flink بسلاسة في Azure Pipeline. سواء كنت تقوم بتشغيل وظائف جديدة أو تحديث الوظائف قيد التشغيل أو تنفيذ عمليات وظيفية مختلفة، فإن هذا النهج المبسط يلغي الخطوات اليدوية ويمكنك من إدارة نظام مجموعة Flink بكفاءة.

تنسيق عنوان URL الأساسي لواجهة برمجة تطبيقات Rest

راجع عنوان URL التالي لواجهة برمجة تطبيقات rest، يحتاج المستخدمون إلى استبدال الاشتراك ومجموعة الموارد وتجمع نظام المجموعة واسم نظام المجموعة وHDInsight على إصدار AKS API في هذا قبل استخدامه. https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runjob?api-version={{API_VERSION}}

باستخدام واجهة برمجة تطبيقات REST هذه، يمكن للمستخدمين بدء مهام جديدة، وإيقاف المهام، وبدء المهام، وإنشاء نقاط حفظ، وإلغاء المهام، وحذف المهام. API_VERSION الحالي هو معاينة 2023-06-01.

مصادقة Rest API

لمصادقة مستخدمي Flink ARM Rest API، تحتاج إلى الحصول على الرمز المميز للحامل أو الرمز المميز للوصول لمورد ARM. لمصادقة Azure ARM (Azure Resource Manager) REST API باستخدام كيان خدمة، يمكنك اتباع الخطوات العامة التالية:

  • إنشاء كيان الخدمة.

    az ad sp create-for-rbac --name <your-SP-name>

  • امنح المالك إذنا ل SP لنظام flink المجموعة.

  • تسجيل الدخول باستخدام كيان الخدمة.

    az login --service-principal -u <client_id> -p <client_secret> --tenant <tenant_id>

  • الحصول على الرمز المميز للوصول.

    $token = az account get-access-token --resource=https://management.azure.com/ | ConvertFrom-Json

    $tok = $token.accesstoken

    يمكن للمستخدمين استخدام الرمز المميز في عنوان URL المعروض.

    $data = Invoke-RestMethod -Uri $restUri -Method GET -Headers @{ Authorization = "Bearer $tok" }

المصادقة باستخدام الهوية المدارة: يمكن للمستخدمين استخدام الموارد التي تدعم الهوية المدارة لإجراء مكالمات إلى واجهة برمجة تطبيقات Job REST. لمزيد من التفاصيل، يرجى الرجوع إلى وثائق الهوية المدارة.

قائمة واجهات برمجة التطبيقات والمعلمات

  • وظيفة جديدة: Rest API لإرسال مهمة جديدة إلى Flink.

    خيار القيمة‬
    الطريقة POST
    عنوان URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    الرأس التخويل = "bearer $token"

    نص الطلب:

    { 
        "properties": { 
            "jobType": "FlinkJob", 
            "jobName": "<JOB_NAME>", 
            "action": "NEW", 
            "jobJarDirectory": "<JOB_JAR_STORAGE_PATH>", 
            "jarName": "<JOB_JAR_NAME>", 
            "entryClass": "<JOB_ENTRY_CLASS>", 
            “args”: ”<JOB_JVM_ARGUMENT>”
            "flinkConfiguration": { 
                "parallelism": "<JOB_PARALLELISM>", 
                "savepoint.directory": "<JOB_SAVEPOINT_DIRECTORY_STORAGE_PATH>" 
            } 
         } 
    }
    

    تفاصيل الخاصية لنص JSON:

    الخاصية ‏‏الوصف القيمة الافتراضية إلزامي
    نوع الوظيفة نوع المهمة. يجب أن يكون "FlinkJob" ‏‏نعم‬
    اسم الوظيفة اسم فريد للوظيفة. يتم عرض هذا على المدخل. يجب أن يكون اسم الوظيفة في الأخير الصغير. ‏‏نعم‬
    إجراء يشير إلى نوع العملية في الوظيفة. يجب أن يكون "جديد" دائما لإطلاق وظيفة جديدة. ‏‏نعم‬
    دليل الوظيفة مسار التخزين لدليل job jar. يجب على المستخدمين إنشاء دليل في تخزين نظام المجموعة وتحميل ملف jar للمهمة. ‏‏نعم‬
    jarName اسم جرة الوظيفة. ‏‏نعم‬
    فئة الإدخال فئة الإدخال للمهمة التي يبدأ منها تنفيذ المهمة. ‏‏نعم‬
    args الوسيطة لبرنامج الوظيفة الرئيسي. وسيطات منفصلة ذات مسافة. لا
    التوازي توازي ربط الوظيفة. 2 ‏‏نعم‬
    savepoint.directory دليل Savepoint للمهمة. من المستحسن أن يقوم المستخدمون بإنشاء دليل جديد لنقطة حفظ المهمة في حساب التخزين. abfs://<container>@<account>/<deployment-ID>/savepoints لا

    مثال:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • إيقاف الوظيفة: Rest API لإيقاف مهمة التشغيل الحالية.

    خيار القيمة‬
    الطريقة POST
    عنوان URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    الرأس التخويل = "bearer $token"

    نص الطلب

       {
          "properties": {
            "jobType": "FlinkJob",
            "jobName": "<JOB_NAME>",
            "action": "STOP"
          }
        }
    

    تفاصيل الخاصية لنص JSON:

    الخاصية ‏‏الوصف القيمة الافتراضية إلزامي
    نوع الوظيفة نوع المهمة. يجب أن يكون "FlinkJob" ‏‏نعم‬
    اسم الوظيفة اسم الوظيفة، الذي يستخدم لبدء المهمة ‏‏نعم‬
    إجراء يجب أن يكون "STOP" ‏‏نعم‬

    مثال:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • بدء المهمة: Rest API لبدء المهمة المتوقفة.

    خيار القيمة‬
    الطريقة POST
    عنوان URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    الرأس التخويل = "bearer $token"

    نص الطلب

       {
          "properties": {
             "jobType": "FlinkJob",
             "jobName": "<JOB_NAME>",
             "action": "START",
             "savePointName": "<SAVEPOINT_NAME>"
          }
        }
    

    تفاصيل الخاصية لنص JSON:

    الخاصية ‏‏الوصف القيمة الافتراضية إلزامي
    نوع الوظيفة نوع المهمة. يجب أن يكون "FlinkJob" ‏‏نعم‬
    اسم الوظيفة اسم الوظيفة المستخدم لتشغيل الوظيفة. ‏‏نعم‬
    إجراء يجب أن يكون "START" ‏‏نعم‬
    حفظ اسم نقطة احفظ اسم النقطة لبدء المهمة. إنها خاصية اختيارية، تستغرق عملية البدء بشكل افتراضي آخر نقطة حفظ ناجحة. لا

    مثال:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • مهمة التحديث: Rest API لتحديث مهمة التشغيل الحالية.

    خيار القيمة‬
    الطريقة POST
    عنوان URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    الرأس التخويل = "bearer $token"

    نص الطلب

      {
          "properties": {
              "jobType": "FlinkJob",
              "jobName": "<JOB_NAME>",
              "action": "UPDATE",
              “args” : “<JOB_JVM_ARGUMENT>”,
              "savePointName": "<SAVEPOINT_NAME>"
          }
      }
    
    

    تفاصيل الخاصية لنص JSON:

    الخاصية ‏‏الوصف القيمة الافتراضية إلزامي
    نوع الوظيفة نوع المهمة. يجب أن يكون "FlinkJob" ‏‏نعم‬
    اسم الوظيفة اسم الوظيفة المستخدم لتشغيل الوظيفة. ‏‏نعم‬
    إجراء يجب أن يكون "UPDATE" دائما لإطلاق وظيفة جديدة. ‏‏نعم‬
    args وسيطات Job JVM لا
    حفظ اسم نقطة احفظ اسم النقطة لبدء المهمة. إنها خاصية اختيارية، ستستغرق عملية البدء بشكل افتراضي آخر نقطة حفظ ناجحة. لا

    مثال:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • مهمة التحديث عديمة الحالة: واجهة برمجة تطبيقات Rest للتحديث عديم الحالة.

    خيار القيمة‬
    الطريقة POST
    عنوان URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    الرأس التخويل = "bearer $token"

    نص الطلب

      {
          "properties": {
              "jobType": "FlinkJob",
              "jobName": "<JOB_NAME>",
              "action": "STATELESS_UPDATE",
              “args” : “<JOB_JVM_ARGUMENT>”
          }
      }
    

    تفاصيل الخاصية لنص JSON:

    الخاصية ‏‏الوصف القيمة الافتراضية إلزامي
    نوع الوظيفة نوع المهمة. يجب أن يكون "FlinkJob" ‏‏نعم‬
    اسم الوظيفة اسم الوظيفة المستخدم لتشغيل الوظيفة. ‏‏نعم‬
    إجراء يجب أن يكون "STATELESS_UPDATE" دائما لإطلاق وظيفة جديدة. ‏‏نعم‬
    args وسيطات Job JVM لا

    مثال:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • Savepoint: Rest API لتشغيل نقطة الحفظ للوظيفة.

    خيار القيمة‬
    الطريقة POST
    عنوان URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    الرأس التخويل = "bearer $token"

    نص الطلب

      {
          "properties": {
              "jobType": "FlinkJob",
              "jobName": "<JOB_NAME>",
              "action": "SAVEPOINT"
          }
      }
    

    تفاصيل الخاصية لنص JSON:

    الخاصية ‏‏الوصف القيمة الافتراضية إلزامي
    نوع الوظيفة نوع المهمة. يجب أن يكون "FlinkJob" ‏‏نعم‬
    اسم الوظيفة اسم الوظيفة المستخدم لتشغيل الوظيفة. ‏‏نعم‬
    إجراء يجب أن يكون "SAVEPOINT" دائما لتشغيل وظيفة جديدة. ‏‏نعم‬

    مثال:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • List savepoint: Rest API لسرد جميع نقاط الحفظ من دليل savepoint.

    خيار القيمة‬
    الطريقة POST
    عنوان URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    الرأس التخويل = "bearer $token"

    نص الطلب

      {
          "properties": {
              "jobType": "FlinkJob",
              "jobName": "<JOB_NAME>",
              "action": "LIST_SAVEPOINT"
          }
      }
    

    تفاصيل الخاصية لنص JSON:

    الخاصية ‏‏الوصف القيمة الافتراضية إلزامي
    نوع الوظيفة نوع المهمة. يجب أن يكون "FlinkJob" ‏‏نعم‬
    اسم الوظيفة اسم الوظيفة المستخدم لبدء المهمة ‏‏نعم‬
    إجراء يجب أن يكون "LIST_SAVEPOINT" ‏‏نعم‬

    مثال:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • إلغاء الأمر: Rest API لإلغاء المهمة.

    خيار القيمة‬
    الطريقة POST
    عنوان URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    الرأس التخويل = "bearer $token"

    نص الطلب

      {
          "properties": {
              "jobType": "FlinkJob",
              "jobName": "<JOB_NAME>",
              "action": "CANCEL"
          }
      }
    

    تفاصيل الخاصية لنص JSON:

    الخاصية ‏‏الوصف القيمة الافتراضية إلزامي
    نوع الوظيفة نوع المهمة. يجب أن يكون FlinkJob ‏‏نعم‬
    اسم الوظيفة اسم الوظيفة المستخدم لتشغيل الوظيفة. ‏‏نعم‬
    إجراء يجب أن يكون CANCEL. ‏‏نعم‬

    مثال:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • حذف: Rest API لحذف المهمة.

    خيار القيمة‬
    الطريقة POST
    عنوان URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    الرأس التخويل = "bearer $token"

    نص الطلب

      {
          "properties": {
              "jobType": "FlinkJob",
              "jobName": "<JOB_NAME>",
              "action": "DELETE"
          }
      }
    

    تفاصيل الخاصية لنص JSON:

    الخاصية ‏‏الوصف القيمة الافتراضية إلزامي
    نوع الوظيفة نوع المهمة. يجب أن يكون "FlinkJob" ‏‏نعم‬
    اسم الوظيفة اسم الوظيفة المستخدم لتشغيل الوظيفة. ‏‏نعم‬
    إجراء يجب أن يكون DELETE. ‏‏نعم‬

    مثال:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • قائمة المهام: Rest API لسرد جميع وظائف وحالة الإجراء الحالي.

    خيار القيمة‬
    الطريقة GET
    عنوان URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/jobs?api-version={{API_VERSION}}
    الرأس التخويل = "bearer $token"

    إخراج:

    { 
      "value": [ 
          { 
              "id": "/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/jobs/job1", 
              "properties": { 
                  "jobType": "FlinkJob", 
                  "jobName": "job1", 
                  "jobJarDirectory": "<JOB_JAR_STORAGE_PATH>", 
                  "jarName": "<JOB_JAR_NAME>", 
                  "action": "STOP", 
                  "entryClass": "<JOB_ENTRY_CLASS>", 
                  "flinkConfiguration": { 
                      "parallelism": "2", 
                      "savepoint.directory": "<JOB_SAVEPOINT_DIRECTORY_STORAGE_PATH>s" 
                  }, 
                  "jobId": "20e9e907eb360b1c69510507f88cdb7b", 
                  "status": "STOPPED", 
                  "jobOutput": "Savepoint completed. Path: <JOB_SAVEPOINT_DIRECTORY_STORAGE_PATH>s/savepoint-20e9e9-8a48c6b905e5", 
                  "actionResult": "SUCCESS", 
                  "lastSavePoint": "<JOB_SAVEPOINT_DIRECTORY_STORAGE_PATH>s/savepoint-20e9e9-8a48c6b905e5" 
          } 
       }
      ]
    }
    

إشعار

عندما يكون أي إجراء قيد التقدم، سيشير actionResult إلى أنه بالقيمة "IN_PROGRESS" عند الإكمال الناجح، سيظهر "SUCCESS"، وفي حالة الفشل، سيكون "FAILED".

المرجع