Importación y exportación de definiciones de plano técnico con PowerShell

Importante

Azure Blueprints (versión preliminar) se retirará el 31 de enero de 2027, con una retirada por fases a partir del 31 de julio de 2026. Migra las definiciones y asignaciones de Blueprints existentes a Deployment Stacks (recomendado) y Template Specs. Los artefactos de Blueprint se convierten en plantillas JSON de ARM o archivos Bicep usados para definir pilas de implementación. Para consultar el cronograma completo por fases, el impacto y las preguntas frecuentes, consulte retirada de Azure Blueprints o https://aka.ms/AzureBlueprintsRetirement. Para obtener información sobre cómo crear un artefacto como un recurso de ARM, consulte:

Azure Blueprints se puede administrar completamente a través del portal de Azure. A medida que las organizaciones avanzan en su uso de Azure Blueprints, deben empezar a pensar en definiciones de plano técnico como código administrado. Este concepto se conoce a menudo como Infraestructura como Código (IaC). El tratamiento de las definiciones de plano técnico como código ofrece ventajas adicionales más allá de lo que ofrece Azure portal. Entre las ventajas se incluye lo siguiente:

  • Uso compartido de definiciones de plano técnico
  • Hacer una copia de seguridad de las definiciones de planos
  • Reutilización de las definiciones de planos técnicos en diferentes inquilinos o suscripciones
  • Colocación de las definiciones de plano técnico en el control de código fuente
    • Pruebas automatizadas de definiciones de plano técnico en entornos de prueba
    • Compatibilidad con canalizaciones de integración continua y despliegue continuo (CI/CD)

Independientemente de los motivos, la administración de las definiciones de plano técnico como código tiene ventajas. En este artículo se muestra cómo usar los Import-AzBlueprintWithArtifact comandos y Export-AzBlueprintWithArtifact en el módulo Az.Blueprint .

Prerequisites

Este artículo parte de la base de que se tienen unos conocimientos prácticos intermedios de Azure Blueprints. Si aún no lo ha hecho, siga estos artículos:

Si aún no se ha instalado, siga las instrucciones en Adición del módulo Az.Blueprint para instalar y validar el módulo Az.Blueprint desde la Galería de PowerShell.

Estructura de carpetas de una definición de plano técnico

Antes de examinar la exportación e importación de planos técnicos, veamos cómo se estructuran los archivos que componen la definición del plano técnico. Una definición de plano técnico debe almacenarse en su propia carpeta.

Importante

Si no se pasa ningún valor al parámetro Name del Import-AzBlueprintWithArtifact cmdlet, se usa el nombre de la carpeta en la que se almacena la definición del plano técnico.

Junto con la definición del plano técnico, que debe denominarse blueprint.json, son los artefactos de los que se compone la definición del plano técnico. Cada artefacto debe estar en la subcarpeta denominada artifacts. En conjunto, la estructura de la definición del plano técnico como archivos JSON en carpetas debe tener el siguiente aspecto:

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

Exporta la definición de tu blueprint

Los pasos para exportar la definición del plano técnico son sencillos. La exportación de la definición del plano técnico puede ser útil para compartir, realizar copias de seguridad o colocarla en el control de código fuente.

  • Plano técnico [obligatorio]
    • Especifica la definición del plano técnico
    • Uso Get-AzBlueprint para obtener el objeto de referencia
  • OutputPath [obligatorio]
    • Especifica la ruta de acceso en la que guardar los archivos JSON de definición de plano técnico
    • Los archivos de salida se encuentran en una subcarpeta con el nombre de la definición del plano técnico.
  • Versión (opcional)
    • Especifica la versión que se va a generar si el objeto de referencia blueprint contiene referencias a más de una versión.
  1. Obtenga una referencia a la definición de plano técnico que se va a exportar desde la suscripción representada como {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. Use el Export-AzBlueprintWithArtifact cmdlet para exportar la definición de plano técnico especificada:

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

Importa la definición de tu plano

Una vez que tenga una definición de plano técnico exportada o tenga una definición de plano técnico creada manualmente en la estructura de carpetas necesaria, puede importar esa definición de plano técnico a otro grupo de administración o suscripción.

Para obtener ejemplos de definiciones de plano técnico integradas, consulte el repositorio de Azure Blueprints GitHub.

  • Nombre [obligatorio]
    • Especifica el nombre de la nueva definición de plano técnico.
  • InputPath [obligatorio]
  • ManagementGroupId (opcional)
    • El identificador de grupo de administración en el que guardar la definición de plano técnico si no se trata del valor predeterminado del contexto actual
    • Se debe especificar ManagementGroupId o SubscriptionId .
  • SubscriptionId (opcional)
    • El identificador de suscripción en el que guardar la definición de plano técnico si no se trata del valor predeterminado del contexto actual
    • Se debe especificar ManagementGroupId o SubscriptionId .
  1. Use el Import-AzBlueprintWithArtifact cmdlet para importar la definición de plano técnico especificada:

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

Una vez importada la definición del plano técnico, asígnela con PowerShell.

Para obtener información sobre cómo crear definiciones avanzadas de plano técnico, consulte los siguientes artículos:

Pasos siguientes