Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
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
Затем в коде приложения получите к ним доступ как к переменным среды.
Python
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;
Ссылка valueFrom
В следующей таблице показано значение, разрешающееся valueFrom для каждого типа ресурса:
| Тип ресурса | Разрешенное значение | Пример |
|---|---|---|
| Приложение Databricks | Имя приложения | my-app |
| Пространство Genie | Идентификатор пространства | 01ef1fa2b3c45678 |
| База данных автомасштабирования Lakebase | Путь к конечной точке | projects/my-project/branches/main/endpoints/ep123 |
| Оперативная база данных Lakebase | Хост | postgres-host.example.com |
| Задание Lakeflow | Идентификатор задания | 123456789 |
| Эксперимент MLflow | Идентификатор эксперимента | 456789012 |
| Конечная точка обслуживания модели | Имя конечной точки | my-serving-endpoint |
| Секрет | Расшифрованное значение секрета | (значение секрета) |
| Хранилище SQL | Идентификатор хранилища | a1b2c3d4e5f67890 |
| Подключение каталога Unity | Имя подключения | my_connection |
| Таблица каталога Unity | Полное название таблицы | catalog.schema.table |
| Объем каталога Unity | Путь тома | /Volumes/catalog/schema/volume |
| Определяемая пользователем функция | Полное имя функции | catalog.schema.my_function |
| Индекс векторного поиска | Полное имя индекса | catalog.schema.my_index |