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.
Découvrez comment utiliser Azure Python avec Azure Resource Manager pour gérer vos ressources Azure. Pour gérer des groupes de ressources, consultez Gérer des groupes de ressources Azure à l’aide de Python.
Déployer des ressources sur un groupe de ressources existant
Vous pouvez déployer des ressources Azure directement à l’aide de Python ou déployer un modèle Azure Resource Manager (modèle ARM) pour créer des ressources Azure.
Déployer des ressources à l’aide de classes Python
L’exemple suivant crée un compte de stockage à l’aide de StorageManagementClient.storage_accounts.begin_create. Le nom du compte de stockage doit être unique dans Azure.
import os
import random
from azure.identity import AzureCliCredential
from azure.mgmt.storage import StorageManagementClient
credential = AzureCliCredential()
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
random_postfix = ''.join(random.choices('abcdefghijklmnopqrstuvwxyz1234567890', k=13))
storage_account_name = "demostore" + random_postfix
storage_client = StorageManagementClient(credential, subscription_id)
storage_account_result = storage_client.storage_accounts.begin_create(
"exampleGroup",
storage_account_name,
{
"location": "westus",
"sku": {
"name": "Standard_LRS"
}
}
)
Déploiement d’un modèle
Pour déployer un modèle ARM, utilisez ResourceManagementClient.deployments.begin_create_or_update. L’exemple suivant déploie un modèle distant. Ce modèle crée un compte de stockage.
import os
from azure.identity import AzureCliCredential
from azure.mgmt.resource import ResourceManagementClient
from azure.mgmt.resource.resources.models import DeploymentMode
credential = AzureCliCredential()
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
resource_client = ResourceManagementClient(credential, subscription_id)
resource_group_name = input("Enter the resource group name: ")
location = input("Enter the location (i.e. centralus): ")
template_uri = "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json"
rg_deployment_result = resource_client.deployments.begin_create_or_update(
resource_group_name,
"exampleDeployment",
{
"properties": {
"templateLink": {
"uri": template_uri
},
"parameters": {
"location": {
"value": location
},
},
"mode": DeploymentMode.incremental
}
}
)
Déployer un groupe de ressources et des ressources
Vous pouvez créer un groupe de ressources et y déployer des ressources. Pour plus d'informations, consultez Créer un groupe de ressources et déployer des ressources.
Déployer des ressources sur plusieurs abonnements ou groupes de ressources
En général, vous déployez toutes les ressources dans votre modèle sur un seul groupe de ressources. Toutefois, il existe des scénarios dans lesquels vous pouvez souhaitez déployer un ensemble de ressources, tout en les plaçant dans différents groupes de ressources ou abonnements. Pour plus d’informations, consultez Déployer des ressources Azure sur plusieurs abonnements ou groupes de ressources.
Supprimer des ressources
L’exemple suivant montre comment supprimer un compte de stockage.
import os
from azure.identity import AzureCliCredential
from azure.mgmt.storage import StorageManagementClient
credential = AzureCliCredential()
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
storage_client = StorageManagementClient(credential, subscription_id)
resource_group_name = "demoGroup"
storage_account_name = "demostore"
storage_account = storage_client.storage_accounts.delete(
resource_group_name,
storage_account_name
)
Pour plus d’informations sur l’ordre dans lequel Azure Resource Manager supprime des ressources, voir Suppression d’un groupe de ressources par Azure Resource Manager.
Déplacer des ressources
L’exemple suivant montre comment déplacer un compte de stockage depuis un groupe de ressources vers un autre.
import os
from azure.identity import AzureCliCredential
from azure.mgmt.resource import ResourceManagementClient
credential = AzureCliCredential()
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
resource_client = ResourceManagementClient(credential, subscription_id)
src_resource_group_name = "sourceGroup"
dest_resource_group_name = "destinationGroup"
storage_account_name = "demostore"
dest_resource_group = resource_client.resource_groups.get(dest_resource_group_name)
storage_account = resource_client.resources.get(
src_resource_group_name, "Microsoft.Storage", "", "storageAccounts", storage_account_name, "2022-09-01"
)
move_result = resource_client.resources.begin_move_resources(
src_resource_group_name,
{
"resources": [storage_account.id],
"targetResourceGroup": dest_resource_group.id,
}
)
Pour plus d’informations, consultez la page Déplacement de ressources vers un nouveau groupe de ressources ou un abonnement.
Verrouiller des ressources
Le verrouillage empêche d’autres utilisateurs de votre organisation de supprimer ou de modifier accidentellement des ressources stratégiques, telles qu’une ressource, un groupe de ressources ou un abonnement Azure.
L’exemple suivant verrouille un site Web afin d’empêcher sa suppression.
import os
from azure.identity import AzureCliCredential
from azure.mgmt.resource import ManagementLockClient
credential = AzureCliCredential()
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
lock_client = ManagementLockClient(credential, subscription_id)
lock_result = lock_client.management_locks.create_or_update_at_resource_level(
"exampleGroup",
"Microsoft.Web",
"",
"sites",
"examplesite",
"lockSite",
{
"level": "CanNotDelete"
}
)
Le script suivant obtient tous les verrous pour un compte de stockage :
import os
from azure.identity import AzureCliCredential
from azure.mgmt.resource import ResourceManagementClient
from azure.mgmt.resource.locks import ManagementLockClient
credential = AzureCliCredential()
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
resource_client = ResourceManagementClient(credential, subscription_id)
lock_client = ManagementLockClient(credential, subscription_id)
resource_group_name = "demoGroup"
storage_account_name = "demostore"
resource = resource_client.resources.get_by_id(
f"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Storage/storageAccounts/{storage_account_name}",
"2021-04-01"
)
locks = lock_client.management_locks.list_at_resource_level(
resource_group_name,
"Microsoft.Storage",
"",
"storageAccounts",
storage_account_name
)
for lock in locks:
print(f"Lock Name: {lock.name}, Lock Level: {lock.level}")
Le script suivant supprime un verrou sur un site Web :
import os
from azure.identity import AzureCliCredential
from azure.mgmt.resource import ManagementLockClient
credential = AzureCliCredential()
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
lock_client = ManagementLockClient(credential, subscription_id)
lock_client.management_locks.delete_at_resource_level(
"exampleGroup",
"Microsoft.Web",
"",
"sites",
"examplesite",
"lockSite"
)
Pour plus d’informations, consultez Verrouiller des ressources avec Azure Resource Manager.
Baliser des ressources
Le balisage vous permet d’organiser logiquement votre groupe de ressources et vos ressources. Pour plus d’informations, voir Organisation des ressources Azure à l’aide de balises.
Étapes suivantes
- Pour vous familiariser avec Azure Resource Manager, consultez Vue d’ensemble d’Azure Resource Manager.
- Pour vous familiariser avec la syntaxe des modèles Resource Manager, consultez Comprendre la structure et la syntaxe des modèles Azure Resource Manager.
- Pour apprendre à développer des modèles, consultez les tutoriels pas à pas.
- Pour accéder aux schémas liés aux modèles Azure Resource Manager, consultez Informations de référence sur les modèles.