تأكد من أن حساب التخزين لديه حق الوصول إلى المستوى العام أو استخدم SAS URI مع امتياز القراءة، حيث تفشل مستويات التقييد الأخرى في عمليات النشر. يمكنك استخدام Storage Explorer لإنشاء عنوان SAS URI بسرعة إذا لم يكن لديك واحد بالفعل.
إذا كنت تستخدم PowerShell، فيجب أن تستخدم الإصدار 3.11.0 من الوحدة Az.Storage.
- انتقل إلى مدخل Azure، ثم ابحث عن Azure Compute Galleryوحدده.
- حدد المعرض الذي تريد استخدامه من القائمة.
- في صفحة المعرض، حدد إضافة من أعلى الصفحة، ثم حدد تعريف تطبيق جهاز ظاهري من القائمة المنسدلة. تفتح صفحة Create a VM application definition .
- في علامة التبويب أساسيات، أدخل اسمًا للتطبيق واختر ما إذا كان التطبيق للأجهزة الظاهرية التي تعمل بنظام التشغيل Linux أو Windows.
- حدد علامة التبويب خيارات النشر إذا كنت تريد تحديد أي من الإعدادات الاختيارية التالية لتعريف تطبيق الجهاز الظاهري:
- وصف لتعريف تطبيق الجهاز الظاهري.
- تاريخ انتهاء العمر
- ارتباط باتفاقية ترخيص المستخدم النهائي (EULA)
- URI لبيان الخصوصية
- URI لملاحظات حول الإصدار
- عندما تنتهي، حدد "Review + create".
- عند اكتمال التحقق من الصحة، حدد إنشاء لتوزيع التعريف.
- بمجرد اكتمال النشر، حدد انتقال إلى المورد.
- في صفحة التطبيق، حدد إنشاء إصدار تطبيق جهاز ظاهري. تفتح صفحة Create a VM Application Version .
- أدخل رقم إصدار مثل 1.0.0.
- حدد المنطقة التي يتم فيها تحميل حزم التطبيقات الخاصة بك.
- ضمن حزمة التطبيق المصدر، حدد استعراض. حدد حساب التخزين، ثم الحاوية التي توجد بها الحزمة. حدد الحزمة من القائمة ثم حدد تحديد عند الانتهاء. بدلاً من ذلك، يمكنك لصق SAS URI في هذا الحقل إذا كان مفضلاً.
- قم بتوفير "تثبيت البرنامج النصي". يمكنك أيضا توفير "البرنامج النصي لإلغاء التثبيت" و"تحديث البرنامج النصي". راجع نظرة عامة للحصول على معلومات حول كيفية إنشاء البرامج النصية.
- إذا كان لديك ملف تكوين افتراضي تم تحميله إلى حساب تخزين، فيمكنك تحديده في التكوين الافتراضي.
- حدد استبعاد من الأحدث إذا كنت لا تريد أن يظهر هذا الإصدار كأحدث إصدار عند إنشاء جهاز ظاهري.
- بالنسبة لتاريخ نهاية دورة الحياة، اختر تاريخًا في المستقبل لتعقب متى يجب إيقاف هذا الإصدار. لا يتم حذفه أو إزالته تلقائياً، بل هو فقط للتعقب الخاص بك.
- لنسخ هذا الإصدار نسخا متماثلا إلى مناطق أخرى، حدد علامة التبويب النسخ المتماثل ، وأضف المزيد من المناطق، وأدخل تغييرات على عدد النسخ المتماثلة لكل منطقة. يجب أن تكون المنطقة الأصلية التي تم إنشاء الإصدار الخاص بك فيها في القائمة ولا يمكن إزالتها.
- عند الانتهاء من إجراء التغييرات، حدد مراجعة + إنشاء في أسفل الصفحة.
- عندما يظهر التحقق من الصحة على أنه تم تمريره، حدد إنشاء لتوزيع إصدار تطبيق جهاز ظاهري خاص بك.
إنشاء تعريف تطبيق الجهاز الظاهري باستخدام New-AzGalleryApplication
. في هذا المثال، نقوم بإنشاء تطبيق Linux يسمى myApp في myGallery Azure Compute Gallery وفي مجموعة موارد myGallery . استبدل قيم المتغيرات حسب الحاجة.
$galleryName = "myGallery"
$rgName = "myResourceGroup"
$applicationName = "myApp"
$description = "Backend Linux application for finance."
New-AzGalleryApplication `
-ResourceGroupName $rgName `
-GalleryName $galleryName `
-Location "East US" `
-Name $applicationName `
-SupportedOSType Linux `
-Description $description
إنشاء إصدار من تطبيق الجهاز الظاهري الخاص بك باستخدام New-AzGalleryApplicationVersion
. الأحرف المسموح بها للإصدار هي الأرقام والنقاط. يجب أن تكون الأرقام ضمن نطاق عدد صحيح 32 بت. التنسيق: MajorVersion.MinorVersion.Patch.
في هذا المثال، نقوم بإنشاء رقم الإصدار 1.0.0. استبدل قيم المتغيرات حسب الحاجة.
$galleryName = "myGallery"
$rgName = "myResourceGroup"
$applicationName = "myApp"
$version = "1.0.0"
New-AzGalleryApplicationVersion `
-ResourceGroupName $rgName `
-GalleryName $galleryName `
-GalleryApplicationName $applicationName `
-Name $version `
-PackageFileLink "https://<storage account name>.blob.core.windows.net/<container name>/<filename>" `
-DefaultConfigFileLink "https://<storage account name>.blob.core.windows.net/<container name>/<filename>" `
-Location "East US" `
-Install "mv myApp .\myApp\myApp" `
-Remove "rm .\myApp\myApp" `
تتطلب تطبيقات الجهاز الظاهري إصدار 2.30.0 أو أحدث من Azure CLI.
إنشاء تعريف تطبيق الجهاز الظاهري باستخدام "az sig gallery-application create". في هذا المثال، نقوم بإنشاء تعريف تطبيق VM يسمى myApp للأجهزة الظاهرية المستندة إلى Linux.
az sig gallery-application create \
--application-name myApp \
--gallery-name myGallery \
--resource-group myResourceGroup \
--os-type Linux \
--location "East US"
إنشاء إصدار تطبيق VM باستخدام "az sig gallery-application version create". الأحرف المسموح بها للإصدار هي الأرقام والنقاط. يجب أن تكون الأرقام ضمن نطاق عدد صحيح 32 بت. التنسيق: MajorVersion.MinorVersion.Patch.
استبدل قيم المعلمات بقيمك الخاصة.
az sig gallery-application version create \
--version-name 1.0.0 \
--application-name myApp \
--gallery-name myGallery \
--location "East US" \
--resource-group myResourceGroup \
--package-file-link "https://<storage account name>.blob.core.windows.net/<container name>/<filename>" \
--install-command "mv myApp .\myApp\myApp" \
--remove-command "rm .\myApp\myApp" \
--update-command "mv myApp .\myApp\myApp" \
--default-configuration-file-link "https://<storage account name>.blob.core.windows.net/<container name>/<filename>"\
إنشاء تعريف تطبيق الجهاز الظاهري باستخدام "إنشاء واجهة برمجة تطبيقات تطبيق المعرض"
PUT
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{applicationName}?api-version=2024-03-03
{
"location": "West US",
"name": "myApp",
"properties": {
"supportedOSType": "Windows | Linux",
"endOfLifeDate": "2020-01-01",
"description": "Description of the App",
"eula": "Link to End-User License Agreement (EULA)",
"privacyStatementUri": "Link to privacy statement for the application",
"releaseNoteUri": "Link to release notes for the application"
}
}
اسم الحقل |
الوصف |
القيود |
الاسم |
اسم فريد لتطبيق الجهاز الظاهري داخل المعرض. |
الحد الأقصى للطول هو 117 حرفًا. الأحرف المسموح بها هي أحرف كبيرة أو صغيرة، أرقام، واصلة (-)، نقطة (.)، شرطة سفلية (_). الأسماء غير المسموح لها أن تنتهي بنقطة (.). |
نوع نظام التشغيل المدعوم |
تعريف نوع نظام التشغيل المدعوم. |
"Windows" أو "Linux" |
endOfLifeDate |
تاريخ نهاية دورة الحياة الافتراضية المستقبلية للتطبيق. التاريخ مخصص للرجوع إليه فقط ولا يتم فرضه. |
تاريخ مستقبلي صالح |
وصف |
اختياري. وصف التطبيق. |
|
eula |
اختياري. الإشارة إلى اتفاقية ترخيص End-User (EULA). |
|
privacyStatementUri |
اختياري. الرجوع إلى بيان الخصوصية للتطبيق. |
|
releaseNoteUri |
اختياري. مرجع إلى ملاحظات الإصدار للتطبيق. |
|
إنشاء إصدار تطبيق VM باستخدام "إنشاء واجهة برمجة تطبيقات إصدار تطبيق المعرض".
PUT
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{applicationName}/versions/{versionName}?api-version=2024-03-03
{
"location": "$location",
"properties": {
"publishingProfile": {
"source": {
"mediaLink": "$mediaLink",
"defaultConfigurationLink": "$configLink"
},
"manageActions": {
"install": "echo installed",
"remove": "echo removed",
"update": "echo update"
},
"targetRegions": [
{
"name": "West US",
"regionalReplicaCount": 1
},
{
"name": "East US"
}
]
"endofLifeDate": "datetime",
"replicaCount": 1,
"excludeFromLatest": false,
"storageAccountType": "PremiumV2_LRS | Premium_LRS | Standard_LRS | Standard_ZRS"
"safetyProfile": {
"allowDeletionOfReplicatedLocations": false
}
"settings": {
"scriptBehaviorAfterReboot": "None | Rerun",
"configFileName": "$appConfigFileName",
"packageFileName": "$appPackageFileName"
}
}
}
اسم الحقل |
الوصف |
القيود |
مكان |
موقع المصدر لإصدار تطبيق الجهاز الظاهري. |
منطقة Azure صالحة |
mediaLink |
عنوان URL الذي يحتوي على حزمة إصدار التطبيق. |
عنوان URL صالح وموجود للتخزين |
ارتباط التكوين الافتراضي |
اختياري. عنوان URL الذي يحتوي على التكوين الافتراضي، والذي قد يتم تجاوزه في وقت التوزيع. |
عنوان URL صالح وموجود للتخزين |
تثبيت |
الأمر لتثبيت التطبيق. |
أمر صالح لنظام التشغيل المحدد |
إزالة |
الأمر لإزالة التطبيق. |
أمر صالح لنظام التشغيل المحدد |
تحديث |
اختياري. الأمر الخاص بتحديث التطبيق. إذا لم يتم تحديده وكان التحديث مطلوبا، تتم إزالة الإصدار القديم وتثبيت الإصدار الجديد. |
أمر صالح لنظام التشغيل المحدد |
targetRegions/name |
اسم المنطقة التي سيتم إجراء النسخ المتماثل لها. |
التحقق من صحة منطقة Azure |
targetRegions/regionalReplicaCount |
اختياري. عدد النسخ المتماثلة في المنطقة المراد إنشاؤها. تعود الإعدادات الافتراضية على 1. |
عدد صحيح بين 1 و3 شامل |
عدد النسخ المتماثلة |
اختياري. يحدد عدد النسخ المتماثلة عبر كل منطقة. يدخل حيز التنفيذ إذا لم يتم تعريف regionalReplicaCount. |
عدد صحيح بين 1 و3 شامل |
endOfLifeDate |
تاريخ نهاية دورة الحياة الافتراضية المستقبلية لإصدار التطبيق. هذه الخاصية مخصصة لمرجع العميل فقط ولا يتم فرضها. |
تاريخ مستقبلي صالح |
نوع حساب التخزين |
اختياري. نوع حساب التخزين الذي يجب استخدامه في كل منطقة لتخزين حزمة التطبيق. الإعدادات الافتراضية Standard_LRS. |
هذه الخاصية غير قابلة للنسخ. |
allowDeletionOfReplicatedLocations |
اختياري. يشير إلى ما إذا كان مسموحا بإزالة إصدار صورة المعرض هذا من المناطق المنسوخة نسخا متماثلا أم لا. |
|
الإعدادات/البرنامج النصيBehaviorAfterReboot |
اختياري. الإجراء الذي سيتم اتخاذه لتثبيت تطبيق المعرض أو تحديثه أو إزالته بعد إعادة تشغيل الجهاز الظاهري. |
|
settings/configFileName |
اختياري. اسم تعيين ملف الحزمة الذي تم تنزيله على الجهاز الظاهري. إذا لم يتم تحديده، تتم تسمية ملف الحزمة بنفس اسم تطبيق المعرض. |
يقتصر هذا على 4096 حرفا. |
settings/packageFileName |
اختياري. اسم لتعيين ملف التكوين الذي تم تنزيله على الجهاز الظاهري. إذا لم يتم تحديد ملف التكوين باسم اسم تطبيق المعرض الملحق ب "_config". |
يقتصر هذا على 4096 حرفا. |
يمكنك الآن إنشاء جهاز ظاهري وتوزيع تطبيق جهاز ظاهري عليه باستخدام المدخل. ما عليك سوى إنشاء الجهاز الظاهري كالمعتاد، وضمن علامة التبويب خيارات متقدمة، اختر تحديد تطبيق جهاز ظاهري لتثبيته.
حدد تطبيق الجهاز الظاهري من القائمة ثم حدد حفظ في أسفل الصفحة.
إذا كان لديك أكثر من تطبيق جهاز ظاهري واحد لتثبيته، فيمكنك تعيين ترتيب التثبيت لكل تطبيق جهاز ظاهري مرة أخرى في علامة التبويب خيارات متقدمة.
يمكنك أيضاً توزيع تطبيق الجهاز الظاهري إلى الأجهزة الظاهرية قيد التشغيل حالياً. حدد الخيار ملحقات + تطبيقات ضمن إعدادات في القائمة اليسرى عند عرض تفاصيل الجهاز الظاهري في المدخل.
اختر تطبيقات الجهاز الظاهري ثم حدد إضافة تطبيق لإضافة تطبيق الجهاز الظاهري الخاص بك.
حدد تطبيق الجهاز الظاهري من القائمة ثم حدد حفظ في أسفل الصفحة.
قم بتعيين تطبيق VM إلى جهاز ظاهري موجود باستخدام "az vm application set" واستبدل قيم المعلمات بقيمة خاصة بك.
az vm application set \
--resource-group myResourceGroup \
--name myVM \
--app-version-ids /subscriptions/{subID}/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/galleries/myGallery/applications/myApp/versions/1.0.0 \
--treat-deployment-as-failure true
لتعيين تطبيقات متعددة على جهاز ظاهري:
az vm application set \
--resource-group myResourceGroup \
--name myVM \
--app-version-ids /subscriptions/{subId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGallery/applications/myApp/versions/1.0.0 /subscriptions/{subId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGallery/applications/myApp2/versions/1.0.1 \
--treat-deployment-as-failure true true
لإضافة تطبيق إلى مجموعة مقياس الجهاز الظاهري، استخدم "az vmss application set":
az vmss application set \
--resource-group myResourceGroup \
--name myVmss \
--app-version-ids /subscriptions/{subId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGallery/applications/myApp/versions/1.0.0 \
--treat-deployment-as-failure true
لإضافة تطبيقات متعددة إلى مجموعة مقياس الجهاز الظاهري:
az vmss application set \
--resource-group myResourceGroup \
--name myVmss
--app-version-ids /subscriptions/{subId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGallery/applications/myApp/versions/1.0.0 /subscriptions/{subId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGallery/applications/myApp2/versions/1.0.0 \
--treat-deployment-as-failure true
لإضافة التطبيق إلى جهاز ظاهري موجود، احصل على إصدار التطبيق واستخدمه للحصول على معرف إصدار تطبيق الجهاز الظاهري. استخدم المعرف لإضافة التطبيق إلى تكوين الجهاز الظاهري.
$galleryName = "myGallery"
$rgName = "myResourceGroup"
$applicationName = "myApp"
$version = "1.0.0"
$vmName = "myVM"
$vm = Get-AzVM -ResourceGroupName $rgname -Name $vmName
$appVersion = Get-AzGalleryApplicationVersion `
-GalleryApplicationName $applicationName `
-GalleryName $galleryName `
-Name $version `
-ResourceGroupName $rgName
$packageId = $appVersion.Id
$app = New-AzVmGalleryApplication -PackageReferenceId $packageId
Add-AzVmGalleryApplication -VM $vm -GalleryApplication $app -TreatFailureAsDeploymentFailure true
Update-AzVM -ResourceGroupName $rgName -VM $vm
لإضافة التطبيق إلى مجموعة مقياس الجهاز الظاهري:
$vmss = Get-AzVmss -ResourceGroupName $rgname -Name $vmssName
$appVersion = Get-AzGalleryApplicationVersion `
-GalleryApplicationName $applicationName `
-GalleryName $galleryName `
-Name $version `
-ResourceGroupName $rgName
$packageId = $appVersion.Id
$app = New-AzVmssGalleryApplication -PackageReferenceId $packageId
Add-AzVmssGalleryApplication -VirtualMachineScaleSetVM $vmss.VirtualMachineProfile -GalleryApplication $app
Update-AzVmss -ResourceGroupName $rgName -VirtualMachineScaleSet $vmss -VMScaleSetName $vmssName
لإضافة إصدار تطبيق جهاز ظاهري إلى جهاز ظاهري، قم بإجراء PUT على الجهاز الظاهري.
PUT
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{VMName}?api-version=2024-03-03
{
"properties": {
"applicationProfile": {
"galleryApplications": [
{
"order": 1,
"packageReferenceId": "/subscriptions/{subscriptionId}/resourceGroups/<resource group>/providers/Microsoft.Compute/galleries/{gallery name}/applications/{application name}/versions/{version | latest}",
"configurationReference": "{path to configuration storage blob}",
"treatFailureAsDeploymentFailure": false
}
]
}
},
"name": "{vm name}",
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resource group}/providers/Microsoft.Compute/virtualMachines/{vm name}",
"location": "{vm location}"
}
لتطبيق تطبيق جهاز ظاهري على مجموعة مقاييس موحدة:
PUT
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMSSName}?api-version=2024-03-03
{
"properties": {
"virtualMachineProfile": {
"applicationProfile": {
"galleryApplications": [
{
"order": 1,
"packageReferenceId": "/subscriptions/{subscriptionId}/resourceGroups/<resource group>/providers/Microsoft.Compute/galleries/{gallery name}/applications/{application name}/versions/{version | latest}",
"configurationReference": "{path to configuration storage blob}",
"treatFailureAsDeploymentFailure": false
}
]
}
}
},
"name": "{vm name}",
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resource group}/providers/Microsoft.Compute/virtualMachines/{vm name}",
"location": "{vm location}"
}
اسم الحقل |
الوصف |
القيود |
الترتيب |
اختياري. الترتيب الذي ينبغي أن توزع به التطبيقات. |
التحقق من صحة العدد الصحيح |
packageReferenceId |
مرجع إلى إصدار تطبيق المعرض. استخدم الكلمة الأساسية "الأحدث" للإصدار لتثبيت أحدث إصدار متوفر تلقائيا. |
مرجع إصدار تطبيق صالح |
مرجع التكوين |
اختياري. عنوان URL الكامل لكائن ثنائي كبير الحجم للتخزين يحتوي على تكوين هذا التوزيع. يتجاوز هذا أي قيمة تم توفيرها للتكوين الافتراضي سابقا. |
مرجع كائن ثنائي كبير الحجم لتخزين صالح |
treatFailureAsDeploymentFailure |
اختياري. عند التمكين، يؤدي فشل نشر التطبيق إلى الإبلاغ عن حالة توفير الجهاز الظاهري. |
صواب أو خطأ |
يمكن استخدام حقل الترتيب لتحديد التبعيات بين التطبيقات. قواعد الطلب هي كما يلي:
حالة |
معنى التثبيت |
معنى الفشل |
لم يتم تحديد أي ترتيب |
يتم تثبيت التطبيقات غير المرتبة بعد التطبيقات المرتبة. لا يوجد ضمان لأمر التثبيت بين التطبيقات غير المرتبة. |
لا يؤثر فشل تثبيت التطبيقات الأخرى، سواء كانت مرتبة أو غير مرتبة، على تثبيت التطبيقات غير المرتبة. |
تكرار قيم الترتيب |
يتم تثبيت التطبيق بأي ترتيب مقارنة بالتطبيقات الأخرى بنفس الترتيب. يتم تثبيت جميع التطبيقات من نفس الطلب بعد تلك التي مع أوامر أقل وقبل تلك التي مع أوامر أعلى. |
إذا فشل تثبيت تطبيق سابق بترتيب أقل، فلن يتم تثبيت أي تطبيقات بهذا الطلب. إذا فشل تثبيت أي تطبيق بهذا الطلب، فلن يتم تثبيت أي تطبيقات ذات ترتيب أعلى. |
زيادة الترتيبات |
سيتم تثبيت التطبيق بعد تلك التي بها طلبات أقل وقبل تلك ذات الطلبات الأعلى. |
إذا فشل تثبيت تطبيق سابق بترتيب أقل، فلن يتم تثبيت هذا التطبيق. إذا فشل هذا التطبيق في التثبيت، فلن يتم تثبيت أي تطبيق ذي ترتيب أعلى. |
تتضمن الاستجابة نموذج الجهاز الظاهري الكامل. وفيما يلي الأجزاء ذات الصلة.
{
"name": "{vm name}",
"id": "{vm id}",
"type": "Microsoft.Compute/virtualMachines",
"location": "{vm location}",
"properties": {
"applicationProfile": {
"galleryApplications": ""
},
"provisioningState": "Updating"
},
"resources": [
{
"name": "VMAppExtension",
"id": "{extension id}",
"type": "Microsoft.Compute/virtualMachines/extensions",
"location": "centraluseuap",
"properties": "@{autoUpgradeMinorVersion=True; forceUpdateTag=7c4223fc-f4ea-4179-ada8-c8a85a1399f5; provisioningState=Creating; publisher=Microsoft.CPlat.Core; type=VMApplicationManagerLinux; typeHandlerVersion=1.0; settings=}"
}
]
}
لإظهار حالة تطبيق الجهاز الظاهري، انتقل إلى علامة التبويب /إعدادات الملحقات + التطبيقات وتحقق من حالة VMAppExtension:
لإظهار حالة تطبيق الجهاز الظاهري لمجموعة التحجيم، انتقل إلى صفحة مجموعات مقياس الجهاز الظاهري لمدخل Microsoft Azure، ثم قسم المثيلات، وحدد إحدى مجموعات المقاييس المدرجة، ثم انتقل إلى VMAppExtension:
للتحقق من حالة نشر التطبيق على جهاز ظاهري، استخدم "az vm get-instance-view":
az vm get-instance-view -g myResourceGroup -n myVM --query "instanceView.extensions[?name == 'VMAppExtension']"
للتحقق من حالة نشر التطبيق على مجموعة مقياس الجهاز الظاهري، استخدم "az vmss get-instance-view":
az vmss get-instance-view --ids (az vmss list-instances -g myResourceGroup -n myVmss --query "[*].id" -o tsv) --query "[*].extensions[?name == 'VMAppExtension']"
إشعار
لا يسرد أمر حالة نشر مجموعات مقياس الجهاز الظاهري السابق معرف المثيل بالنتيجة. لإظهار معرف المثيل بحالة الملحق في كل مثيل، يلزم وجود المزيد من البرمجة النصية. راجع مثال CLI التالي الذي يحتوي على بناء جملة PowerShell:
$ids = az vmss list-instances -g myResourceGroup -n myVmss --query "[*].{id: id, instanceId: instanceId}" | ConvertFrom-Json
$ids | Foreach-Object {
$iid = $_.instanceId
Write-Output "instanceId: $iid"
az vmss get-instance-view --ids $_.id --query "extensions[?name == 'VMAppExtension']"
}
تحقق من نجاح التطبيق:
$rgName = "myResourceGroup"
$vmName = "myVM"
$result = Get-AzVM -ResourceGroupName $rgName -VMName $vmName -Status
$result.Extensions | Where-Object {$_.Name -eq "VMAppExtension"} | ConvertTo-Json
للتحقق من مجموعة مقياس الجهاز الظاهري:
$rgName = "myResourceGroup"
$vmssName = "myVMss"
$result = Get-AzVmssVM -ResourceGroupName $rgName -VMScaleSetName $vmssName -InstanceView
$resultSummary = New-Object System.Collections.ArrayList
$result | ForEach-Object {
$res = @{ instanceId = $_.InstanceId; vmappStatus = $_.InstanceView.Extensions | Where-Object {$_.Name -eq "VMAppExtension"}}
$resultSummary.Add($res) | Out-Null
}
$resultSummary | ConvertTo-Json -Depth 5
إذا لم يتم تثبيت تطبيق الجهاز الظاهري على الجهاز الظاهري، تكون القيمة فارغة.
للحصول على نتيجة عرض مثيل الجهاز الظاهري:
GET
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{VMName}/instanceView?api-version=2024-03-03
والنتيجة تبدو كما يلي:
{
...
"extensions" [
...
{
"name": "VMAppExtension",
"type": "Microsoft.CPlat.Core.VMApplicationManagerLinux",
"typeHandlerVersion": "1.0.9",
"statuses": [
{
"code": "ProvisioningState/succeeded",
"level": "Info",
"displayStatus": "Provisioning succeeded",
"message": "Enable succeeded: {\n \"CurrentState\": [\n {\n \"applicationName\": \"doNothingLinux\",\n \"version\": \"1.0.0\",\n \"result\": \"Install SUCCESS\"\n },\n {
\n \"applicationName\": \"badapplinux\",\n \"version\": \"1.0.0\",\n \"result\": \"Install FAILED Error executing command \u0027exit 1\u0027: command terminated with exit status=1\"\n }\n ],\n \"ActionsPerformed\": []\n}
"
}
]
}
...
]
}
حالة تطبيق الجهاز الظاهري في رسالة حالة نتيجة ملحق تطبيق الجهاز الظاهري في طريقة عرض المثيل.
للحصول على حالة التطبيق على مجموعة مقياس الجهاز الظاهري:
GET
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/ virtualMachineScaleSets/{VMSSName}/virtualMachines/{instanceId}/instanceView?api-version=2019-03-01
الإخراج مشابه لمثال الجهاز الظاهري سابقا.
لحذف مورد تطبيق الجهاز الظاهري، تحتاج أولا إلى حذف جميع إصداراته. يؤدي حذف إصدار التطبيق إلى حذف مورد إصدار التطبيق من Azure Compute Gallery وجميع النسخ المتماثلة الخاصة به. لا يتأثر كائن ثنائي كبير الحجم للتطبيق في حساب التخزين المستخدم لإنشاء إصدار التطبيق. بعد حذف إصدار التطبيق، إذا كان أي جهاز ظاهري يستخدم هذا الإصدار، فستفشل عملية إعادة تعيين على تلك الأجهزة الظاهرية. استخدم الكلمة الأساسية "الأحدث" كرقم إصدار في "applicationProfile" بدلا من الترميز الثابت لرقم الإصدار لمعالجة هذا الفشل.
ومع ذلك، إذا تم حذف التطبيق، فسيفشل الجهاز الظاهري أثناء عملية إعادة الإنشاء نظرا لعدم وجود إصدارات متوفرة لتثبيت Azure. يجب تحديث ملف تعريف الجهاز الظاهري لعدم استخدام تطبيق الجهاز الظاهري.
حذف إصدار تطبيق الجهاز الظاهري:
Remove-AzGalleryApplicationVersion -ResourceGroupName $rgNmae -GalleryName $galleryName -GalleryApplicationName $galleryApplicationName -Name $name
احذف تطبيق الجهاز الظاهري بعد حذف جميع إصداراته:
Remove-AzGalleryApplication -ResourceGroupName $rgNmae -GalleryName $galleryName -Name $name
حذف إصدار تطبيق الجهاز الظاهري:
az sig gallery-application version delete --resource-group $rg-name --gallery-name $gallery-name --application-name $app-name --version-name $version-name
احذف تطبيق الجهاز الظاهري بعد حذف جميع إصداراته:
az sig gallery-application delete --resource-group $rg-name --gallery-name $gallery-name --application-name $app-name
حذف إصدار تطبيق الجهاز الظاهري:
DELETE
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{galleryApplicationName}/versions/{galleryApplicationVersionName}?api-version=2024-03-03
احذف تطبيق الجهاز الظاهري بعد حذف جميع إصداراته:
DELETE
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{galleryApplicationName}?api-version=2024-03-03
الخطوات التالية
تعرف على المزيد حول تطبيقات Azure VM.