البحث عن معلومات صورة Azure Marketplace باستخدام Azure CLI

ينطبق على: ✔️ أجهزة Linux الظاهرية ✔️ مجموعات المقياس المرنة

يوضح هذا الموضوع كيفية استخدام Azure CLI للبحث عن صور VM في Azure Marketplace. استخدم هذه المعلومات لتحديد صورة Marketplace عند إنشاء جهاز ظاهري برمجياً باستخدام CLI أو قوالب Resource Manager أو أدوات أخرى.

يمكنك أيضاً استعراض الصور والعروض المتوفرة باستخدام Azure Marketplace أو Azure PowerShell.

المصطلحات

تنطوي صورة Marketplace في Azure على السمات التالية:

  • الموزع: المؤسسة التي أنشأت الصورة. الأمثلة: Canonical وMicrosoftWindowsServer
  • العرض: اسم مجموعة الصور ذات الصلة التي أنشأها موزع. الأمثلة: UbuntuServer، وWindowsServer
  • وحدة SKU: مثيل أحد العروض، مثل إصدار رئيسي للتوزيع. الأمثلة: 18.04-LTSـ و2019-Datacenter
  • الإصدار: رقم إصدار SKU للصورة.

يمكن تمرير هذه القيم بشكلٍ فردي أو كصورة URN مع دمج القيم المفصولة بنقطتين (:). على سبيل المثال: الموزع: العرض:Sku:الإصدار. يمكنك استبدال رقم الإصدار في URN بالرقم latest لاستخدام أحدث نسخة من الصورة.

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

قم بتشغيل الأمر az vm image list، دون الخيار --all، لمشاهدة قائمة بالصور الشائعة للجهاز الظاهري في Azure Marketplace. على سبيل المثال، قم بتشغيل الأمر التالي لعرض قائمة مخزنة مؤقتاً بالصور الشائعة بتنسيق جدول:

az vm image list --output table

يتضمن الإخراج صورة URN. يمكنك أيضاً استخدام UrnAlias وهو نسخة مختصرة تم إنشاؤها للصور الشائعة مثل UbuntuLTS.

Offer          Publisher               Sku                 Urn                                                             UrnAlias             Version
-------------  ----------------------  ------------------  --------------------------------------------------------------  -------------------  ---------
CentOS         OpenLogic               7.5                 OpenLogic:CentOS:7.5:latest                                     CentOS               latest
CoreOS         CoreOS                  Stable              CoreOS:CoreOS:Stable:latest                                     CoreOS               latest
debian-10      Debian                  10                  Debian:debian-10:10:latest                                      Debian               latest
openSUSE-Leap  SUSE                    42.3                SUSE:openSUSE-Leap:42.3:latest                                  openSUSE-Leap        latest
RHEL           RedHat                  7-LVM               RedHat:RHEL:7-LVM:latest                                        RHEL                 latest
SLES           SUSE                    15                  SUSE:SLES:15:latest                                             SLES                 latest
UbuntuServer   Canonical               18.04-LTS           Canonical:UbuntuServer:18.04-LTS:latest                         UbuntuLTS            latest
WindowsServer  MicrosoftWindowsServer  2019-Datacenter     MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest     Win2019Datacenter    latest
WindowsServer  MicrosoftWindowsServer  2016-Datacenter     MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest     Win2016Datacenter    latest
WindowsServer  MicrosoftWindowsServer  2012-R2-Datacenter  MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest  Win2012R2Datacenter  latest
WindowsServer  MicrosoftWindowsServer  2012-Datacenter     MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest     Win2012Datacenter    latest
WindowsServer  MicrosoftWindowsServer  2008-R2-SP1         MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latest         Win2008R2SP1         latest

البحث عن صور محددة

للعثور على صورة معينة لجهاز ظاهري في Marketplace، استخدم الأمر az vm image list مع الخيار --all. يستغرق هذا الإصدار من الأمر بعض الوقت لإكماله ويمكنه إرجاع مخرجات طويلة، لذلك عادة ما تقوم بتصفية القائمة حسب --publisher أو معلمة أخرى.

