Конфигурация приложений Databricks
Внимание
Приложения Databricks доступны в общедоступной предварительной версии.
В этой статье описаны параметры, автоматически настроенные в среде Databricks Apps, и объясняется, как определить настраиваемую конфигурацию, необходимую для приложений.
Среда Databricks Apps задает несколько переменных среды, таких как URL-адрес рабочей области Azure Databricks под управлением приложения и значений, необходимых для проверки подлинности приложения. Однако иногда для приложений требуются дополнительные пользовательские переменные. Например, может потребоваться пользовательская команда для запуска приложения или параметров для подключения к хранилищу SQL. Для этих пользовательских параметров конфигурации используйте app.yaml
файл.
Настройка приложений Databricks с app.yaml
помощью файла
Примечание.
Файл конфигурации приложения может использовать .yaml
или .yml
расширение.
Чтобы определить настраиваемую app.yaml
конфигурацию для приложения, добавьте файл в проект. В следующей таблице показаны параметры, которые можно определить в app.yaml
файле, а затем примеры файлов конфигурации.
Параметрыapp.yaml |
---|
command Тип: sequence Необязательный набор аргументов для запуска приложения. Используйте этот параметр, если требуется пользовательская команда для запуска приложения. Значения по умолчанию: [python, app.py] Команда не выполняется в оболочке, поэтому никакие значения, заданные в среде, не передаются в приложение. Если приложению требуется выполнить дополнительные параметры, используйте структуру env .Эта настройка необязательна. |
env Тип: list Ключ верхнего уровня для необязательного списка пар "ключ-значение", определяющих переменные среды для передачи в приложение. Это value может быть либо фактическое значение параметра, либо ссылка на место хранения значения. Допустимые элементы в списке:- name : имя переменной среды.— одно из следующих: - value : значение переменной среды.- valueFrom : для внешнего определенного значения имя источника, содержащего значение. Например, имя секрета или таблицы базы данных, содержащей значение.Эта настройка необязательна. |
Пример app.yaml
для приложения Streamlit
В следующем примере app.yaml
файла конфигурации выполняется приложение Streamlit, передавая идентификатор хранилища SQL и значение параметра STREAMLIT_GATHER_USAGE_STATS
:
command: [
"streamlit",
"run",
"app.py"
]
env:
- name: "DATABRICKS_WAREHOUSE_ID"
value: "quoz2bvjy8bl7skl"
- name: "STREAMLIT_GATHER_USAGE_STATS"
value: "false"
Пример app.yaml
приложения Flask
Следующий пример app.yaml
файла конфигурации запускает приложение Flask с сервером Gunicorn и задает переменную среды, содержащую путь к тому каталога Unity:
command:
- gunicorn
- app:app
- -w
- 4
env:
- name: "VOLUME_URI"
value: "/Volumes/catalog-name/schema-name/dir-name"
Ссылка на секрет Databricks
Чтобы ссылаться на секрет, настроенный в качестве зависимости ресурсов для приложения, задайте valueFrom: <dependency_name>
в env
разделе конфигурации app.yaml
. Замените dependency_name
значением ключа ресурса из конфигурации секретного ресурса. Дополнительные сведения о зависимости ресурсов Databricks Apps см. в Разделы справки интеграции приложения Databricks со службами Azure Databricks?. Дополнительные сведения об управлении секретами Databricks см. в статье "Управление секретами".
В следующем примере app.yaml
ссылается секрет, настроенный в качестве зависимости ресурса:
command: [
"python",
"app.py"
]
env:
- name: "SECRET_KEY"
valueFrom: "secret-name"
Переменные среды Databricks Apps
Следующие переменные автоматически задаются в среде Databricks Apps и доступны для всех приложений. Если необходимо задать дополнительные переменные среды, добавьте их в файл app.yaml.
«Переменная» | Description |
---|---|
DATABRICKS_APP_NAME |
Имя запущенного приложения. |
DATABRICKS_WORKSPACE_ID |
Уникальный идентификатор рабочей области Databricks, к которой принадлежит приложение. |
DATABRICKS_HOST |
URL-адрес рабочей области Databricks, к которой принадлежит приложение. |
DATABRICKS_APP_PORT |
Сетевой порт приложения должен прослушивать. |
DATABRICKS_CLIENT_ID |
Идентификатор клиента для субъекта-службы Databricks, назначенного приложению. |
DATABRICKS_CLIENT_SECRET |
Секрет OAuth для субъекта-службы Databricks, назначенного приложению. |
Переменные среды по умолчанию для Streamlit
Следующие переменные Streamlit автоматически настраиваются в среде Databricks Apps и доступны для приложений Databricks, использующих платформу Streamlit:
«Переменная» | Description |
---|---|
STREAMLIT_SERVER_ADDRESS |
Адрес сервера для использования Streamlit. Это значение равно 0.0.0.0 и не должно быть переопределено. |
STREAMLIT_SERVER_PORT |
Порт для использования Streamlit. Это значение имеет значение DATABRICKS_APP_PORT и не должно быть переопределено. |
STREAMLIT_SERVER_ENABLE_XSRF_PROTECTION |
Так как обратный прокси-сервер Databricks Apps защищает от межсайтовых запросов forgery (XSRF), это значение имеет false значение . |
STREAMLIT_SERVER_ENABLE_CORS |
Так как обратный прокси-сервер Databricks Apps защищает от общего доступа к ресурсам между источниками (CORS), это значение имеет значение false . |
STREAMLIT_SERVER_HEADLESS |
Для этого задано true значение Streamlit, не открывая окно браузера при запуске. |
STREAMLIT_BROWSER_GATHER_USAGE_STATS |
Для этого необходимо false предотвратить отправку статистики пользователей в Streamlit. |