Sdílet prostřednictvím


Rychlý start: Vytvoření testovacího prostředí v Azure DevTest Labs pomocí rozhraní Azure REST API

Začínáme s Azure DevTest Labs pomocí rozhraní Azure REST API Azure DevTest Labs zahrnuje skupinu prostředků, jako jsou virtuální počítače Azure a sítě. Tato infrastruktura umožňuje lépe spravovat tyto prostředky zadáním limitů a kvót. Rozhraní Azure REST API umožňuje spravovat operace se službami hostovanými na platformě Azure.

Požadavky

  • Účet Azure s aktivním předplatným. Vytvořte si bezplatný účet.

  • Nainstalovaný modul PowerShell Az. Ujistěte se, že máte nejnovější verzi. V případě potřeby spusťte Update-Module -Name Az.

Příprava textu požadavku

Připravte tělo požadavku , které bude spotřebovat volání REST.

Zkopírujte a vložte následující syntaxi JSON do souboru s názvem body.json. Uložte soubor na místní počítač nebo do účtu úložiště Azure.

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

Přihlaste se ke svému předplatnému Azure.

  1. Zadejte odpovídající hodnotu pro proměnné a pak spusťte skript.

    $subscription = "subscriptionID"
    $resourceGroup = "resourceGroupName"
    $labName = "labName"
    $file = "path\body.json"
    
  2. Z pracovní stanice se přihlaste k předplatnému Azure pomocí rutiny PowerShell Connect-AzAccount a postupujte podle pokynů na obrazovce.

    # 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
    

Vytvořte tělo žádosti pro odeslání

Syntaxe požadavku PUT je:
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}?api-version=2018-09-15.

Proveďte následující skripty PowerShell, abyste předali hodnotu požadavku do parametru. Obsah textu požadavku se předává také 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

Získání ověřovacího tokenu

K načtení ověřovacího tokenu použijte následující příkazy:

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

Vyvolání rozhraní REST API

K vyvolání rozhraní REST API a kontrole odpovědi použijte následující příkazy.

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

# Review output
$response | ConvertTo-Json

Odpověď by měla vypadat podobně jako v následujícím textu:

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

Vyčistěte zdroje

Pokud nebudete pokračovat v používání tohoto testovacího prostředí, odstraňte ho pomocí následujících kroků:

  1. Zadejte odpovídající hodnotu pro proměnné a pak spusťte skript.

    $subscription = "subscriptionID"
    $resourceGroup = "resourceGroupName"
    $labName = "labName"
    
  2. Spuštěním následujícího skriptu odeberte pojmenované testovací prostředí z 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
    

Další kroky

V tomto rychlém startu jste vytvořili testovací prostředí pomocí rozhraní Azure REST API. Pokud se chcete dozvědět, jak získat přístup k testovacímu prostředí, přejděte k dalšímu kurzu: