Freigeben über


Schnellstart: Erstellen eines Labs in Azure DevTest Labs mithilfe einer Azure-REST-API

Erste Schritte mit Azure DevTest Labs mithilfe der Azure-REST-API Azure DevTest Labs umfasst eine Gruppe von Ressourcen, etwa virtuelle Azure-Computer (VMs) und Netzwerke. Mit dieser Infrastruktur können Sie diese Ressourcen besser verwalten, indem Sie Grenzwerte und Kontingente angeben. Mit der Azure-REST-API können Sie Vorgänge für Dienste verwalten, die auf der Azure-Plattform gehostet werden.

Voraussetzungen

  • Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.

  • Das PowerShell-Az-Modul ist installiert. Stellen Sie sicher, dass Sie über die aktuelle Version verfügen. Führen Sie gegebenenfalls Update-Module -Name Az aus.

Vorbereiten des Anforderungstexts

Bereiten Sie den Anforderungstext vor, der vom REST-Aufruf genutzt werden soll.

Kopieren Sie die folgende JSON-Syntax, und fügen Sie sie in eine Datei namens body.json ein. Speichern Sie die Datei auf Ihrem lokalen Computer oder in einem Azure-Speicherkonto.

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

Melden Sie sich bei Ihrem Azure-Abonnement an.

  1. Geben Sie einen geeigneten Wert für die Variablen an, und führen Sie dann das Skript aus.

    $subscription = "subscriptionID"
    $resourceGroup = "resourceGroupName"
    $labName = "labName"
    $file = "path\body.json"
    
  2. Melden Sie sich auf Ihrer Arbeitsstation mit dem PowerShell-Cmdlet Connect-AzAccount bei Ihrem Azure-Abonnement an, und befolgen Sie die Anweisungen auf dem Bildschirm.

    # 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
    

Buildanforderungstext für die Übermittlung

Die Syntax für die PUT-Anforderung lautet wie folgt:
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}?api-version=2018-09-15.

Führen Sie die folgenden PowerShell-Skripts aus, um den Anforderungswert an einen Parameter zu übergeben. Der Inhalt des Anforderungstexts wird ebenfalls an einen Parameter übergeben.

# 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

Abrufen eines Authentifizierungstokens

Führen Sie die folgenden Befehle aus, um ein Authentifizierungstoken abzurufen:

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

Aufrufen der REST-API

Verwenden Sie die folgenden Befehle, um die REST-API aufzurufen und die Antwort zu überprüfen:

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

# Review output
$response | ConvertTo-Json

Die Antwort sollte etwa wie folgt aussehen:

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

Bereinigen von Ressourcen

Falls Sie dieses Lab nicht weiterverwenden möchten, sollten Sie es wie folgt löschen:

  1. Geben Sie einen geeigneten Wert für die Variablen an, und führen Sie dann das Skript aus.

    $subscription = "subscriptionID"
    $resourceGroup = "resourceGroupName"
    $labName = "labName"
    
  2. Führen Sie das folgende Skript aus, um das benannte Lab aus Azure DevTest Labs zu entfernen:

    # 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
    

Nächste Schritte

In dieser Schnellstartanleitung haben Sie mithilfe der Azure-REST-API ein Lab erstellt. Fahren Sie mit dem nächsten Tutorial fort, um zu erfahren, wie Sie auf das Lab zugreifen: