Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Начало работы с Azure DevTest Labs с помощью REST API Azure. Azure DevTest Labs включает в себя группу ресурсов, таких как виртуальные машины Azure и сети. Эта инфраструктура позволяет лучше управлять этими ресурсами, указывая ограничения и квоты. REST API Azure позволяет управлять операциями со службами, размещенными на платформе Azure.
Предпосылки
Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
Модуль PowerShell Az установлен. Убедитесь, что у вас установлена последняя версия. При необходимости выполните команду
Update-Module -Name Az.
Подготовка текста запроса
Подготовьте текст запроса для использования вызовом REST.
Скопируйте и вставьте следующий синтаксис JSON в файл с именем body.json. Сохраните файл на локальном компьютере или в учетной записи хранения Azure.
{
"properties": {
"labStorageType": "Standard"
},
"location": "westus2",
"tags": {
"Env": "alpha"
}
}
Войдите в подписку Azure.
Укажите соответствующее значение для переменных, а затем выполните скрипт.
$subscription = "subscriptionID" $resourceGroup = "resourceGroupName" $labName = "labName" $file = "path\body.json"На рабочей станции войдите в подписку Azure с помощью командлета PowerShell Connect-AzAccount и следуйте инструкциям на экране.
# 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
Сформировать тело запроса для отправки
Синтаксис запроса PUT:
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}?api-version=2018-09-15.
Выполните следующие скрипты PowerShell, чтобы передать значение запроса параметру. Содержимое текста запроса также передается параметру.
# 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
Получить токен аутентификации
Используйте следующие команды для получения токена аутентификации:
$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
}
Вызов REST API
Используйте следующие команды, чтобы вызвать REST API и проверить ответ.
# Invoke the REST API
$response = Invoke-RestMethod -Uri $URI -Method PUT -Headers $authHeader -Body $body
# Review output
$response | ConvertTo-Json
Ответ должен выглядеть следующим образом:
{
"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"
}
}
Очистите ресурсы
Если вы не собираетесь продолжать использовать эту лабораторию, удалите ее, выполнив следующие действия.
Укажите соответствующее значение для переменных, а затем выполните скрипт.
$subscription = "subscriptionID" $resourceGroup = "resourceGroupName" $labName = "labName"Выполните следующий сценарий, чтобы удалить именованную лабораторию из 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
Дальнейшие шаги
В этом быстром старте вы создали лабораторию, используя REST API Azure. Чтобы узнать, как получить доступ к лаборатории, перейдите к следующему руководству: