Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Kom igång med Azure DevTest Labs med hjälp av Azure REST API. Azure DevTest Labs omfattar en grupp resurser, till exempel virtuella Azure-datorer och nätverk. Med den här infrastrukturen kan du hantera resurserna bättre genom att ange gränser och kvoter. Med Azure REST API kan du hantera åtgärder på tjänster som finns på Azure-plattformen.
Förutsättningar
Ett Azure-konto med en aktiv prenumeration. Skapa ett konto kostnadsfritt.
PowerShell Az-modulen har installerats. Kontrollera att du har den senaste versionen. Om det behövs kör du
Update-Module -Name Az.
Förbereda begärandetext
Förbered begärandetexten som ska förbrukas av REST-anropet.
Kopiera och klistra in följande JSON-syntax i en fil med namnet body.json. Spara filen på den lokala datorn eller på ett Azure-lagringskonto.
{
"properties": {
"labStorageType": "Standard"
},
"location": "westus2",
"tags": {
"Env": "alpha"
}
}
Logga in till din Azure-prenumeration
Ange ett lämpligt värde för variablerna och kör sedan skriptet.
$subscription = "subscriptionID" $resourceGroup = "resourceGroupName" $labName = "labName" $file = "path\body.json"Från din arbetsstation loggar du in på din Azure-prenumeration med cmdleten PowerShell Connect-AzAccount och följer anvisningarna på skärmen.
# 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
Skapa begärandekropp för inlämning
Syntaxen för PUT-begäran är:
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}?api-version=2018-09-15.
Kör följande PowerShell-skript för att skicka begärandevärdet till en parameter. Innehållet i begärandetexten skickas också till en 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
Hämta en autentiseringstoken
Använd följande kommandon för att hämta en autentiseringstoken:
$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
}
Anropa REST-API:et
Använd följande kommandon för att anropa REST-API:et och granska svaret.
# Invoke the REST API
$response = Invoke-RestMethod -Uri $URI -Method PUT -Headers $authHeader -Body $body
# Review output
$response | ConvertTo-Json
Svaret bör se ut ungefär så här:
{
"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"
}
}
Rensa resurser
Om du inte kommer att fortsätta att använda den här labbuppgiften tar du bort den med följande steg:
Ange ett lämpligt värde för variablerna och kör sedan skriptet.
$subscription = "subscriptionID" $resourceGroup = "resourceGroupName" $labName = "labName"Kör följande skript för att ta bort det namngivna labbet från 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
Nästa steg
I den här snabbstarten skapade du ett labb med hjälp av Azure REST API. För att lära dig hur du får tillgång till labbet, gå vidare till nästa handledning.