التشغيل السريع: إنشاء مختبر في Azure DevTest Labs باستخدام واجهة برمجة تطبيقات Azure REST

ابدأ باستخدام Azure DevTest Labs باستخدام واجهة برمجة تطبيقات Azure REST. تشمل Azure DevTest Labs مجموعة من الموارد، مثل أجهزة Azure الظاهرية (VMs) والشبكات. تتيح لك هذه البنية الأساسية إدارة هذه الموارد بشكل أفضل عن طريق تحديد الحدود والحصص النسبية. تسمح لك واجهة برمجة تطبيقات Azure REST بإدارة العمليات على الخدمات المستضافة في النظام الأساسي Azure.

Prerequisites

إعداد نص الطلب

قم بإعداد نص الطلب ليتم استهلاكه بواسطة مكالمة REST.

انسخ والصق بناء جملة JSON التالي في ملف يسمى body.json. احفظ الملف على جهازك المحلي أو في حساب تخزين Azure.

{
  "properties": {
    "labStorageType": "Standard"
  },
  "location": "westus2",
  "tags": {
    "Env": "alpha"
  }
}

تسجيل الدخول إلى اشتراك Azure الخاص بك

  1. قم بتوفير قيمة مناسبة للمتغيرات ثم قم بتنفيذ البرنامج النصي.

    $subscription = "subscriptionID"
    $resourceGroup = "resourceGroupName"
    $labName = "labName"
    $file = "path\body.json"
    
  2. من محطة العمل الخاصة بك، سجل الدخول إلى اشتراك Azure الخاص بك باستخدام PowerShell Connect-AzAccount cmdlet واتبع الإرشادات التي تظهر على الشاشة.

    # Sign in to your Azure subscription
    $sub = Get-AzSubscription -ErrorAction SilentlyContinue
    if(-not($sub))
    {
        Connect-AzAccount
    }
    
    # If you have multiple subscriptions, set the one to use
    # Set-AzContext -SubscriptionId $subscription
    

إنشاء نص طلب للإرسال

بناء جملة طلب PUT هو:
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}?api-version=2018-09-15.

قم بتنفيذ البرامج النصية PowerShell التالية لتمرير قيمة الطلب إلى معلمة. يتم تمرير محتويات نص الطلب إلى معلمة أيضا.

# build URI
$URI = "https://management.azure.com/subscriptions/$subscription/resourceGroups/$resourceGroup/providers/Microsoft.DevTestLab/labs/$labName`?api-version=2018-09-15"

# build body
$body = Get-Content $file

الحصول على رمز مميز للمصادقة

استخدم الأوامر التالية لاسترداد رمز مميز للمصادقة:

$azContext = Get-AzContext
$azProfile = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile
$profileClient = New-Object -TypeName Microsoft.Azure.Commands.ResourceManager.Common.RMProfileClient -ArgumentList ($azProfile)
$token = $profileClient.AcquireAccessToken($azContext.Subscription.TenantId)
$authHeader = @{
    'Content-Type'='application/json'
    'Authorization'='Bearer ' + $token.AccessToken
}

استدعاء واجهة برمجة تطبيقات REST

استخدم الأوامر التالية لاستدعاء واجهة برمجة تطبيقات REST ومراجعة الاستجابة.

# Invoke the REST API
$response = Invoke-RestMethod -Uri $URI -Method PUT -Headers $authHeader -Body $body

# Review output
$response | ConvertTo-Json

يجب أن تبدو الاستجابة مشابهة للنص التالي:

{
    "properties":  {
                       "labStorageType":  "Standard",
                       "mandatoryArtifactsResourceIdsLinux":  [

                                                              ],
                       "mandatoryArtifactsResourceIdsWindows":  [

                                                                ],
                       "createdDate":  "2021-10-27T20:22:49.7495913+00:00",
                       "premiumDataDisks":  "Disabled",
                       "environmentPermission":  "Reader",
                       "announcement":  {
                                            "title":  "",
                                            "markdown":  "",
                                            "enabled":  "Disabled",
                                            "expired":  false
                                        },
                       "support":  {
                                       "enabled":  "Disabled",
                                       "markdown":  ""
                                   },
                       "provisioningState":  "Creating",
                       "uniqueIdentifier":  "uniqueID"
                   },
    "id":  "/subscriptions/ContosoID/resourcegroups/groupcontoso/providers/microsoft.devtestlab/labs/myotherlab",

    "name":  "myOtherLab",
    "type":  "Microsoft.DevTestLab/labs",
    "location":  "westus2",
    "tags":  {
                 "Env":  "alpha"
             }
}

تنظيف الموارد

إذا كنت لن تستمر في استخدام هذا المختبر ، فاحذفه بالخطوات التالية:

  1. قم بتوفير قيمة مناسبة للمتغيرات ثم قم بتنفيذ البرنامج النصي.

    $subscription = "subscriptionID"
    $resourceGroup = "resourceGroupName"
    $labName = "labName"
    
  2. قم بتنفيذ البرنامج النصي التالي لإزالة المختبر المسمى من Azure DevTest Labs.

    # build URI
    $URI = "https://management.azure.com/subscriptions/$subscription/resourceGroups/$resourceGroup/providers/Microsoft.DevTestLab/labs/$labName`?api-version=2018-09-15"
    
    # obtain access token
    $azContext = Get-AzContext
    $azProfile = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile
    $profileClient = New-Object -TypeName Microsoft.Azure.Commands.ResourceManager.Common.RMProfileClient -ArgumentList ($azProfile)
    $token = $profileClient.AcquireAccessToken($azContext.Subscription.TenantId)
    $authHeader = @{
        'Content-Type'='application/json'
        'Authorization'='Bearer ' + $token.AccessToken
    }
    
    # Invoke the REST API
    Invoke-RestMethod -Uri $URI -Method DELETE -Headers $authHeader
    

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

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