على سبيل المثال، يعرض الأمر التالي جميع عروض Debian (تذكر أنه دون المفتاح --all، فإنه يبحث فقط في ذاكرة التخزين المؤقت المحلية للصور الشائعة):

az vm image list --offer Debian --all --output table 

الإخراج الجزئي:

Offer                                    Publisher                         Sku                                      Urn                                                                                                   Version
---------------------------------------  --------------------------------  ---------------------------------------  ----------------------------------------------------------------------------------------------------  --------------
apache-solr-on-debian                    apps-4-rent                       apache-solr-on-debian                    apps-4-rent:apache-solr-on-debian:apache-solr-on-debian:1.0.0                                         1.0.0
atomized-h-debian10-v1                   atomizedinc1587939464368          hdebian10plan                            atomizedinc1587939464368:atomized-h-debian10-v1:hdebian10plan:1.0.0                                   1.0.0
atomized-h-debian9-v1                    atomizedinc1587939464368          hdebian9plan                             atomizedinc1587939464368:atomized-h-debian9-v1:hdebian9plan:1.0.0                                     1.0.0
atomized-r-debian10-v1                   atomizedinc1587939464368          rdebian10plan                            atomizedinc1587939464368:atomized-r-debian10-v1:rdebian10plan:1.0.0                                   1.0.0
atomized-r-debian9-v1                    atomizedinc1587939464368          rdebian9plan                             atomizedinc1587939464368:atomized-r-debian9-v1:rdebian9plan:1.0.0                                     1.0.0
cis-debian-linux-10-l1                   center-for-internet-security-inc  cis-debian10-l1                          center-for-internet-security-inc:cis-debian-linux-10-l1:cis-debian10-l1:1.0.7                         1.0.7
cis-debian-linux-10-l1                   center-for-internet-security-inc  cis-debian10-l1                          center-for-internet-security-inc:cis-debian-linux-10-l1:cis-debian10-l1:1.0.8                         1.0.8
cis-debian-linux-10-l1                   center-for-internet-security-inc  cis-debian10-l1                          center-for-internet-security-inc:cis-debian-linux-10-l1:cis-debian10-l1:1.0.9                         1.0.9
cis-debian-linux-9-l1                    center-for-internet-security-inc  cis-debian9-l1                           center-for-internet-security-inc:cis-debian-linux-9-l1:cis-debian9-l1:1.0.18                          1.0.18
cis-debian-linux-9-l1                    center-for-internet-security-inc  cis-debian9-l1                           center-for-internet-security-inc:cis-debian-linux-9-l1:cis-debian9-l1:1.0.19                          1.0.19
cis-debian-linux-9-l1                    center-for-internet-security-inc  cis-debian9-l1                           center-for-internet-security-inc:cis-debian-linux-9-l1:cis-debian9-l1:1.0.20                          1.0.20
apache-web-server-with-debian-10         cognosys                          apache-web-server-with-debian-10         cognosys:apache-web-server-with-debian-10:apache-web-server-with-debian-10:1.2019.1008                1.2019.1008
docker-ce-with-debian-10                 cognosys                          docker-ce-with-debian-10                 cognosys:docker-ce-with-debian-10:docker-ce-with-debian-10:1.2019.0710                                1.2019.0710
Debian                                   credativ                          8                                        credativ:Debian:8:8.0.201602010                                                                       8.0.201602010
Debian                                   credativ                          8                                        credativ:Debian:8:8.0.201603020                                                                       8.0.201603020
Debian                                   credativ                          8                                        credativ:Debian:8:8.0.201604050                                                                       8.0.201604050
...

انظر إلى جميع الصور المتاحة

ثمة طريقة أخرى للعثور على صورة في أحد المواقع وهي تشغيل أوامر az vm image list-publishers وaz vm image list-offers وaz vm image list-skus بالترتيب. باستخدام هذه الأوامر، يمكنك تحديد هذه القيم:

  1. أدرج موزعي الصور لأحد المواقع. في هذا المثال، ننظر إلى منطقة غرب الولايات المتحدة .

    az vm image list-publishers --location westus --output table
    
  2. بالنسبة إلى موزع معين، أدرج عروضه. في هذا المثال، نضيف Canonical كموزع.

    az vm image list-offers --location westus --publisher Canonical --output table
    
  3. للحصول على عرض معين، قم بإدراج وحدات SKU الخاصة بهم. في هذا المثال، نضيف UbuntuServer كعرض.

    az vm image list-skus --location westus --publisher Canonical --offer UbuntuServer --output table
    
  4. بالنسبة إلى موزع معين، والعرض، ووحدة SKU، اعرض جميع إصدارات الصورة. في هذا المثال، نضيف 18.04-LTS كوحدة SKU.

    az vm image list \
        --location westus \
        --publisher Canonical \
        --offer UbuntuServer \
        --sku 18.04-LTS \
        --all --output table
    

قم بتمرير هذه القيمة لعمود URN مع المعلمة --image عند إنشاء جهاز ظاهري باستخدام الأمر az vm create. يمكنك أيضاً استبدال رقم الإصدار في URN بـ "الأحدث"، لاستخدام أحدث إصدار من الصورة.

إذا قمت بنشر جهاز ظاهري باستخدام قالب Resource Manager، فإنك تقوم بتعيين معلمات الصورة بشكلٍ فردي في الخصائصimageReference. راجع مرجع القالب.

تحقق من معلومات خطة الشراء

تحتوي بعض صور الأجهزة الظاهرية في Azure Marketplace على شروط ترخيص وشراء إضافية يجب عليك قبولها قبل أن تتمكن من نشرها برمجياً.

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

لعرض معلومات خطة شراء صورة، قم بتشغيل الأمر az vm image show باستخدام URN الخاص بالصورة. إذا planلم تكن الخاصية في الإخراجnull، فإن الصورة تحتوي على شروط تحتاج إلى قبولها قبل النشر البرمجي.

على سبيل المثال، لا تحتوي صورة Canonical Ubuntu Server 18.04 LTS على مصطلحات إضافية، لأن المعلومات plan هي null:

az vm image show --location westus --urn Canonical:UbuntuServer:18.04-LTS:latest

المخرجات:

{
  "dataDiskImages": [],
  "id": "/Subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Providers/Microsoft.Compute/Locations/westus/Publishers/Canonical/ArtifactTypes/VMImage/Offers/UbuntuServer/Skus/18.04-LTS/Versions/18.04.201901220",
  "location": "westus",
  "name": "18.04.201901220",
  "osDiskImage": {
    "operatingSystem": "Linux"
  },
  "plan": null,
  "tags": null
}

يعرض تشغيل أمر مشابه لـ RabbitMQ Certified by Bitnami الخصائص plan التالية: name وproduct وpublisher. (تحتوي بعض الصور أيضاً على خاصية promotion code.)

az vm image show --location westus --urn bitnami:rabbitmq:rabbitmq:latest

المخرجات:

{
  "dataDiskImages": [],
  "id": "/Subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Providers/Microsoft.Compute/Locations/westus/Publishers/bitnami/ArtifactTypes/VMImage/Offers/rabbitmq/Skus/rabbitmq/Versions/3.7.1901151016",
  "location": "westus",
  "name": "3.7.1901151016",
  "osDiskImage": {
    "operatingSystem": "Linux"
  },
  "plan": {
    "name": "rabbitmq",
    "product": "rabbitmq",
    "publisher": "bitnami"
  },
  "tags": null
}

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

قبول الشروط

لعرض شروط الترخيص وقبولها، استخدم الأمر az vm image terms. عند قبول الشروط، يمكنك تمكين النشر البرمجي في اشتراكك. ما عليك سوى قبول الشروط مرة واحدة لكل اشتراك للصورة. على سبيل المثال:

az vm image terms show --urn bitnami:rabbitmq:rabbitmq:latest

يتضمن الإخراج licenseTextLink لشروط الترخيص، ويشير إلى أن قيمة accepted هي true:

