Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Important
Azure Lab Services sera mis hors service le 28 juin 2027. Pour plus d’informations, consultez le guide de mise hors service.
Dans cet article, vous découvrez comment utiliser Python et le kit de développement logiciel (SDK) Python d’Azure pour créer un plan de labo. Les plans labo sont utilisés lors de la création de labos pour Azure Lab Services. Vous allez également ajouter une attribution de rôle afin qu’un enseignant puisse créer des labos en fonction du plan labo. Pour obtenir une vue d’ensemble d’Azure Lab Services, consultez Présentation d’Azure Lab Services.
Prérequis
- Compte Azure avec un abonnement actif. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
- Un compte Azure avec autorisation de gérer un labo, tel que le rôle Azure RBAC Créateur de labo, Propriétaire, Contributeur ou Contributeur Lab Services. En savoir plus sur les Rôles intégrés et les étendues d’affectation Azure Lab Services.
- Configurez votre environnement de développement Python local pour Azure.
- Vous pouvez télécharger le fichier requirements.txt à partir des exemples Python d’Azure
Créer un plan lab
Les étapes suivantes vous montrent comment créer un plan lab. Toutes les propriétés définies dans le plan lab seront utilisées dans les laboratoires créés avec ce plan.
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
# --------------------------------------------------------------------------
import os
import time
from datetime import timedelta
from azure.identity import DefaultAzureCredential
from azure.mgmt.labservices import LabServicesClient
from azure.mgmt.resource import ResourceManagementClient
def main():
SUBSCRIPTION_ID = "<Subscription ID>"
TIME = str(time.time()).replace('.','')
GROUP_NAME = "BellowsCollege_rg"
LABPLAN = "BellowsCollege_labplan"
LAB = "BellowsCollege_lab"
LOCATION = 'southcentralus'
# Create clients
# # For other authentication approaches, please see: https://pypi.org/project/azure-identity/
resource_client = ResourceManagementClient(
credential=DefaultAzureCredential(),
subscription_id=SUBSCRIPTION_ID
)
labservices_client = LabServicesClient(
credential=DefaultAzureCredential(),
subscription_id=SUBSCRIPTION_ID
)
# Create resource group
resource_client.resource_groups.create_or_update(
GROUP_NAME,
{"location": LOCATION}
)
# Create lab services lab plan
LABPLANBODY = {
"location" : LOCATION,
"properties" : {
"defaultConnectionProfile" : {
"webSshAccess" : "None",
"webRdpAccess" : "None",
"clientSshAccess" : "None",
"clientRdpAccess" : "Public"
},
"defaultAutoShutdownProfile" : {
"shutdownOnDisconnect" : "Disabled",
"shutdownWhenNotConnected" : "Disabled",
"shutdownOnIdle" : "None"
},
"allowedRegions" : [LOCATION],
"supportInfo" : {
"email" : "user@bellowscollege.com",
"phone" : "123-123-1234",
"instructions" : "Bellows College support."
}
}
}
#Create Lab Plan
poller = labservices_client.lab_plans.begin_create_or_update(
GROUP_NAME,
LABPLAN,
LABPLANBODY
)
# Poll for long running execution.
labplan_result = poller.result()
print(f"Created Lab Plan: {labplan_result.name}")
# Get LabServices Lab Plans by resource group
labservices_client.lab_plans.list_by_resource_group(
GROUP_NAME
)
#Get single LabServices Lab Plan
labservices_labplan = labservices_client.lab_plans.get(GROUP_NAME, LABPLAN)
if __name__ == "__main__":
main()
Nettoyer les ressources
Si vous ne comptez pas continuer à utiliser cette application, supprimez le laboratoire en effectuant les étapes suivantes :
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
# --------------------------------------------------------------------------
from datetime import timedelta
import time
from azure.identity import DefaultAzureCredential
from azure.mgmt.labservices import LabServicesClient
from azure.mgmt.resource import ResourceManagementClient
# - other dependence -
# - end -
#
def main():
SUBSCRIPTION_ID = "<Subscription ID>"
TIME = str(time.time()).replace('.','')
GROUP_NAME = "BellowsCollege_rg" + TIME
LABPLAN = "BellowsCollege_labplan" + TIME
LAB = "BellowsCollege_lab" + TIME
LOCATION = 'southcentralus'
# Create clients
# # For other authentication approaches, please see: https://pypi.org/project/azure-identity/
resource_client = ResourceManagementClient(
credential=DefaultAzureCredential(),
subscription_id=SUBSCRIPTION_ID
)
labservices_client = LabServicesClient(
credential=DefaultAzureCredential(),
subscription_id=SUBSCRIPTION_ID
)
# Delete Lab
labservices_client.labs.begin_delete(
GROUP_NAME,
LAB
).result()
print("Deleted lab.\n")
# Delete Group
resource_client.resource_groups.begin_delete(
GROUP_NAME
).result()
if __name__ == "__main__":
main()
Étapes suivantes
Dans cet article, vous avez créé un groupe de ressources et un plan labo. En tant qu’administrateur, vous pouvez en savoir plus sur le module Azure PowerShell et les applets de commande Az.LabServices.