Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Introduzione ad Azure DevTest Labs usando l'API REST di Azure. Azure DevTest Labs include un gruppo di risorse, ad esempio macchine virtuali e reti di Azure. Questa infrastruttura consente di gestire meglio tali risorse specificando limiti e quote. L'API REST di Azure consente di gestire le operazioni sui servizi ospitati nella piattaforma Azure.
Prerequisiti
Un account Azure con una sottoscrizione attiva. Creare un account gratuito.
Il modulo Az di PowerShell è installato. Assicurarsi di avere la versione più recente. Se necessario, eseguire
Update-Module -Name Az.
Preparare il corpo della richiesta
Preparare il corpo della richiesta per essere utilizzato dalla chiamata REST.
Copiare e incollare la sintassi JSON seguente in un file denominato body.json. Salvare il file nel computer locale o in un account di archiviazione di Azure.
{
"properties": {
"labStorageType": "Standard"
},
"location": "westus2",
"tags": {
"Env": "alpha"
}
}
Accedere alla sottoscrizione di Azure.
Specificare un valore appropriato per le variabili e quindi eseguire lo script.
$subscription = "subscriptionID" $resourceGroup = "resourceGroupName" $labName = "labName" $file = "path\body.json"Dalla workstation accedere alla sottoscrizione di Azure con il cmdlet PowerShell Connect-AzAccount e seguire le istruzioni visualizzate.
# 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
Corpo della richiesta di compilazione per l'invio
La sintassi per la richiesta PUT è:
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}?api-version=2018-09-15.
Eseguire gli script di PowerShell seguenti per passare il valore della richiesta a un parametro. Anche il contenuto del corpo della richiesta viene passato a un parametro.
# 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
Ottenere un token di autenticazione
Usare i comandi seguenti per recuperare un token di autenticazione:
$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
}
Richiamare l'API REST
Usare i comandi seguenti per richiamare l'API REST ed esaminare la risposta.
# Invoke the REST API
$response = Invoke-RestMethod -Uri $URI -Method PUT -Headers $authHeader -Body $body
# Review output
$response | ConvertTo-Json
La risposta dovrebbe essere simile al testo seguente:
{
"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"
}
}
Pulire le risorse
Se non si intende continuare a usare questo lab, eliminarlo con la procedura seguente:
Specificare un valore appropriato per le variabili e quindi eseguire lo script.
$subscription = "subscriptionID" $resourceGroup = "resourceGroupName" $labName = "labName"Eseguire lo script seguente per rimuovere il lab nominato su 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
Passaggi successivi
In questo avvio rapido, hai creato un laboratorio utilizzando l'API REST di Azure. Per sapere come accedere al laboratorio, avanza al tutorial successivo.