في Azure Container Apps، يمكنك تعيين متغيرات بيئة وقت التشغيل. يمكن تعيين هذه المتغيرات كإدخالات يدوية أو كمراجع للبيانات السرية.
يتم تحميل متغيرات البيئة هذه على تطبيق الحاوية أثناء وقت التشغيل.
يمكنك تكوين متغيرات البيئة عند إنشاء تطبيق الحاوية أو لاحقا عن طريق إنشاء مراجعة جديدة.
إشعار
لتجنب الارتباك، لا يوصى بتكرار متغيرات البيئة. عندما يكون لمتغيرات البيئة المتعددة نفس الاسم، يصبح الاسم الأخير في القائمة ساري المفعول.
إذا كنت تقوم بإنشاء تطبيق حاوية جديد من خلال مدخل Microsoft Azure، يمكنك إعداد متغيرات البيئة في قسم الحاوية:
يمكنك إنشاء تطبيق الحاوية الخاص بك مع متغيرات البيئة باستخدام الأمر az containerapp create عن طريق تمرير متغيرات البيئة كإدخالات 'key=value' مفصولة بمساحة باستخدام المعلمة --env-vars .
az containerapp create -n my-containerapp -g MyResourceGroup \
--image my-app:v1.0 --environment MyContainerappEnv \
--secrets mysecret=secretvalue1 anothersecret="secret value 2" \
--env-vars GREETING="Hello, world" ANOTHERENV=anotherenv
إذا كنت تريد الإشارة إلى سر، يجب عليك التأكد من إنشاء السر الذي تريد الإشارة إليه بالفعل، راجع إدارة الأسرار. يمكنك استخدام الاسم السري وتمريره إلى حقل القيمة ولكن بدءا من secretref:
az containerapp update \
-n <APP NAME>
-g <RESOURCE_GROUP_NAME>
--set-env-vars <VAR_NAME>=secretref:<SECRET_NAME>
إذا كنت ترغب في استخدام PowerShell لديك، أولا، إنشاء كائن في الذاكرة يسمى EnvironmentVar باستخدام New-AzContainerAppEnvironmentVarObject PowerShell cmdlet.
لاستخدام cmdlet هذا، يجب عليك تمرير اسم متغير البيئة باستخدام المعلمة -Name والقيمة باستخدام المعلمة -Value ، على التوالي.
$envVar = New-AzContainerAppEnvironmentVarObject -Name "envVarName" -Value "envVarvalue"
إذا كنت تريد الإشارة إلى سر، يجب عليك التأكد من إنشاء السر الذي تريد الإشارة إليه بالفعل، راجع إدارة الأسرار. يمكنك استخدام الاسم السري وتمريره إلى المعلمة -SecretRef :
$envVar = New-AzContainerAppEnvironmentVarObject -Name "envVarName" -SecretRef "secretName"
ثم عليك إنشاء كائن آخر في الذاكرة يسمى Container باستخدام New-AzContainerAppTemplateObject PowerShell cmdlet.
في cmdlet هذا، يجب عليك تمرير اسم صورة الحاوية (وليس تطبيق الحاوية!) الذي تريده باستخدام -Name المعلمة ، واسم الصورة المؤهل بالكامل باستخدام -Image المعلمة والإشارة إلى كائن البيئة الذي حددته سابقا على المتغير $envVar.
$containerTemplate = New-AzContainerAppTemplateObject -Name "container-app-name" -Image "repo/imagename:tag" -Env $envVar
إشعار
يرجى ملاحظة أن هناك إعدادات أخرى قد تحتاج إلى تعريفها داخل كائن القالب لتجنب تجاوزها مثل الموارد ووحدات تحميل وحدة التخزين وما إلى ذلك. يرجى التحقق من الوثائق الكاملة حول هذا القالب على New-AzContainerAppTemplateObject.
وأخيرا، يمكنك تحديث تطبيق الحاوية الخاص بك استنادا إلى كائن القالب الجديد الذي قمت بإنشائه باستخدام Update-AzContainerApp PowerShell cmdlet.
في cmdlet الأخير هذا، تحتاج فقط إلى تمرير كائن القالب الذي قمت بتعريفه على $containerTemplate المتغير في الخطوة السابقة باستخدام المعلمة -TemplateContainer .
Update-AzContainerApp -TemplateContainer $containerTemplate
إضافة متغيرات البيئة على تطبيقات الحاوية الموجودة
بعد إنشاء تطبيق الحاوية، فإن الطريقة الوحيدة لتحديث متغيرات بيئة تطبيق الحاوية هي إنشاء مراجعة جديدة مع التغييرات المطلوبة.
في مدخل Microsoft Azure، ابحث عن Container Apps ثم حدد تطبيقك.
في القائمة اليسرى للتطبيق، حدد المراجعات والنسخ المتماثلة > إنشاء مراجعة جديدة
ثم عليك تحرير صورة الحاوية الحالية:
في قسم Environment variables، يمكنك إضافة متغيرات بيئة جديدة بالنقر فوق Add.
ثم قم بتعيين اسم متغير البيئة والمصدر (يمكن أن يكون مرجعا إلى سر).
إذا قمت بتحديد المصدر كدليل، يمكنك إدخال قيمة متغير البيئة يدويا.
يمكنك تحديث تطبيق الحاوية الخاص بك باستخدام الأمر az containerapp update .
ينشئ هذا المثال متغير بيئة بقيمة يدوية (لا يشير إلى سر). استبدل العناصر النائبة <> بالقيم الخاصة بك.
az containerapp update \
-n <APP NAME>
-g <RESOURCE_GROUP_NAME>
--set-env-vars <VAR_NAME>=<VAR_VALUE>
إذا كنت تريد إنشاء متغيرات بيئة متعددة، يمكنك إدراج قيم مفصولة بمسافة بتنسيق "key=value".
إذا كنت تريد الإشارة إلى سر، يجب عليك التأكد من إنشاء السر الذي تريد الإشارة إليه بالفعل، راجع إدارة الأسرار. يمكنك استخدام الاسم السري وتمريره إلى حقل القيمة ولكن بدءا من secretref:، راجع المثال التالي:
az containerapp update \
-n <APP NAME>
-g <RESOURCE_GROUP_NAME>
--set-env-vars <VAR_NAME>=secretref:<SECRET_NAME>
وبالمثل ما تحتاج إلى القيام به عند إنشاء تطبيق حاوية جديد، يجب عليك إنشاء كائن يسمى EnvironmentVar، والذي يتم تضمينه داخل حاوية. ثم يتم استخدام هذه الحاوية مع New-AzContainerApp PowerShell cmdlet.
في cmdlet هذا، تحتاج فقط إلى تمرير كائن القالب الذي قمت بتعريفه مسبقا كما هو موضح في قسم تكوين متغيرات البيئة.
Update-AzContainerApp -TemplateContainer $containerTemplate
مُتغيّرات البيئة المُضمّنة
تضيف Azure Container Apps تلقائيا متغيرات البيئة التي يمكن لتطبيقاتك ووظائفك استخدامها للحصول على بيانات تعريف النظام الأساسي في وقت التشغيل.
التطبيقات
تتوفر المتغيرات التالية لتطبيقات الحاوية:
| اسم المتغير |
الوصف |
مثال للقيمة |
CONTAINER_APP_NAME |
اسم تطبيق الحاوية. |
my-containerapp |
CONTAINER_APP_REVISION |
اسم مراجعة تطبيق الحاوية. |
my-containerapp--20mh1s9 |
CONTAINER_APP_HOSTNAME |
اسم المضيف الخاص بالمراجعة لتطبيق الحاوية. |
my-containerapp--20mh1s9.<DEFAULT_HOSTNAME>.<REGION>.azurecontainerapps.io |
CONTAINER_APP_ENV_DNS_SUFFIX |
لاحقة DNS لبيئة Container Apps. للحصول على اسم المجال المؤهل بالكامل (FQDN) للتطبيق، قم بإلحاق اسم التطبيق بلاحقة DNS بالتنسيق $CONTAINER_APP_NAME.$CONTAINER_APP_ENV_DNS_SUFFIX. |
<DEFAULT_HOSTNAME>.<REGION>.azurecontainerapps.io |
CONTAINER_APP_PORT |
المنفذ الهدف لتطبيق الحاوية. |
8080 |
CONTAINER_APP_REPLICA_NAME |
اسم النسخة المتماثلة لتطبيق الحاوية. |
my-containerapp--20mh1s9-86c8c4b497-zx9bq |
المهام
تتوفر المتغيرات التالية لوظائف Container Apps:
| اسم المتغير |
الوصف |
مثال للقيمة |
CONTAINER_APP_JOB_NAME |
اسم العمل. |
my-job |
CONTAINER_APP_JOB_EXECUTION_NAME |
اسم تنفيذ المهمة. |
my-job-iwpi4il |
الخطوات التالية