Compartir a través de


Tutorial: Adición de salidas a la plantilla de Azure Resource Manager

En este tutorial, aprenderá a devolver un valor de la plantilla de Azure Resource Manager (plantilla de ARM). Las salidas se usan cuando necesitas un valor para un recurso que despliegas. Este tutorial tarda 7 minutos en completarse.

Prerrequisitos

Se recomienda completar el tutorial sobre las variables, pero no es necesario.

Debe tener Visual Studio Code y Azure PowerShell o la CLI de Azure. Para obtener más información, consulte herramientas de plantilla.

Revisar plantilla

Al final del tutorial anterior, la plantilla tenía el siguiente json:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storagePrefix": {
      "type": "string",
      "minLength": 3,
      "maxLength": 11
    },
    "storageSKU": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "allowedValues": [
        "Standard_LRS",
        "Standard_GRS",
        "Standard_RAGRS",
        "Standard_ZRS",
        "Premium_LRS",
        "Premium_ZRS",
        "Standard_GZRS",
        "Standard_RAGZRS"
      ]
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    }
  },
  "variables": {
    "uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2025-06-01",
      "name": "[variables('uniqueStorageName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('storageSKU')]"
      },
      "kind": "StorageV2",
      "properties": {
        "supportsHttpsTrafficOnly": true
      }
    }
  ]
}

Implementa una cuenta de almacenamiento, pero no devuelve información sobre ella. Es posible que tenga que capturar propiedades del nuevo recurso para que estén disponibles más adelante como referencia.

Adición de salidas

Puede usar salidas para devolver valores de la plantilla. Puede resultar útil, por ejemplo, obtener los puntos de conexión de la nueva cuenta de almacenamiento.

En el ejemplo siguiente se resalta el cambio en la plantilla para agregar un valor de salida. Copie todo el archivo y reemplace la plantilla por su contenido:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storagePrefix": {
      "type": "string",
      "minLength": 3,
      "maxLength": 11
    },
    "storageSKU": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "allowedValues": [
        "Standard_LRS",
        "Standard_GRS",
        "Standard_RAGRS",
        "Standard_ZRS",
        "Premium_LRS",
        "Premium_ZRS",
        "Standard_GZRS",
        "Standard_RAGZRS"
      ]
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    }
  },
  "variables": {
    "uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2025-06-01",
      "name": "[variables('uniqueStorageName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('storageSKU')]"
      },
      "kind": "StorageV2",
      "properties": {
        "supportsHttpsTrafficOnly": true
      }
    }
  ],
  "outputs": {
    "storageEndpoint": {
      "type": "object",
      "value": "[reference(variables('uniqueStorageName')).primaryEndpoints]"
    }
  }
}

Hay algunos elementos importantes que debe tener en cuenta sobre el valor de salida que agregó.

El tipo de valor devuelto se establece en object, lo que significa que devuelve un objeto JSON.

Usa la función de referencia para obtener el estado en tiempo de ejecución de la cuenta de almacenamiento. Para obtener el estado en tiempo de ejecución de un recurso, pase el nombre o el identificador de un recurso. En este caso, se usa la misma variable que usó para crear el nombre de la cuenta de almacenamiento.

Por último, devuelve la propiedad primaryEndpoints de la cuenta de almacenamiento.

Implementar plantilla

Ya está listo para implementar la plantilla y examinar el valor devuelto.

Si no ha creado el grupo de recursos, consulte Creación de un grupo de recursos. En el ejemplo se supone que ha establecido la templateFile variable en la ruta de acceso al archivo de plantilla, como se muestra en el primer tutorial.

New-AzResourceGroupDeployment `
  -Name addoutputs `
  -ResourceGroupName myResourceGroup `
  -TemplateFile $templateFile `
  -storagePrefix "store" `
  -storageSKU Standard_LRS

En la salida del comando de implementación, verá un objeto similar al ejemplo siguiente solo si la salida está en formato JSON:

{
    "dfs": "https://storeluktbfkpjjrkm.dfs.core.windows.net/",
    "web": "https://storeluktbfkpjjrkm.z19.web.core.windows.net/",
    "blob": "https://storeluktbfkpjjrkm.blob.core.windows.net/",
    "queue": "https://storeluktbfkpjjrkm.queue.core.windows.net/",
    "table": "https://storeluktbfkpjjrkm.table.core.windows.net/",
    "file": "https://storeluktbfkpjjrkm.file.core.windows.net/"
}

Nota:

Si se produce un error en la implementación, use la verbose opción para obtener información sobre los recursos que se están creando. Use el modificador debug para obtener más información para la depuración.

Revisión del trabajo

Ha hecho mucho en los últimos seis tutoriales. Dediquemos un momento a revisar lo que ha hecho. Ha creado una plantilla con parámetros que son fáciles de proporcionar. La plantilla es reutilizable en diferentes entornos, ya que permite la personalización y crea dinámicamente los valores necesarios. También devuelve información sobre la cuenta de almacenamiento que puede usar en el script.

Ahora, echemos un vistazo al grupo de recursos y al historial de implementación.

  1. Inicie sesión en Azure Portal.

  2. En el menú de la izquierda, seleccione Grupos de recursos.

  3. Seleccione el grupo de recursos en el que ha realizado la implementación.

  4. En función de los pasos que haya realizado, debe tener al menos una y quizás varias cuentas de almacenamiento en el grupo de recursos.

  5. También debe tener varios despliegues exitosos enumerados en el historial. Seleccione ese vínculo.

    Captura de pantalla de Azure Portal en la que se muestra el vínculo implementaciones.

  6. Verá todas las implementaciones del historial. Seleccione la implementación denominada addoutputs.

    Captura de pantalla de Azure Portal que muestra el historial de implementación.

  7. Puede revisar los datos de entrada.

    Captura de pantalla de Azure Portal en la que se muestran las entradas de implementación.

  8. Puede revisar los resultados.

    Captura de pantalla de Azure Portal en la que se muestran las salidas de implementación.

  9. Puede revisar la plantilla.

    Captura de pantalla de Azure Portal que muestra la plantilla de implementación.

Limpieza de recursos

Si va a pasar al siguiente tutorial, no es necesario eliminar el grupo de recursos.

Si va a terminar ya, puede eliminar el grupo de recursos.

  1. En Azure Portal, seleccione Grupos de recursos en el menú izquierdo.
  2. Escriba el nombre del grupo de recursos en el campo Filtro para cualquier campo... de texto.
  3. Active la casilla situada junto a myResourceGroup y seleccione myResourceGroup o el nombre del grupo de recursos.
  4. Seleccione Eliminar grupo de recursos del menú superior.

Pasos siguientes

En este tutorial, añadiste un valor de retorno a la plantilla. En el siguiente tutorial, aprenderá a exportar una plantilla y a usar partes de esa plantilla exportada en la plantilla.