Mulai cepat: Membuat lab di Azure DevTest Labs menggunakan Azure REST API

Mulai menggunakan Azure DevTest Labs dengan menggunakan Azure REST API. Azure DevTest Labs mencakup sekelompok sumber daya, seperti komputer virtual Azure (VM) dan jaringan. Infrastruktur ini memungkinkan Anda mengelola sumber daya tersebut dengan lebih baik dengan menentukan batas dan kuota. Azure REST API memungkinkan Anda mengelola operasi pada layanan yang dihosting di platform Azure.

Prasyarat

  • Sebuah akun Azure dengan langganan aktif. Buat akun secara gratis.

  • Modul Az PowerShell terinstal. Pastikan Anda memiliki versi terbaru. Jika perlu, jalankan Update-Module -Name Az.

Menyiapkan isi permintaan

Siapkan isi permintaan yang akan dikonsumsi oleh panggilan REST.

Salin dan tempel sintaks JSON berikut ke dalam file yang disebut body.json. Simpan file di komputer lokal Anda atau di akun penyimpanan Azure.

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

Masuk ke langganan Azure Anda

  1. Berikan nilai yang sesuai untuk variabel lalu jalankan skrip.

    $subscription = "subscriptionID"
    $resourceGroup = "resourceGroupName"
    $labName = "labName"
    $file = "path\body.json"
    
  2. Dari stasiun kerja Anda, masuk ke langganan Azure Anda dengan cmdlet PowerShell Connect-AzAccount dan ikuti petunjuk di layar.

    # 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
    

Susun badan permintaan untuk pengiriman

Sintaks untuk permintaan PUT adalah:
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}?api-version=2018-09-15.

Jalankan skrip PowerShell berikut untuk meneruskan nilai permintaan ke parameter. Isi isi permintaan juga diteruskan ke parameter.

# 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

Mendapatkan token autentikasi

Gunakan perintah berikut untuk mengambil token autentikasi:

$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
}

Memanggil REST API

Gunakan perintah berikut untuk memanggil REST API dan meninjau respons.

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

# Review output
$response | ConvertTo-Json

Respons akan terlihat mirip dengan teks berikut:

{
    "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"
             }
}

Membersihkan sumber daya

Jika Anda tidak akan terus menggunakan lab ini, hapus dengan langkah-langkah berikut:

  1. Berikan nilai yang sesuai untuk variabel lalu jalankan skrip.

    $subscription = "subscriptionID"
    $resourceGroup = "resourceGroupName"
    $labName = "labName"
    
  2. Jalankan skrip berikut untuk menghapus lab bernama dari 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
    

Langkah selanjutnya

Dalam panduan memulai cepat ini, Anda membuat lab menggunakan Azure REST API. Untuk mempelajari cara mengakses lab, lanjutkan ke tutorial berikutnya: