Blauwdrukdefinities importeren en exporteren met PowerShell

Azure Blueprints kunnen volledig worden beheerd via Azure Portal. Naarmate organisaties hun gebruik van Azure Blueprints, moeten ze blauwdrukdefinities gaan zien als beheerde code. Dit concept wordt vaak Infrastructure as Code (IaC) genoemd. Het behandelen van uw blauwdrukdefinities als code biedt meer voordelen dan wat Azure Portal biedt. Dit zijn enkele voordelen:

  • Blauwdrukdefinities delen
  • Een back-up maken van uw blauwdrukdefinities
  • Blauwdrukdefinities opnieuw gebruiken in verschillende tenants of abonnementen
  • De blauwdrukdefinities in broncodebeheer plaatsen
    • Automatisch testen van blauwdrukdefinities in testomgevingen
    • Ondersteuning van pijplijnen voor continue integratie en continue implementatie (CI/CD)

Wat uw redenen ook zijn, het beheren van uw blauwdrukdefinities als code heeft voordelen. In dit artikel wordt beschreven hoe u de Import-AzBlueprintWithArtifact opdrachten en gebruikt in de module Export-AzBlueprintWithArtifact Az.Blueprint.

Vereisten

In dit artikel wordt ervan uitgenomen dat u een gemiddelde werkende kennis van Azure Blueprints. Als u dit nog niet hebt gedaan, volgt u de volgende artikelen:

Als deze nog niet is geïnstalleerd, volgt u de instructies in De module Az.Blueprint toevoegen om de module Az.Blueprint van de PowerShell Gallery te installeren en te valideren.

Mapstructuur van een blauwdrukdefinitie

Voordat we kijken naar het exporteren en importeren van blauwdrukken, kijken we eerst hoe de bestanden waaruit de blauwdrukdefinitie is opgebouwd, zijn gestructureerd. Een blauwdrukdefinitie moet worden opgeslagen in een eigen map.

Belangrijk

Als er geen waarde wordt doorgegeven aan de parameter Naam van de cmdlet, wordt de naam gebruikt van de map waarin de Import-AzBlueprintWithArtifact blauwdrukdefinitie is opgeslagen.

Samen met de blauwdrukdefinitie, die de naam moet hebben, zijn de artefacten waaruit de blueprint.json blauwdrukdefinitie bestaat. Elk artefact moet zich in de submap met de naam artifacts . De structuur van uw blauwdrukdefinitie als JSON-bestanden in mappen moet er als volgt uitzien:

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

Uw blauwdrukdefinitie exporteren

De stappen voor het exporteren van uw blauwdrukdefinitie zijn eenvoudig. Het exporteren van de blauwdrukdefinitie kan handig zijn voor het delen, maken van back-ups of plaatsen in broncodebeheer.

  • Blauwdruk [vereist]
    • Hiermee geeft u de blauwdrukdefinitie op
    • Gebruiken Get-AzBlueprint om het referentieobject op te halen
  • OutputPath [vereist]
    • Hiermee geeft u het pad op waar de JSON-bestanden van de blauwdrukdefinitie moeten worden opgeslagen
    • De uitvoerbestanden staan in een submap met de naam van de blauwdrukdefinitie
  • Versie (optioneel)
    • Hiermee geeft u de versie op die moet worden uitgevoerd als het blauwdrukverwijzingsobject verwijzingen naar meer dan één versie bevat.
  1. Haal een verwijzing op naar de blauwdrukdefinitie die moet worden geëxporteerd uit het abonnement dat wordt weergegeven als {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. Gebruik de Export-AzBlueprintWithArtifact cmdlet om de opgegeven blauwdrukdefinitie te exporteren:

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

Uw blauwdrukdefinitie importeren

Zodra u een geëxporteerde blauwdrukdefinitie hebt of een handmatig gemaakte blauwdrukdefinitie in de vereiste mapstructuur hebt,kunt u die blauwdrukdefinitie importeren in een andere beheergroep of een ander abonnement.

Zie de Azure Blueprints GitHub voor voorbeelden van ingebouwde blauwdrukdefinities.

  • Naam [vereist]
    • Hiermee geeft u de naam op voor de nieuwe blauwdrukdefinitie
  • InputPath [vereist]
    • Hiermee geeft u het pad op voor het maken van de blauwdrukdefinitie van
    • Moet overeenkomen met de vereiste mapstructuur
  • ManagementGroupId (optioneel)
    • De beheergroep-id voor het opslaan van de blauwdrukdefinitie in als dit niet de standaardinstelling van de huidige context is
    • ManagementGroupId of SubscriptionId moeten worden opgegeven
  • SubscriptionId (optioneel)
    • De abonnements-id waarin de blauwdrukdefinitie moet worden op slaan als dit niet de standaardinstelling van de huidige context is
    • ManagementGroupId of SubscriptionId moeten worden opgegeven
  1. Gebruik de Import-AzBlueprintWithArtifact cmdlet om de opgegeven blauwdrukdefinitie te importeren:

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

Zodra de blauwdrukdefinitie is geïmporteerd, wijst u deze toe met PowerShell.

Zie de volgende artikelen voor meer informatie over het maken van geavanceerde blauwdrukdefinities:

Volgende stappen