التشغيل السريع: إنشاء دالة بلغة بايثون في Azure من سطر الأوامر
يمكنك في هذه المقالة استخدام أدوات سطر الأوامر لإنشاء دالة بلغة بايثون للاستجابة لطلبات بروتوكول نقل النص الفائق. بعد اختبار التعليمة البرمجية محليًا، يمكنك توزيعها إلى بيئة بلا خادم من دالات Azure.
تستخدم هذه المقالة نموذج برمجة Python v2 ل Azure Functions، والذي يوفر نهجا يستند إلى مصمم الديكور لإنشاء الوظائف. لمعرفة المزيد حول نموذج برمجة Python v2، راجع الدليل المرجعي للمطور
يتطلب إكمال هذا التشغيل السريع تكلفة صغيرة تبلغ بضعة سنتات أمريكية أو أقل في حساب Azure الخاص بك.
يوجد أيضًا إصدار مستند إلى Visual Studio Code من هذه المقالة.
تكوين البيئة المحلية الخاصة بك
قبل أن تبدأ، يجب أن تتوفر لديك المتطلبات التالية:
حساب Azure مع اشتراك نشط. أنشئ حساباً مجاناً.
إحدى الأدوات التالية لإنشاء موارد Azure:
إصدار Azure CLI 2.4 أو الأحدث.
The Azure Az PowerShell module الإصدار 5.9.0 أو الإصدار الأحدث.
محاكي تخزين Azurite. بينما يمكنك أيضا استخدام حساب Azure Storage فعلي، تفترض المقالة أنك تستخدم هذا المحاكي.
تثبيت الأدوات الأساسية لوظائف Azure
تعتمد الطريقة الموصى بها لتثبيت Core Tools على نظام تشغيل كمبيوتر التطوير المحلي.
الخطوات التالية استخدام مثبت Windows (MSI) لتثبيت أدوات الأساسية v4.x. لمزيدٍ من المعلومات حول المثبتات الأخرى المستندة إلى الحزمة، راجع الملف الأساسي أدوات القراءة.
قم بتنزيل وتشغيل مثبت الأدوات الأساسية، استنادًا إلى إصدار Windows:
- v4.x - Windows 64-bit (موصى به. يتطلب تصحيح أخطاء Visual Studio Code 64 بت.)
- v4.x - Windows 32-بت
إذا كنت قد استخدمت مثبت Windows (MSI) مسبقا لتثبيت Core Tools على Windows، فيجب إلغاء تثبيت الإصدار القديم من إضافة إزالة البرامج قبل تثبيت أحدث إصدار.
func --version
استخدم الأمر للتأكد من أن إصدار Core Tools الخاص بك هو على الأقل 4.0.5530
.
إنشاء وتنشيط البيئة الظاهرية
في مجلد مناسب، شغل الأوامر التالية لإنشاء وتنشيط بيئة ظاهرية باسم .venv
. تأكد من أنك تستخدم إصدار Python مدعوما من Azure Functions.
python -m venv .venv
source .venv/bin/activate
إذا لم يثبت Python حزمة venv على توزيع Linux الخاص بك، فشغل الأمر التالي:
sudo apt-get install python3-venv
شغل جميع الأوامر اللاحقة في هذه البيئة الافتراضية النشطة.
إنشاء دالة محلية
في Azure Functions، يُعد مشروع الدوال حاوية لدالة فردية واحدة أو أكثر يستجيب كل منها لمشغل معين. تشترك جميع الدوال في المشروع في نفس التكوينات المحلية والاستضافة.
في هذا القسم، يمكنك إنشاء مشروع دالة وإضافة دالة مشغلة HTTP.
func init
قم بتشغيل الأمر كما يلي لإنشاء مشروع وظائف Python v2 في البيئة الظاهرية.func init --python
تحتوي البيئة الآن على ملفات مختلفة للمشروع، بما في ذلك ملفات التكوين المسماة local.settings.json host.json. ونظراً لاحتواء ملفات local.settings.json على الأسرار التي تم تنزيلها من Azure، يُستبعد الملف من التحكم في المصدر افتراضيا في ملف .gitignore.
إضافة دالة إلى المشروع باستخدام الأمر التالي حيث
--name
الوسيطة هي الاسم الفريد للدالة (HttpExample)--template
والوسيطة تحدد مشغل الدالة (HTTP).func new --name HttpExample --template "HTTP trigger" --authlevel "anonymous"
إذا تمت مطالبتك، فاختر الخيار ANONYMOUS .
func new
يضيف نقطة نهاية مشغل HTTP المسماةHttpExample
إلىfunction_app.py
الملف، والتي يمكن الوصول إليها دون مصادقة.
تشغيل الدالة محليًا
شغل الدالة عن طريق بدء تشغيل مضيف وقت تشغيل دوال Azure المحلي من المجلد LocalFunctionProj.
func start
قرب نهاية الإخراج، يجب أن تظهر الأسطر التالية:
إشعار
إذا لم يظهر HttpExample كما هو موضح أعلاه، فمن المحتمل أن تكون قد بدأت المضيف من خارج المجلد الجذر للمشروع. في هذه الحالة، استخدم Ctrl+C لإيقاف المضيف، انتقل إلى المجلد الجذر للمشروع، وتشغيل الأمر السابق مرة أخرى.
انسخ عنوان URL لدالة HTTP من هذا الإخراج إلى مستعرض وألحق سلسلة
?name=<YOUR_NAME>
الاستعلام ، مما يجعل عنوان URL الكامل مثلhttp://localhost:7071/api/HttpExample?name=Functions
. يجب أن يعرض المستعرض رسالة استجابة التي تعكس قيمة سلسلة الاستعلام. تُظهر المحطة الطرفية التي بدأت فيها مشروعك أيضًا إخراج السجل أثناء تقديم الطلبات.عند الانتهاء، اضغط على Ctrl + C واكتب
y
لإيقاف مضيف الوظائف.
إنشاء موارد Azure الداعمة للدالة
قبل أن تتمكن من نشر رمز دالتك على Azure، تحتاج إلى إنشاء ثلاثة موارد:
- مجموعة الموارد عبارة عن حاوية منطقية للموارد.
- حساب التخزين، يحتفظ بحالة ومعلومات أخرى حول مشاريعك.
- تطبيق الوظيفة، الذي يوفر البيئة لتنفيذ التعليمة البرمجية للوظيفة. يقوم تطبيق الدالة بالتعيين إلى مشروع الدالة المحلي الخاص بك ويسمح لك بتجميع الدالات الخاصة بك كوحدة منطقية لتيسير إدارة الموارد، ونشرها، ومشاركتها.
استخدم الأوامر التالية لإنشاء هذه العناصر. كل من Azure CLI وPowerShell مدعوم.
إذا لزم الأمر، فسجل الدخول إلى Azure.
az login
az login
يسجل لك الأمر الدخول إلى حساب Azure الخاص بك.إنشاء مجموعة موارد تسمى
AzureFunctionsQuickstart-rg
في المنطقة التي اخترتها.az group create --name AzureFunctionsQuickstart-rg --location <REGION>
ينشئ الأمر az group create مجموعة موارد. في الأمر أعلاه، استبدل
<REGION>
بمنطقة قريبة منك، باستخدام رمز منطقة متاح يتم إرجاعه من الأمر az account list-locations.إشعار
لا يمكنك استضافة تطبيقات Linux وWindows في مجموعة الموارد ذاتها. إذا كان لديك مجموعة موارد موجودة مسماة
AzureFunctionsQuickstart-rg
بتطبيق وظائف Windows أو تطبيق ويب، فيجب عليك استخدام مجموعة موارد مختلفة.قم بإنشاء حساب تخزين للأغراض العامة في resourceGroup والمنطقة الخاصة بك.
az storage account create --name <STORAGE_NAME> --location <REGION> --resource-group AzureFunctionsQuickstart-rg --sku Standard_LRS
يقوم أمر إنشاء حساب التخزين azبإنشاء حساب التخزين.
في المثال السابق، استبدل
<STORAGE_NAME>
مستخدمًا اسمًا مناسبًا لك وفريدًا في Azure Storage. يجب أن تحتوي الأسماء على 3 إلى 24 حرفًا من الأرقام والأحرف الصغيرة فقط. يحددStandard_LRS
حساب للأغراض العامة، مدعوم من قبل الدالات.لا يتكبد حساب التخزين سوى بضعة سنتات (بالدولار الأمريكي) لهذا التشغيل السريع.
إنشاء تطبيق الدالة في Azure.
az functionapp create --resource-group AzureFunctionsQuickstart-rg --consumption-plan-location westeurope --runtime python --runtime-version <PYTHON_VERSION> --functions-version 4 --name <APP_NAME> --os-type linux --storage-account <STORAGE_NAME>
ينشئ الأمر az functionapp create تطبيق الدالة في Azure. يجب توفير
--os-type linux
لأن وظائف Python تعمل فقط على Linux.في المثال السابق، استبدل
<APP_NAME>
باسم فريد عالميًّا يناسبك.<APP_NAME>
وهو أيضا المجال الفرعي الافتراضي لتطبيق الوظائف. تأكد من أن القيمة التي قمت بتعيينها لإصدار<PYTHON_VERSION>
معتمد من قبل Functions وهو نفس الإصدار الذي استخدمته أثناء التطوير المحلي.ينشئ هذا الأمر تطبيق الدالة الذي يتم تشغيله في وقت تشغيل لغتك المحددة ضمن خطة استهلاك دوال Azure وهي خطة مجانية لتحديد قيمة الاستخدام الذي تتحمله هنا. يقوم الأمر أيضا بإنشاء مثيل Azure Application Insights مقترن في نفس مجموعة الموارد، والتي يمكنك من خلالها مراقبة تطبيق الوظائف وعرض السجلات. للمزيد من المعلومات، راجع مراقبة دوال Azure. لا يتحمل المثيل أي تكاليف حتى تقوم بتنشيطه.
انشر مشروع الوظيفة في Azure
بعد إنشاء تطبيق الوظائف بنجاح في Azure، تصبح الآن جاهزا لنشر مشروع الوظائف المحلية باستخدام func azure functionapp publish
الأمر .
في مجلد المشروع الجذر، قم بتشغيل هذا func azure functionapp publish
الأمر:
func azure functionapp publish <APP_NAME>
في هذا المثال، استبدل <APP_NAME>
باسم تطبيقك. يظهر التوزيع الناجح نتائج مشابهة للإخراج التالي (مقتطع للتبسيط):
... Getting site publishing info... Creating archive for current directory... Performing remote build for functions project. ... Deployment successful. Remote build succeeded! Syncing triggers... Functions in msdocs-azurefunctions-qs: HttpExample - [httpTrigger] Invoke url: https://msdocs-azurefunctions-qs.azurewebsites.net/api/httpexample
استدعاء الدالة في Azure
لأن الوظيفة تستخدم مشغل HTTP، يمكنك استدعاؤها عن طريق إجراء طلب HTTP إلى عنوان URL الخاص به في المتصفح أو باستخدام أداة مثل curl.
انسخ عنوان URL للاستدعاء الكامل الموضح في إخراج publish
الأمر في شريط عنوان المستعرض، مع إلحاق معلمة ?name=Functions
الاستعلام . يجب أن يعرض المتصفح نتيجة مشابهة كما هو الحال عند تشغيل الدالة محلياً.
تنظيف الموارد
إذا تابعت إلى الخطوة التالية وأضفت ربط ناتج قائمة انتظار Azure Storage، فاحتفظ بجميع مواردك في مكانها حيث ستبني على ما قمت به بالفعل.
وإلا، استخدم الأمر التالي لحذف مجموعة الموارد، وجميع الموارد الموجودة فيها لتجنب تكبد المزيد من التكاليف.
az group delete --name AzureFunctionsQuickstart-rg
الخطوات التالية
هل تواجه مشكلات في هذه المقالة؟