استخدام Java وGradle لإنشاء دالة ونشرها إلى Azure
توضح هذه المقالة كيفية إنشاء مشروع دالة Java ونشره إلى Azure Functions باستخدام أداة سطر الأوامر Gradle. عند الانتهاء من ذلك، يتم تشغيل التعليمات البرمجية للدالة في Azure في خطة استضافة بلا خادم ويتم تشغيلها بواسطة طلب HTTP.
إشعار
إذا لم تكن Gradle أداة التطوير المفضلة لديك، فراجع البرامج التعليمية المماثلة لمطوري Java باستخدام Maven، وIntelliJ IDEA، وVS Code.
المتطلبات الأساسية
لتطوير الدالات باستخدام Java، يجب أن يكون ما يلي مثبتًا لديك:
- Java Developer Kit، الإصدار 8 أو 11 أو 17 أو 21. (Java 21 مدعوم حاليا في المعاينة على Linux فقط)
- Azure CLI
- Azure Functions Core Tools الإصدار 2.6.666 أو إصدار أحدث
- Gradle، الإصدار 6.8 والإصدارات الأحدث
تحتاج أيضًا إلى اشتراك 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.
استعرض للوصول إلى مدخل Azure، وقم بتسجيل الدخول، واكتب اسم التطبيق لتطبيق الدالات الخاص بك في بحث في أعلى الصفحة، ثم اضغط على إدخال.
في تطبيق الدالات الخاص بك، حدد الدالات، واختر دالتك، ثم انقر فوق الحصول على عنوان URL للدالة في أعلى اليسار.
اختر (مفتاح دالة) افتراضي وحدد نسخ.
يمكنك الآن استخدام عنوان 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. الآن، قم بتوسيع الدالة الخاصة بك من خلال...