Importare ed esportare definizioni di progetto con PowerShell

Importante

Il 11 luglio 2026 Blueprints (anteprima) sarà deprecato. Eseguire la migrazione delle definizioni e delle assegnazioni di progetto esistenti a specifiche di modello e stack di distribuzione. Gli artefatti del progetto devono essere convertiti in modelli JSON ARM o file Bicep usati per definire gli stack di distribuzione. Per informazioni su come creare un artefatto come risorsa arm, vedere:

Azure Blueprints può essere completamente gestito tramite portale di Azure. Man mano che le organizzazioni avanzano nell'uso di Azure Blueprints, devono iniziare a pensare alle definizioni di progetto come codice gestito. Questo concetto viene spesso definito infrastruttura come codice (IaC). La gestione delle definizioni di progetto come codice offre vantaggi aggiuntivi oltre alle offerte portale di Azure. Questi vantaggi includono:

  • Condivisione delle definizioni di progetto
  • Backup delle definizioni di progetto
  • Riutilizzo delle definizioni di progetto in tenant o sottoscrizioni diverse
  • Inserimento delle definizioni di progetto nel controllo del codice sorgente
    • Test automatizzato delle definizioni di progetto negli ambienti di test
    • Supporto di pipeline di integrazione continua e distribuzione continua (CI/CD)

Indipendentemente dai motivi, la gestione delle definizioni di progetto come codice offre vantaggi. Questo articolo illustra come usare i Import-AzBlueprintWithArtifact comandi e Export-AzBlueprintWithArtifact nel modulo Az.Blueprint .

Prerequisiti

Questo articolo presuppone una conoscenza operativa moderata di Azure Blueprints. Se non è ancora stato fatto, seguire gli articoli seguenti:

Se il modulo Az.Blueprint non è già installato, seguire le istruzioni contenute in Aggiungere il modulo Az.Blueprint per installarlo e convalidarlo da PowerShell Gallery.

Struttura di cartelle di una definizione di progetto

Prima di esaminare l'esportazione e l'importazione di progetti, si esamini come sono strutturati i file che costituiscono la definizione del progetto. Una definizione di progetto deve essere archiviata nella propria cartella.

Importante

Se al parametro Name del Import-AzBlueprintWithArtifact cmdlet non viene passato alcun valore, viene usato il nome della cartella in cui viene archiviata la definizione del progetto.

Insieme alla definizione del progetto, che deve essere denominata blueprint.json, sono gli artefatti di cui è composta la definizione del progetto. Ogni elemento deve trovarsi nella sottocartella denominata artifacts. Mettere insieme la struttura della definizione del progetto come file JSON nelle cartelle dovrebbe essere simile alla seguente:

.
|
|- 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

Esportare la definizione del progetto

I passaggi per esportare la definizione del progetto sono semplici. L'esportazione della definizione del progetto può essere utile per la condivisione, il backup o l'inserimento nel controllo del codice sorgente.

  • Progetto [obbligatorio]
    • Specifica la definizione del progetto
    • Usare Get-AzBlueprint per ottenere l'oggetto di riferimento
  • OutputPath [obbligatorio]
    • Specifica il percorso in cui salvare i file JSON di definizione del progetto
    • I file di output si trovano in una sottocartella con il nome della definizione del progetto
  • Versione (facoltativa)
    • Specifica la versione da restituire se l'oggetto riferimento blueprint contiene riferimenti a più versioni.
  1. Ottenere un riferimento alla definizione del progetto da esportare dalla sottoscrizione rappresentata come {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. Usare il Export-AzBlueprintWithArtifact cmdlet per esportare la definizione di progetto specificata:

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

Importare la definizione del progetto

Dopo aver ottenuto una definizione di progetto esportata o aver creato manualmente una definizione di progetto nella struttura di cartelle richiesta, è possibile importare tale definizione di progetto in un gruppo di gestione o una sottoscrizione diversa.

Per esempi di definizioni di progetto predefinite, vedere il repository GitHub di Azure Blueprints.

  • Nome [obbligatorio]
    • Specifica il nome per la nuova definizione del progetto
  • InputPath [obbligatorio]
  • ManagementGroupId (facoltativo)
    • ID del gruppo di gestione in cui salvare la definizione del progetto se non il contesto corrente predefinito
    • È necessario specificare ManagementGroupId o SubscriptionId
  • SubscriptionId (facoltativo)
    • ID sottoscrizione in cui salvare la definizione del progetto se non il contesto corrente predefinito
    • È necessario specificare ManagementGroupId o SubscriptionId
  1. Usare il Import-AzBlueprintWithArtifact cmdlet per importare la definizione del progetto specificata:

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

Dopo aver importato la definizione del progetto, assegnarla a PowerShell.

Per informazioni sulla creazione di definizioni di progetto avanzate, vedere gli articoli seguenti:

Passaggi successivi