Referência de variáveis da CLI do Ambiente de Implantação do Azure

Os Ambientes de Implantação do Azure (ADE) definem muitas variáveis relacionadas ao seu ambiente que você pode referenciar durante a criação de imagens personalizadas. Você pode usar as variáveis abaixo dentro dos scripts de operação (deploy.sh ou delete.sh) para tornar suas imagens flexíveis para o ambiente com o qual estão interagindo.

Para arquivos usados pelo ADE dentro do contêiner, todos existem em uma ade subpasta fora do diretório inicial.

Aqui está a lista de variáveis de ambiente disponíveis:

ADE_ERROR_LOG

Refere-se ao arquivo localizado em /ade/temp/error.log. O error.log arquivo armazena qualquer saída de erro padrão que preencha os detalhes de erro de um ambiente no resultado de uma implantação ou exclusão com falha. O arquivo é usado com ade executeo , que registra qualquer saída padrão e conteúdo de erro padrão em um arquivo de log gerenciado pelo ADE. Ao usar o comando, redirecione o ade execute log de erros padrão para esse local de arquivo usando o seguinte comando:

ade execute --operation $ADE_OPERATION_NAME --command "{YOUR_COMMAND}" 2> >(tee -a $ADE_ERROR_LOG)

Usando esse método, você pode exibir o erro de implantação ou exclusão no portal do desenvolvedor. Isso leva a iterações de depuração mais rápidas e bem-sucedidas ao criar sua imagem personalizada e a um diagnóstico mais rápido da causa raiz da operação com falha.

ADE_OUTPUTS

Refere-se ao arquivo localizado em /ade/temp/output.json. O output.json arquivo armazena todas as saídas da implantação de um ambiente no armazenamento persistente, para que possa ser acessado usando a CLI do Azure em uma data posterior. Ao armazenar a saída em uma imagem personalizada, verifique se a saída é carregada no arquivo especificado, conforme mostrado no exemplo a seguir:

echo "$deploymentOutput" > $ADE_OUTPUTS

ADE_STORAGE

Refere-se ao diretório localizado em /ade/storage. Durante o ponto de entrada da imagem principal, o ADE extrai um arquivo especialmente nomeado storage.zip do contêiner de armazenamento do ambiente e preenche esse diretório e, ao concluir a operação, recarrega o diretório como um arquivo zip de volta para o contêiner de armazenamento. Se você tiver arquivos que gostaria de referenciar em sua imagem personalizada em reimplantações subsequentes, como arquivos de estado, coloque-os dentro desse diretório.

ADE_CLIENT_ID

Refere-se à ID do objeto da Identidade de Serviço Gerenciado (MSI) do tipo de ambiente de projeto do ambiente. Essa variável pode ser usada para validar a CLI do Azure para permissões a serem utilizadas dentro do contêiner, como a implantação de infraestrutura.

ADE_TENANT_ID

Refere-se ao GUID do locatário do ambiente.

ADE_SUBSCRIPTION_ID

Refere-se ao GUID de assinatura do ambiente.

ADE_TEMPLATE_FILE

Refere-se a onde o arquivo de modelo principal especificado na propriedade 'templatePath' na definição de ambiente reside dentro do contêiner. Esse caminho espelha aproximadamente o controle do código-fonte de onde o catálogo, dependendo do nível de caminho do arquivo ao qual você conectou o catálogo. O arquivo está localizado aproximadamente em /ade/repository/{CATALOG_NAME}/{PATH_TO_TEMPLATE_FILE}. Esse método é usado principalmente durante a etapa de implantação principal como o arquivo referenciado para basear a implantação.

Aqui está um exemplo usando a CLI do Azure:

az deployment group create --subscription $ADE_SUBSCRIPTION_ID \
    --resource-group "$ADE_RESOURCE_GROUP_NAME" \
    --name "$deploymentName" \
    --no-prompt true --no-wait \
    --template-file "$ADE_TEMPLATE_FILE" \
    --parameters "$deploymentParameters" \
    --only-show-errors

Quaisquer outros arquivos, como arquivos IaC de suporte ou arquivos que você gostaria de usar em sua imagem personalizada, são armazenados em seu local relativo ao arquivo de modelo dentro do contêiner como eles estão dentro do catálogo. Por exemplo, tome o seguinte diretório:

├───SampleCatalog
   ├───EnvironmentDefinition1
      │   file1.bicep
      │   main.bicep
      │   environment.yaml
      │
      └───TestFolder
              test1.txt
              test2.txt

Neste caso, $ADE_TEMPLATE_FILE=/ade/repository/SampleCatalog/EnvironmentDefinition1/main.bicep. Além disso, arquivos como file1.bicep estariam localizados dentro do contêiner em /ade/repository/SampleCatalog/EnvironmentDefinition1/file1.bicep, e test2.txt estaria localizado em /ade/repository/SampleCatalog/EnvironmentDefinition1/TestFolder/test2.txt.

ADE_ENVIRONMENT_NAME

O nome do ambiente fornecido no momento da implantação.

ADE_ENVIRONMENT_LOCATION

O local onde o ambiente está sendo implantado. Esta localização é a região do projeto.

ADE_RESOURCE_GROUP_NAME

O nome do grupo de recursos criado pelo ADE para implantar seus recursos.

ADE_ENVIRONMENT_TYPE

O nome do tipo de ambiente de projeto que está sendo usado para implantar esse ambiente.

ADE_OPERATION_PARAMETERS

Um objeto JSON dos parâmetros fornecidos para implantar o ambiente. Segue-se um exemplo do objeto parameters:

{
    "location": "locationInput",
    "name": "nameInput",
    "sampleObject": {
        "sampleProperty": "sampleValue"
    },
    "sampleArray": [
        "sampleArrayValue1",
        "sampleArrayValue2"
    ]
}

ADE_OPERATION_NAME

O tipo de operação que está sendo executada no ambiente. Hoje, esse valor é 'deploy' ou 'delete'.

ADE_HTTP__OPERATIONID

O ID da operação atribuído à operação que está sendo executada no ambiente. O ID da operação é usado como validação para usar a CLI do ADE e é o identificador principal na recuperação de logs de operações anteriores.

ADE_HTTP__DEVCENTERID

A ID do Centro de Desenvolvimento do ambiente. A ID do Centro de Desenvolvimento também é usada como validação para usar a CLI do ADE.