{
  "accepted": true,
  "additionalProperties": {},
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/Microsoft.MarketplaceOrdering/offertypes/bitnami/offers/rabbitmq/plans/rabbitmq",
  "licenseTextLink": "https://storelegalterms.blob.core.windows.net/legalterms/3E5ED_legalterms_BITNAMI%253a24RABBITMQ%253a24RABBITMQ%253a24IGRT7HHPIFOBV3IQYJHEN2O2FGUVXXZ3WUYIMEIVF3KCUNJ7GTVXNNM23I567GBMNDWRFOY4WXJPN5PUYXNKB2QLAKCHP4IE5GO3B2I.txt",
  "name": "rabbitmq",
  "plan": "rabbitmq",
  "privacyPolicyLink": "https://bitnami.com/privacy",
  "product": "rabbitmq",
  "publisher": "bitnami",
  "retrieveDatetime": "2019-01-25T20:37:49.937096Z",
  "signature": "XXXXXXLAZIK7ZL2YRV5JYQXONPV76NQJW3FKMKDZYCRGXZYVDGX6BVY45JO3BXVMNA2COBOEYG2NO76ONORU7ITTRHGZDYNJNXXXXXX",
  "type": "Microsoft.MarketplaceOrdering/offertypes"
}

لقبول الشروط، اكتب:

az vm image terms accept --urn bitnami:rabbitmq:rabbitmq:latest

نشر جهاز ظاهري جديد باستخدام معلمات الصورة

باستخدام معلومات حول الصورة، يمكنك نشرها باستخدام الأمر az vm create.

لنشر صورة لا تحتوي على معلومات عن الخطة، مثل أحدث صورة Ubuntu Server 18.04 من Canonical، مرر URN لـ --image:

az group create --name myURNVM --location westus
az vm create \
   --resource-group myURNVM \
   --name myVM \
   --admin-username azureuser \
   --generate-ssh-keys \
   --image Canonical:UbuntuServer:18.04-LTS:latest 

بالنسبة للصورة التي تحتوي على معلمات خطة الشراء، مثل صورة RabbitMQ المعتمدة من قبل Bitnami، يمكنك تمرير URN --image وأيضاً توفير معلمات خطة الشراء:

az group create --name myPurchasePlanRG --location westus

az vm create \
   --resource-group myPurchasePlanRG \
   --name myVM \
   --admin-username azureuser \
   --generate-ssh-keys \
   --image bitnami:rabbitmq:rabbitmq:latest \
   --plan-name rabbitmq \
   --plan-product rabbitmq \
   --plan-publisher bitnami

إذا تلقيت رسالة حول قبول شروط الصورة، فراجع قسم قبول الشروط. تأكد من أن مخرجات az vm image accept-termsإرجاع القيمة"accepted": true, التي توضح قبولك شروط الصورة.

استخدام VHD الموجود مع معلومات خطة الشراء

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

إذا كان لا يزال لديك الجهاز الظاهري الأصلي، أو جهاز ظاهري آخر تم إنشاؤه باستخدام نفس صورة السوق، فيمكنك الحصول على اسم الخطة والموزع ومعلومات المنتج الخاصة به باستخدام az vm get-instance-view. يحصل هذا المثال على جهاز ظاهري يسمى myVM في مجموعة موارد myResourceGroup ثم يعرض معلومات خطة الشراء.

az vm get-instance-view -g myResourceGroup -n myVM --query plan

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

بمجرد حصولك على معلومات الخطة، يمكنك إنشاء جهاز ظاهري جديد باستخدام المعلمة --attach-os-disk لتحديد VHD.

az vm create \
  --resource-group myResourceGroup \
  --name myNewVM \
  --nics myNic \
  --size Standard_DS1_v2 --os-type Linux \
  --attach-os-disk myVHD \
  --plan-name planName \
  --plan-publisher planPublisher \
  --plan-product planProduct 

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

لإنشاء جهاز ظاهري بسرعة باستخدام معلومات الصورة، راجع إنشاء أجهزة Linux الظاهرية وإدارتها باستخدام Azure CLI.