Udostępnij przez


Szybki start: tworzenie laboratorium w usłudze Azure DevTest Labs przy użyciu interfejsu API REST platformy Azure

Rozpocznij pracę z usługą Azure DevTest Labs przy użyciu interfejsu API REST platformy Azure. Usługa Azure DevTest Labs obejmuje grupę zasobów, takich jak maszyny wirtualne platformy Azure i sieci. Ta infrastruktura umożliwia lepsze zarządzanie tymi zasobami przez określenie limitów i przydziałów. Interfejs API REST platformy Azure umożliwia zarządzanie operacjami na usługach hostowanych na platformie Azure.

Wymagania wstępne

  • Konto Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.

  • Zainstalowany moduł Az programu PowerShell. Upewnij się, że masz najnowszą wersję. W razie potrzeby uruchom Update-Module -Name Az.

Przygotuj ciało żądania

Przygotuj treść żądania do konsumpcji przez wywołanie interfejsu REST API.

Skopiuj i wklej następującą składnię JSON do pliku o nazwie body.json. Zapisz plik na komputerze lokalnym lub na koncie usługi Azure Storage.

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

Zaloguj się do Twojej subskrypcji platformy Azure.

  1. Podaj odpowiednią wartość dla zmiennych, a następnie wykonaj skrypt.

    $subscription = "subscriptionID"
    $resourceGroup = "resourceGroupName"
    $labName = "labName"
    $file = "path\body.json"
    
  2. Na stacji roboczej zaloguj się do subskrypcji platformy Azure przy użyciu polecenia cmdlet Programu PowerShell Connect-AzAccount i postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.

    # 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
    

Treść żądania do przesłania

Składnia żądania PUT to:
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}?api-version=2018-09-15.

Wykonaj następujące skrypty programu PowerShell, aby przekazać wartość żądania do parametru. Zawartość treści żądania jest również przekazywana do parametru.

# 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

Uzyskiwanie tokenu uwierzytelniania

Użyj następujących poleceń, aby pobrać token uwierzytelniania:

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

Wywoływanie interfejsu API REST

Użyj następujących poleceń, aby wywołać interfejs API REST i przejrzeć odpowiedź.

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

# Review output
$response | ConvertTo-Json

Odpowiedź powinna wyglądać podobnie do następującego tekstu:

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

Uprzątnij zasoby

Jeśli nie zamierzasz nadal korzystać z tego laboratorium, usuń je, wykonując następujące czynności:

  1. Podaj odpowiednią wartość dla zmiennych, a następnie wykonaj skrypt.

    $subscription = "subscriptionID"
    $resourceGroup = "resourceGroupName"
    $labName = "labName"
    
  2. Wykonaj poniższy skrypt, aby usunąć nazwane laboratorium z usługi 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
    

Dalsze kroki

W tym szybkim przewodniku utworzyłeś laboratorium przy użyciu REST API platformy Azure. Aby dowiedzieć się, jak uzyskać dostęp do laboratorium, przejdź do następnego samouczka: