مواصفات واجهة برمجة تطبيقات قالب ARM ل Container Apps Preview
يتم تشغيل عمليات توزيع Azure Container Apps بواسطة قالب Azure Resource Manager (ARM). تدعم بعض أوامر Container Apps CLI أيضا استخدام قالب YAML لتحديد مورد.
ملاحظة
تم ترحيل موارد Azure Container Apps من Microsoft.Web مساحة الاسم إلى Microsoft.App مساحة الاسم. راجع ترحيل مساحة الاسم من Microsoft.Web إلى Microsoft.App في مارس 2022 للحصول على مزيد من التفاصيل.
بيئة تطبيقات الحاوية
تصف الجداول التالية الخصائص المتوفرة في مورد بيئة Container Apps.
المورد
يحتوي مورد تطبيق الحاوية لقالب ARM على الخصائص التالية:
| الخاصية | الوصف | نوع البيانات |
|---|---|---|
name |
اسم بيئة Container Apps. | سلسلة |
location |
منطقة Azure حيث يتم نشر بيئة Container Apps. | سلسلة |
type |
Microsoft.App/managedEnvironments – نوع مورد ARM |
سلسلة |
properties
يحتوي كائن المورد properties على الخصائص التالية:
| الخاصية | الوصف | نوع البيانات | للقراءة فقط |
|---|---|---|---|
daprAIInstrumentationKey |
مفتاح تقرير عن حالة النظام Insights التطبيق المستخدم من قبل Dapr. | سلسلة | لا |
appLogsConfiguration |
تكوين تسجيل البيئة. | العنصر | لا |
أمثلة
المثال التالي يقوم قالب ARM بنشر بيئة Container Apps.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"defaultValue": "canadacentral",
"type": "String"
},
"dapr_ai_instrumentation_key": {
"defaultValue": "",
"type": "String"
},
"environment_name": {
"defaultValue": "myenvironment",
"type": "String"
},
"log_analytics_customer_id": {
"type": "String"
},
"log_analytics_shared_key": {
"type": "SecureString"
},
"storage_account_name": {
"type": "String"
},
"storage_account_key": {
"type": "SecureString"
},
"storage_share_name": {
"type": "String"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.App/managedEnvironments",
"apiVersion": "2022-03-01",
"name": "[parameters('environment_name')]",
"location": "[parameters('location')]",
"properties": {
"daprAIInstrumentationKey": "[parameters('dapr_ai_instrumentation_key')]",
"appLogsConfiguration": {
"destination": "log-analytics",
"logAnalyticsConfiguration": {
"customerId": "[parameters('log_analytics_customer_id')]",
"sharedKey": "[parameters('log_analytics_shared_key')]"
}
}
},
"resources": [
{
"type": "storages",
"name": "myazurefiles",
"apiVersion": "2022-03-01",
"dependsOn": [
"[resourceId('Microsoft.App/managedEnvironments', parameters('environment_name'))]"
],
"properties": {
"azureFile": {
"accountName": "[parameters('storage_account_name')]",
"accountKey": "[parameters('storage_account_key')]",
"shareName": "[parameters('storage_share_name')]",
"accessMode": "ReadWrite"
}
}
}
]
}
]
}
تطبيق الحاوية
تصف الجداول التالية الخصائص المتوفرة في مورد تطبيق الحاوية.
المورد
يحتوي مورد تطبيق الحاوية لقالب ARM على الخصائص التالية:
| الخاصية | الوصف | نوع البيانات |
|---|---|---|
name |
اسم تطبيق Container Apps. | سلسلة |
location |
منطقة Azure حيث يتم نشر مثيل Container Apps. | سلسلة |
tags |
مجموعة من علامات Azure المقترنة بتطبيق الحاوية. | صفيف |
type |
Microsoft.App/containerApps – نوع مورد ARM |
سلسلة |
في هذا المثال، يمكنك وضع قيمك بدلا من الرموز المميزة للعنصر النائب محاطة بأقواس <> .
properties
يحتوي كائن المورد properties على الخصائص التالية:
| الخاصية | الوصف | نوع البيانات | للقراءة فقط |
|---|---|---|---|
provisioningState |
حالة عملية طويلة الأمد، على سبيل المثال عند إنشاء مراجعة حاوية جديدة. تتضمن القيم المحتملة: التوفير، التوفير، الفشل. تحقق مما إذا كان التطبيق قيد التشغيل. | سلسلة | نعم |
environmentId |
معرف البيئة لتطبيق الحاوية. هذه خاصية مطلوبة. | سلسلة | لا |
latestRevisionName |
اسم أحدث مراجعة. | سلسلة | نعم |
latestRevisionFqdn |
عنوان URL للمراجعة الأخيرة. | سلسلة | نعم |
environmentId تأخذ القيمة النموذج التالي:
/subscriptions/<SUBSCRIPTION_ID>/resourcegroups/<RESOURCE_GROUP_NAME>/providers/Microsoft.App/environmentId/<ENVIRONMENT_NAME>
في هذا المثال، يمكنك وضع قيمك بدلا من الرموز المميزة للعنصر النائب محاطة بأقواس <> .
properties.configuration
يحتوي كائن المورد properties.configuration على الخصائص التالية:
| الخاصية | الوصف | نوع البيانات |
|---|---|---|
activeRevisionsMode |
يؤدي الإعداد إلى single إلغاء تنشيط المراجعات القديمة تلقائيا، والاحتفاظ بأحدث المراجعة نشطة فقط. يسمح لك الإعداد بالحفاظ multiple على مراجعات متعددة. |
سلسلة |
secrets |
تعريف القيم السرية في تطبيق الحاوية. | كائن |
ingress |
الكائن الذي يحدد تكوين إمكانية وصول ذوي الاحتياجات الخاصة العامة لتطبيق حاوية. | كائن |
registries |
كائن التكوين الذي يشير إلى بيانات الاعتماد لسجلات الحاويات الخاصة. الإدخالات المعرفة بالرجوع secretref إلى كائن تكوين الأسرار. |
كائن |
dapr |
كائن التكوين الذي يحدد إعدادات Dapr لتطبيق الحاوية. | كائن |
التغييرات التي تم إجراؤها على configuration القسم هي تغييرات نطاق التطبيق، والتي لا تؤدي إلى مراجعة جديدة.
properties.template
يحتوي كائن المورد properties.template على الخصائص التالية:
| الخاصية | الوصف | نوع البيانات |
|---|---|---|
revisionSuffix |
اسم مألوف للمراجعة. يجب أن تكون هذه القيمة فريدة لأن وقت التشغيل يرفض أي تعارضات مع قيم لاحقة اسم المراجعة الموجودة. | سلسلة |
containers |
كائن التكوين الذي يحدد صور الحاوية المضمنة في تطبيق الحاوية. | كائن |
scale |
كائن التكوين الذي يحدد قواعد المقياس لتطبيق الحاوية. | كائن |
التغييرات التي تم إجراؤها على template القسم هي تغييرات نطاق المراجعة، والتي تؤدي إلى مراجعة جديدة.
أمثلة
للحصول على تفاصيل حول تحقيقات السلامة، راجع تحقيقات Heath في Azure Container Apps.
المثال التالي يقوم قالب ARM بنشر تطبيق حاوية.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"containerappName": {
"defaultValue": "mycontainerapp",
"type": "String"
},
"location": {
"defaultValue": "canadacentral",
"type": "String"
},
"environment_name": {
"defaultValue": "myenvironment",
"type": "String"
},
"container_image": {
"type": "String"
},
"registry_password": {
"type": "SecureString"
},
"storage_share_name": {
"type": "String"
}
},
"variables": {},
"resources": [
{
"apiVersion": "2022-03-01",
"type": "Microsoft.App/containerApps",
"name": "[parameters('containerappName')]",
"location": "[parameters('location')]",
"identity": {
"type": "None"
},
"properties": {
"managedEnvironmentId": "[resourceId('Microsoft.App/managedEnvironments', parameters('environment_name'))]",
"configuration": {
"secrets": [
{
"name": "mysecret",
"value": "thisismysecret"
},
{
"name": "myregistrypassword",
"value": "[parameters('registry_password')]"
}
],
"ingress": {
"external": true,
"targetPort": 80,
"allowInsecure": false,
"traffic": [
{
"latestRevision": true,
"weight": 100
}
]
},
"registries": [
{
"server": "myregistry.azurecr.io",
"username": "[parameters('containerappName')]",
"passwordSecretRef": "myregistrypassword"
}
],
"dapr": {
"appId": "[parameters('containerappName')]",
"appPort": 80,
"appProtocol": "http",
"enabled": true
}
},
"template": {
"revisionSuffix": "myrevision",
"containers": [
{
"name": "main",
"image": "[parameters('container_image')]",
"env": [
{
"name": "HTTP_PORT",
"value": "80"
},
{
"name": "SECRET_VAL",
"secretRef": "mysecret"
}
],
"resources": {
"cpu": 0.5,
"memory": "1Gi"
},
"probes":[
{
"type":"liveness",
"httpGet":{
"path":"/health",
"port":8080,
"httpHeaders":[
{
"name":"Custom-Header",
"value":"liveness probe"
}]
},
"initialDelaySeconds":7,
"periodSeconds":3
},
{
"type":"readiness",
"tcpSocket":
{
"port": 8081
},
"initialDelaySeconds": 10,
"periodSeconds": 3
},
{
"type": "startup",
"httpGet": {
"path": "/startup",
"port": 8080,
"httpHeaders": [
{
"name": "Custom-Header",
"value": "startup probe"
}]
},
"initialDelaySeconds": 3,
"periodSeconds": 3
}
],
"volumeMounts": [
{
"mountPath": "/myempty",
"volumeName": "myempty"
},
{
"mountPath": "/myfiles",
"volumeName": "azure-files-volume"
}
]
}
],
"scale": {
"minReplicas": 1,
"maxReplicas": 3
},
"volumes": [
{
"name": "myempty",
"storageType": "EmptyDir"
},
{
"name": "azure-files-volume",
"storageType": "AzureFile",
"storageName": "myazurefiles"
}
]
}
}
}
]
}