Partager via


Démarrage rapide : Créer un laboratoire dans Azure DevTest Labs à l’aide de l’API REST Azure

Commencez avec Azure DevTest Labs en utilisant l'API REST Azure. Azure DevTest Labs englobe un groupe de ressources, telles que des machines virtuelles et des réseaux Azure. Cette infrastructure vous permet de mieux gérer ces ressources en spécifiant des limites et des quotas. L’API REST Azure vous permet de gérer les opérations sur les services hébergés dans la plateforme Azure.

Prerequisites

  • Un compte Azure avec un abonnement actif. Créez un compte gratuitement.

  • Module PowerShell Az installé. Vérifiez que vous disposez de la dernière version. Si nécessaire, exécutez Update-Module -Name Az.

Préparer le corps de la demande

Préparez le corps de la demande qui sera consommé par l’appel REST.

Copiez et collez la syntaxe JSON suivante dans un fichier appelé body.json. Enregistrez le fichier sur votre ordinateur local ou dans un compte de stockage Azure.

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

Connectez-vous à votre abonnement Azure :

  1. Fournissez une valeur appropriée pour les variables, puis exécutez le script.

    $subscription = "subscriptionID"
    $resourceGroup = "resourceGroupName"
    $labName = "labName"
    $file = "path\body.json"
    
  2. À partir de votre station de travail, connectez-vous à votre abonnement Azure avec l’applet de commande PowerShell Connect-AzAccount et suivez les instructions à l’écran.

    # 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
    

Créer le corps de la demande pour l’envoyer

La syntaxe de la requête PUT est la suivante :
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}?api-version=2018-09-15.

Exécutez les scripts PowerShell suivants pour transmettre la valeur de la requête à un paramètre. Le contenu du corps de la requête est également transmis à un paramètre.

# 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

Obtenir un jeton d’authentification

Utilisez les commandes suivantes pour récupérer un jeton d’authentification :

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

Appeler l’API REST

Utilisez les commandes suivantes pour appeler l’API REST et passer en revue la réponse.

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

# Review output
$response | ConvertTo-Json

La réponse doit ressembler au texte suivant :

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

Nettoyer les ressources

Si vous ne souhaitez pas continuer à utiliser ce laboratoire, supprimez-le en procédant comme suit :

  1. Fournissez une valeur appropriée pour les variables, puis exécutez le script.

    $subscription = "subscriptionID"
    $resourceGroup = "resourceGroupName"
    $labName = "labName"
    
  2. Exécutez le script suivant pour supprimer le labo nommé d’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
    

Étapes suivantes

Dans ce guide de démarrage rapide, vous avez créé un laboratoire à l’aide de l’API REST Azure. Pour savoir comment accéder au labo, passez au tutoriel suivant :