التشغيل السريع: إنشاء دالة بلغة بايثون في Azure من سطر الأوامر

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

تستخدم هذه المقالة نموذج برمجة Python v2 ل Azure Functions، والذي يوفر نهجا يستند إلى مصمم الديكور لإنشاء الوظائف. لمعرفة المزيد حول نموذج برمجة Python v2، راجع الدليل المرجعي للمطور

يتطلب إكمال هذا التشغيل السريع تكلفة صغيرة تبلغ بضعة سنتات أمريكية أو أقل في حساب Azure الخاص بك.

يوجد أيضًا إصدار مستند إلى Visual Studio Code من هذه المقالة.

تكوين البيئة المحلية الخاصة بك

قبل أن تبدأ، يجب أن تتوفر لديك المتطلبات التالية:

تثبيت الأدوات الأساسية لوظائف Azure

تعتمد الطريقة الموصى بها لتثبيت Core Tools على نظام تشغيل كمبيوتر التطوير المحلي.

الخطوات التالية استخدام مثبت Windows (MSI) لتثبيت أدوات الأساسية v4.x. لمزيدٍ من المعلومات حول المثبتات الأخرى المستندة إلى الحزمة، راجع الملف الأساسي أدوات القراءة.

قم بتنزيل وتشغيل مثبت الأدوات الأساسية، استنادًا إلى إصدار Windows:

إذا كنت قد استخدمت مثبت 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.

  1. func init قم بتشغيل الأمر كما يلي لإنشاء مشروع وظائف Python v2 في البيئة الظاهرية.

    func init --python
    

    تحتوي البيئة الآن على ملفات مختلفة للمشروع، بما في ذلك ملفات التكوين المسماة local.settings.json host.json. ونظراً لاحتواء ملفات local.settings.json على الأسرار التي تم تنزيلها من Azure، يُستبعد الملف من التحكم في المصدر افتراضيا في ملف .gitignore.

  2. إضافة دالة إلى المشروع باستخدام الأمر التالي حيث --name الوسيطة هي الاسم الفريد للدالة (HttpExample) --template والوسيطة تحدد مشغل الدالة (HTTP).

    func new --name HttpExample --template "HTTP trigger" --authlevel "anonymous"
    

    إذا تمت مطالبتك، فاختر الخيار ANONYMOUS . func new يضيف نقطة نهاية مشغل HTTP المسماة HttpExample إلى function_app.py الملف، والتي يمكن الوصول إليها دون مصادقة.

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

  1. شغل الدالة عن طريق بدء تشغيل مضيف وقت تشغيل دوال Azure المحلي من المجلد LocalFunctionProj.

    func start
    

    قرب نهاية الإخراج، يجب أن تظهر الأسطر التالية:

    لقطة شاشة لإخراج نافذة المحطة الطرفية عند تشغيل الدالة محليا.

    إشعار

    إذا لم يظهر HttpExample كما هو موضح أعلاه، فمن المحتمل أن تكون قد بدأت المضيف من خارج المجلد الجذر للمشروع. في هذه الحالة، استخدم Ctrl+C لإيقاف المضيف، انتقل إلى المجلد الجذر للمشروع، وتشغيل الأمر السابق مرة أخرى.

  2. انسخ عنوان URL لدالة HTTP من هذا الإخراج إلى مستعرض وألحق سلسلة ?name=<YOUR_NAME>الاستعلام ، مما يجعل عنوان URL الكامل مثل http://localhost:7071/api/HttpExample?name=Functions. يجب أن يعرض المستعرض رسالة استجابة التي تعكس قيمة سلسلة الاستعلام. تُظهر المحطة الطرفية التي بدأت فيها مشروعك أيضًا إخراج السجل أثناء تقديم الطلبات.

  3. عند الانتهاء، اضغط على Ctrl + C واكتب y لإيقاف مضيف الوظائف.

إنشاء موارد Azure الداعمة للدالة

قبل أن تتمكن من نشر رمز دالتك على Azure، تحتاج إلى إنشاء ثلاثة موارد:

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

استخدم الأوامر التالية لإنشاء هذه العناصر. كل من Azure CLI وPowerShell مدعوم.

  1. إذا لزم الأمر، فسجل الدخول إلى Azure.

    az login
    

    az login يسجل لك الأمر الدخول إلى حساب Azure الخاص بك.

  2. إنشاء مجموعة موارد تسمى AzureFunctionsQuickstart-rg في المنطقة التي اخترتها.

    az group create --name AzureFunctionsQuickstart-rg --location <REGION>
    

    ينشئ الأمر az group create مجموعة موارد. في الأمر أعلاه، استبدل <REGION> بمنطقة قريبة منك، باستخدام رمز منطقة متاح يتم إرجاعه من الأمر az account list-locations.

    إشعار

    لا يمكنك استضافة تطبيقات Linux وWindows في مجموعة الموارد ذاتها. إذا كان لديك مجموعة موارد موجودة مسماة AzureFunctionsQuickstart-rg بتطبيق وظائف Windows أو تطبيق ويب، فيجب عليك استخدام مجموعة موارد مختلفة.

  3. قم بإنشاء حساب تخزين للأغراض العامة في 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 حساب للأغراض العامة، مدعوم من قبل الدالات.

    لا يتكبد حساب التخزين سوى بضعة سنتات (بالدولار الأمريكي) لهذا التشغيل السريع.

  4. إنشاء تطبيق الدالة في 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

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

هل تواجه مشكلات في هذه المقالة؟