استخدام Java وGradle لإنشاء دالة ونشرها إلى Azure

توضح هذه المقالة كيفية إنشاء مشروع دالة Java ونشره إلى Azure Functions باستخدام أداة سطر الأوامر Gradle. عند الانتهاء من ذلك، يتم تشغيل التعليمات البرمجية للدالة في Azure في خطة استضافة بلا خادم ويتم تشغيلها بواسطة طلب HTTP.

إشعار

إذا لم تكن Gradle أداة التطوير المفضلة لديك، فراجع البرامج التعليمية المماثلة لمطوري Java باستخدام Maven، وIntelliJ IDEA، وVS Code.

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

لتطوير الدالات باستخدام Java، يجب أن يكون ما يلي مثبتًا لديك:

تحتاج أيضًا إلى اشتراك Azure نشط. إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.

هام

يجب تحديد متغير بيئة التشغيل JAVA_HOME على مكان تثبيت JDK لإكمال هذا التشغيل السريع.

إعداد مشروع دالات

استخدم الأمر التالي لنسخ نموذج المشروع:

git clone https://github.com/Azure-Samples/azure-functions-samples-java.git
cd azure-functions-samples-java/

افتح build.gradle وقم بتغيير appName في المقطع التالي إلى اسم فريد لتجنب تعارض اسم المجال عند التوزيع إلى Azure.

azurefunctions {
    resourceGroup = 'java-functions-group'
    appName = 'azure-functions-sample-demo'
    pricingTier = 'Consumption'
    region = 'westus'
    runtime {
      os = 'windows'
    }
    localDebug = "transport=dt_socket,server=y,suspend=n,address=5005"
}

افتح ملف Function.java الجديد من مسار src/main/java في محرر نص وراجع التعليمات البرمجية التي تم إنشاؤها. هذه التعليمات البرمجية هي دالة مشغلة بواسطة HTTP والتي تعكس نص الطلب.

تشغيل الدالة محليًا

قم بتشغيل الأمر التالي لإنشاء مشروع الدالة ثم تشغيله:

gradle jar --info
gradle azureFunctionsRun

تشاهد الإخراج كما يلي من Azure Functions Core Tools عند تشغيل المشروع محليًا:

...

Now listening on: http://0.0.0.0:7071
Application started. Press Ctrl+C to shut down.

Http Functions:

    HttpExample: [GET,POST] http://localhost:7071/api/HttpExample
...

قم بتشغيل الدالة من سطر الأوامر باستخدام الأمر cURL التالي في نافذة محطة طرفية جديدة:

curl -w "\n" http://localhost:7071/api/HttpExample --data AzureFunctions

الإخراج المتوقع هو التالي:

Hello, AzureFunctions

إشعار

إذا قمت بتعيين authLevel إلى FUNCTION أو ADMIN، فلن يكون مفتاح الوصول مطلوبا عند التشغيل محليا.

استخدم Ctrl+C في المحطة لإيقاف التعليمة البرمجية للدالة.

نشر الدالة في Azure

يتم إنشاء تطبيق الدالات والموارد ذات الصلة في Azure عند توزيع تطبيق الدالات لأول مرة. قبل أن تتمكن من التوزيع، استخدم الأمر az login في Azure CLI لتسجيل الدخول إلى اشتراك Azure الخاص بك.

az login

تلميح

إذا كان حسابك يمكنه الوصول إلى اشتراكات متعددة، فاستخدم az account set لتعيين الاشتراك الافتراضي لهذه الجلسة.

استخدم الأمر التالي لنشر المشروع إلى تطبيق دالة جديد.

gradle azureFunctionsDeploy

يؤدي هذا إلى إنشاء الموارد التالية في Azure، استنادًا إلى القيم الموجودة في ملف build.gradle:

  • مجموعة الموارد. المسماة resourceGroup التي قمت بتوفيرها.
  • حساب التخزين. مطلوب من الدالات. يتم إنشاء الاسم بشكل عشوائي استنادًا إلى متطلبات اسم حساب التخزين.
  • خطة خدمة التطبيق. استضافة خطة الاستهلاك بلا خادم لتطبيق الدالات الخاص بك في المنطقة المحددة. يتم إنشاء الاسم بشكل عشوائي.
  • تطبيق الدالة. تطبيق الدالة هو نشر الدالات الخاصة بك وتنفيذها. الاسم هو اسم التطبيقالخاص بك، ملحقًا برقم تم إنشاؤه عشوائيًا.

يقوم التوزيع أيضًا بحزم ملفات المشروع وتوزيعها إلى تطبيق الدالات الجديد باستخدام توزيع zip، مع تمكين وضع "تشغيل من الحزمة".

authLevel الخاص بمشغل HTTP في نموذج المشروع هو ANONYMOUS، والذي سيتخطى المصادقة. ومع ذلك، إذا كنت تستخدم authLevel آخر مثل FUNCTION أو ADMIN، فأنت بحاجة إلى الحصول على مفتاح الدالة لاستدعاء نقطة نهاية الدالة عبر HTTP. أسهل طريقة للحصول على مفتاح الدالة هي من مدخل Azure.

الحصول على عنوان URL لمشغل HTTP

يمكنك الحصول على عنوان URL المطلوب لتشغيل الدالة، باستخدام مفتاح الدالة، من مدخل Azure.

  1. استعرض للوصول إلى مدخل Azure، وقم بتسجيل الدخول، واكتب اسم التطبيق لتطبيق الدالات الخاص بك في بحث في أعلى الصفحة، ثم اضغط على إدخال.

  2. في تطبيق الدالات الخاص بك، حدد الدالات، واختر دالتك، ثم انقر فوق الحصول على عنوان URL للدالة في أعلى اليسار.

    نسخ عنوان URL الخاص بالدالة من مدخل Azure

  3. اختر (مفتاح دالة) افتراضي وحدد نسخ.

يمكنك الآن استخدام عنوان URL المنسوخ للوصول إلى الدالة.

التحقق من الدالة في Azure

للتحقق من تطبيق الدالات قيد التشغيل على Azure باستخدام cURL، استبدل عنوان URL من النموذج أدناه بعنوان URL الذي قمت بنسخه من المدخل.

curl -w "\n" http://azure-functions-sample-demo.azurewebsites.net/api/HttpExample --data AzureFunctions

يؤدي هذا إلى إرسال طلب POST إلى نقطة نهاية الدالة مع AzureFunctions في نص الطلب. يجب أن ترى الاستجابة التالية.

Hello, AzureFunctions

الخطوات التالية

لقد قمت بإنشاء مشروع دالات Java باستخدام دالة مشغلة بواسطة HTTP، وتشغيله على جهازك المحلي، وتوزيعه إلى Azure. الآن، قم بتوسيع الدالة الخاصة بك من خلال...