Importer et exporter des définitions de blueprint avec PowerShell

Important

Le 11 juillet 2026, Blueprints (préversion) sera devenu obsolète. Migrez vos définitions et affectations Blueprint existantes vers les Spécifications de modèleet lesPiles de déploiement. Les artefacts de Blueprint doivent être convertis en modèles ARM JSON ou en fichiers Bicep utilisés pour définir des piles de déploiement. Pour savoir comment créer un artefact en tant que ressource ARM, consultez :

Vous pouvez gérer Azure Blueprints entièrement via le portail Azure. À mesure que les organisations progressent dans leur utilisation d'Azure Blueprints, elles doivent commencer à considérer les définitions de blueprint comme du code géré. Ce concept est souvent appelé infrastructure en tant que code (IaC). Le traitement de vos définitions de blueprint en tant que code offre des avantages supplémentaires au-delà de ce que propose le portail Azure. Les avantages sont les suivants :

  • Partage de définitions de blueprint
  • Sauvegarde de vos définitions de blueprint
  • Réutilisation de définitions de blueprint dans différents locataires ou abonnements
  • Placement des définitions de blueprint dans un contrôle de code source
    • Tests automatisés de définitions de blueprint dans des environnements de test
    • Prise en charge des pipelines d’intégration continue et de déploiement continu (CI/CD)

Quelles que soient vos raisons, la gestion de vos définitions de blueprint en tant que code présente des avantages. Cet article explique comment utiliser les commandes Import-AzBlueprintWithArtifact et Export-AzBlueprintWithArtifact dans le module AZ.blueprint.

Prérequis

Cet article part tu principe que vous disposez d’une connaissance pratique modérée d’Azure Blueprints. Si vous ne l’avez pas encore fait, consultez les articles suivants :

Si le module n’est pas encore installé, suivez les instructions fournies dans Ajouter le module Az.Blueprint pour installer et valider le module AZ.Blueprint à partir de PowerShell Gallery.

Structure de dossiers d’une définition de blueprint

Avant d’examiner l’exportation et l’importation de blueprints, voyons comment les fichiers qui composent la définition de blueprint sont structurés. Une définition de blueprint doit être stockée dans son propre dossier.

Important

Si aucune valeur n’est transmise au paramètre Name de la cmdlet Import-AzBlueprintWithArtifact, le nom du dossier dans lequel la définition de blueprint est stockée est utilisé.

La définition de blueprint qui doit être nommée blueprint.json est accompagnée des artefacts composant la définition de blueprint. Chaque artefact doit se trouver dans le sous-dossier nommé artifacts. La structure de votre définition de blueprint en tant que fichiers JSON dans des dossiers doit se présenter comme suit :

.
|
|- MyBlueprint/  _______________ # Root folder name becomes default name of blueprint definition
|  |- blueprint.json  __________ # The blueprint definition. Fixed name.
|
|  |- artifacts/  ______________ # Subfolder for all blueprint artifacts. Fixed name.
|     |- artifact.json  ________ # Blueprint artifact as JSON file. Artifact named from file.
|     |- ...
|     |- more-artifacts.json

Exporter votre définition de blueprint

Les étapes d’exportation de votre définition de blueprint sont simples. L’exportation de la définition de blueprint peut être utile pour le partage, la sauvegarde ou le placement dans le contrôle de code source.

  • Blueprint [obligatoire]
    • Décrit la définition de blueprint.
    • Utilisez Get-AzBlueprint pour obtenir l’objet de référence
  • OutputPath [obligatoire]
    • Spécifie le chemin d’accès pour l’enregistrement des fichiers JSON
    • Les fichiers de sortie se trouvent dans un sous-dossier portant le nom de la définition de blueprint.
  • Version (facultatif)
    • Spécifie la version à produire si l’ objet de référence Blueprint contient des références à plusieurs versions.
  1. Obtenez une référence à la définition de blueprint à exporter de l’abonnement représentée en tant que {subId} :

    # Login first with Connect-AzAccount if not using Cloud Shell
    
    # Get version '1.1' of the blueprint definition in the specified subscription
    $bpDefinition = Get-AzBlueprint -SubscriptionId '{subId}' -Name 'MyBlueprint' -Version '1.1'
    
  2. Utilisez la cmdlet Export-AzBlueprintWithArtifact pour exporter la définition de blueprint spécifiée :

    Export-AzBlueprintWithArtifact -Blueprint $bpDefinition -OutputPath 'C:\Blueprints'
    

Importer votre définition de blueprint

Une fois que vous disposez d’une définition de blueprint exportée ou que vous avez créé manuellement une définition de plan dans la structure de dossiers requise, vous pouvez importer cette définition de blueprint dans une autre groupe d’administration ou abonnement.

Pour obtenir des exemples de définitions de blueprint intégrées, voir le dépôt GitHub Azure Blueprints.

  • Name [obligatoire]
    • Spécifie le nom de la nouvelle définition de blueprint
  • InputPath [obligatoire]
  • ManagementGroupId (facultatif)
    • ID du groupe d’administration dans lequel enregistrer la définition de blueprint si ce n’est pas le contexte actuel par défaut
    • ManagementGroupId ou SubscriptionId doivent être spécifiés
  • SubscriptionId (facultatif)
    • ID de l’abonnement dans lequel enregistrer la définition de blueprint si ce n’est pas le contexte actuel par défaut
    • ManagementGroupId ou SubscriptionId doivent être spécifiés
  1. Utilisez la cmdlet Import-AzBlueprintWithArtifact pour importer la définition de blueprint spécifiée :

    # Login first with Connect-AzAccount if not using Cloud Shell
    
    Import-AzBlueprintWithArtifact -Name 'MyBlueprint' -ManagementGroupId 'DevMG' -InputPath 'C:\Blueprints\MyBlueprint'
    

Une fois la définition de blueprint importée, attribuez-la avec PowerShell.

Pour plus d’informations sur la création de définitions de blueprint avancées, voir les articles suivants :

Étapes suivantes