Поделиться через


Определение переменных среды в приложении Databricks

Azure Databricks автоматически задает определенные переменные среды в среде выполнения приложения. Эти переменные предоставляют необходимые сведения о приложении и рабочей области и доступны для всех приложений Databricks по умолчанию. Список переменных по умолчанию см. в системной среде Databricks Apps.

Если приложению требуются дополнительные переменные среды, определите их в файле конфигурации app.yaml в env разделе. Для каждой переменной требуется имя и значение. Переменные могут использовать жестко закодированное значение или ссылаться на внешний источник.

Рассмотрим пример.

env:
  - name: LOG_LEVEL
    value: 'debug'

Только значения жесткого кода, если они статически, не учитывается и согласованы в разных средах. Примеры включают value: "true" переключатели функций, value: "us-west" для фиксированных регионов или value: "UTC" для часовых поясов по умолчанию.

Это важно

Чтобы обеспечить безопасность и переносимость приложения, никогда не ссылайтесь на секретные ключи или другие конфиденциальные значения непосредственно в конфигурации приложения. Например, избегайте внедрения значений секретов в value поле переменной среды или непосредственно в исходном коде. Вместо этого используйте valueFrom поле для безопасной ссылки на секреты и другие управляемые ресурсы, определенные в блоке ресурсов. Это гарантирует, что секреты извлекаются из Azure Databricks во время выполнения и никогда не предоставляются в виде открытого текста в файлах конфигурации.

Использование переменных среды для доступа к ресурсам

Если вы определяете ресурсы приложения, например хранилища SQL или секреты, обратитесь к этим ресурсам в env разделе app.yaml файла с помощью valueFrom поля. Это подключает переменные среды в приложении к ключам ресурсов, определенным в resources.

Пример app.yaml фрагмента кода:

env:
  - name: WAREHOUSE_ID
    valueFrom: sql_warehouse

  - name: SECRET_KEY
    valueFrom: secret

Затем в коде приложения получите к ним доступ как к переменным среды.

Питон

import os

warehouse_id = os.getenv("WAREHOUSE_ID")
secret_value = os.getenv("SECRET_KEY")

JavaScript

const warehouseId = process.env.WAREHOUSE_ID;
const secretValue = process.env.SECRET_KEY;

Дополнительные сведения об управлении секретами Azure Databricks см. в статье "Управление секретами".

Дальнейшие шаги