Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Ga aan de slag met Azure DevTest Labs met behulp van de Azure REST API. Azure DevTest Labs omvat een groep resources, zoals virtuele Azure-machines (VM's) en netwerken. Met deze infrastructuur kunt u deze resources beter beheren door limieten en quota op te geven. Met de Azure REST API kunt u bewerkingen beheren op services die worden gehost op het Azure-platform.
Vereiste voorwaarden
Een Azure-account met een actief abonnement. Gratis een account maken
De PowerShell Az-module is geïnstalleerd. Zorg ervoor dat u de nieuwste versie hebt. Voer indien nodig de opdracht uit
Update-Module -Name Az.
Aanvraagbody voorbereiden
Bereid de request body voor om te worden gebruikt door de REST-aanroep.
Kopieer en plak de volgende JSON-syntaxis in een bestand met de naam body.json. Sla het bestand op uw lokale computer of in een Azure-opslagaccount op.
{
"properties": {
"labStorageType": "Standard"
},
"location": "westus2",
"tags": {
"Env": "alpha"
}
}
Aanmelden bij uw Azure-abonnement
Geef een geschikte waarde op voor de variabelen en voer vervolgens het script uit.
$subscription = "subscriptionID" $resourceGroup = "resourceGroupName" $labName = "labName" $file = "path\body.json"Meld u vanaf uw werkstation aan bij uw Azure-abonnement met de cmdlet PowerShell Connect-AzAccount en volg de instructies op het scherm.
# 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
Hoofdtekst van buildaanvraag voor verzending
De syntaxis voor de PUT-aanvraag is:
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}?api-version=2018-09-15.
Voer de volgende PowerShell-scripts uit om de aanvraagwaarde door te geven aan een parameter. De inhoud van de aanvraagbody wordt ook doorgegeven aan een 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
Een verificatietoken verkrijgen
Gebruik de volgende opdrachten om een verificatietoken op te halen:
$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
}
De REST API aanroepen
Gebruik de volgende opdrachten om de REST API aan te roepen en het antwoord te controleren.
# Invoke the REST API
$response = Invoke-RestMethod -Uri $URI -Method PUT -Headers $authHeader -Body $body
# Review output
$response | ConvertTo-Json
Het antwoord moet er ongeveer uitzien als de volgende tekst:
{
"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"
}
}
De hulpbronnen opschonen
Als u dit lab niet meer gaat gebruiken, verwijdert u het lab met de volgende stappen:
Geef een geschikte waarde op voor de variabelen en voer vervolgens het script uit.
$subscription = "subscriptionID" $resourceGroup = "resourceGroupName" $labName = "labName"Voer het volgende script uit om het benoemde lab te verwijderen uit 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
Volgende stappen
In deze quickstart hebt u een lab gemaakt met behulp van de Azure REST API. Als u wilt weten hoe u toegang krijgt tot het lab, gaat u verder met de volgende zelfstudie: