настройка переменных среды;

Переменные среды влияют на подготовку и развертывание ресурсов в Azure. Это особенно полезно при выполнении azd в сценариях рабочих процессов CI/CD.

Подстановка входных параметров

Переменные среды можно ссылаться в файлах параметров (*.parameters.json для Bicep, *.tfvars.json для Terraform) в рамках подготовки. При обнаружении azd синтаксиса подстановки переменной среды автоматически заменяет ссылку фактическим набором значений переменной среды. Подстановка также возникает для определенных параметров конфигурации (свойства, описанные в разделе "Поддержка подстановки переменных среды"), а также в файлах azure.yaml конфигурации развертывания, таких как манифесты развертывания.aks

Пример подстановки входных параметров (Bicep)

Предположим, что у вас есть набор переменных AZURE_LOCATION среды:

export AZURE_LOCATION=westus3
$env:AZURE_LOCATION='westus3'

main.parameters.json В файле можно ссылаться и разрешать подстановку AZURE_LOCATION среды с помощью следующего синтаксиса:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "location": {
      "value": "${AZURE_LOCATION}"
    }
  }
}

Файл, зависящий от среды .env

Выходные данные для подготовки инфраструктуры автоматически хранятся в виде переменных среды в .env файле, расположенном в разделе .azure/<environment name>/.env. Эта настройка позволяет локальному приложению или сценариям развертывания использовать переменные, хранящиеся в .env файле, чтобы ссылаться на размещенные в Azure ресурсы при необходимости. Чтобы просмотреть эти выходные данные, запустить azd env get-valuesили azd env get-values --output json для выходных данных JSON.

Переменные среды, предоставляемые azd

Ниже приведены переменные, которые azdавтоматически предоставляются:

Имя Описание Примеры Когда доступно
AZURE_ENV_NAME Имя используемой среды. todo-app-dev При создании среды (после запуска azd init или azd env new, например).
AZURE_LOCATION Расположение используемой среды. eastus2 Перед первой подготовкой среды.
AZURE_PRINCIPAL_ID Запущенный пользователь или субъект-служба. 925cff12-ffff-4e9f-9580-8c06239dcaa4 Определяется автоматически во время подготовки (эфемерный).
AZURE_SUBSCRIPTION_ID Целевая подписка. 925cff12-ffff-4e9f-9580-8c06239dcaa4 Перед первой подготовкой среды.
SERVICE_<service>_IMAGE_NAME Полное имя образа контейнера, опубликованного в Реестр контейнеров Azure для служб приложений контейнеров. todoapp/web-dev:azdev-deploy-1664988805 После успешной публикации containerapp образа

Переменные среды, предоставляемые пользователем

Предоставленные пользователем переменные можно объявить как выходной параметр инфраструктуры (который автоматически хранится .envв main.bicep файле) или задать непосредственно пользователем в среде (azd env set <key> <value>). azd считывает значения в качестве конфигурации и выполняется по-разному.

Имя Описание Примеры Произведенный эффект
AZURE_AKS_CLUSTER_NAME Имя целевого кластера Служба Azure Kubernetes. aks-my-cluster Необходимое свойство для развертывания aks службы.
AZURE_RESOURCE_GROUP Целевая группа ресурсов. Строка типа. rg-todo-dev azd не будет выполнять обнаружение группы ресурсов и вместо этого ссылается на эту группу ресурсов. azd кроме того, не управляет созданными файлами конфигурации IaC, поэтому изменения файлов IaC могут потребоваться.
AZURE_CONTAINER_REGISTRY_ENDPOINT Конечная точка Реестр контейнеров Azure для публикации образа Docker. Строка типа. myexampleacr.azurecr.io Необходимое свойство для развертывания containerapp или aks службы.
SERVICE_<service>_ENDPOINTS Конечные точки для конкретной службы. Тип array (bicep) / list-equivalent (terraform). ['endpoint1', 'endpoint2'] Задает общедоступные конечные точки для конкретной службы, которые будут использоваться azd для отображения. По умолчанию azd обнаруживает автоматически назначенные имена узлов для данного узла, например *.azurewebsites.net для appservice.

Включение демонстрационного режима

azd включает демонстрационный режим, который скрывает идентификатор подписки в выходных данных консоли. Эта функция полезна для сценариев, в которых требуется демонстрация или представление azd команд в общедоступном параметре.

В демонстрационном режиме представлена переменная среды: AZD_DEMO_MODE Чтобы включить демонстрационный режим, выполните следующую команду:

export AZD_DEMO_MODE true

Если вы хотите, чтобы демонстрационный режим сохранялось во время перезагрузки, можно также выполнить следующее:

setx AZD_DEMO_MODE true

или в PowerShell:

$env:AZD_DEMO_MODE="true"