Configuración de Databricks Apps
Importante
Databricks Apps está en versión preliminar pública.
En este artículo se detallan las opciones configuradas automáticamente en el entorno de Databricks Apps y se explica cómo definir la configuración personalizada necesaria para las aplicaciones.
El entorno de Databricks Apps establece varias variables de entorno, como la dirección URL del área de trabajo de Azure Databricks que ejecuta la aplicación y los valores necesarios para realizar la autenticación de la aplicación. Sin embargo, a veces las aplicaciones requerirán variables personalizadas adicionales. Por ejemplo, es posible que necesite un comando personalizado para ejecutar la aplicación o los parámetros para conectarse a una instancia de SQL Warehouse. Para estos parámetros de configuración personalizados, use el app.yaml
archivo .
Configuración de las aplicaciones de Databricks con el app.yaml
archivo
Nota:
El archivo de configuración de la aplicación puede usar la .yaml
extensión o .yml
.
Para definir la configuración personalizada de la aplicación, agregue un app.yaml
archivo al proyecto. En la tabla siguiente se muestran los valores que puede definir en el app.yaml
archivo, seguidos de archivos de configuración de ejemplo.
Configuración deapp.yaml |
---|
command Tipo: sequence Un conjunto opcional de argumentos para ejecutar la aplicación. Use esta configuración cuando necesite un comando personalizado para ejecutar la aplicación. Los valores predeterminados son [python, app.py] .El comando no se ejecuta en un shell, por lo que los valores establecidos en el entorno no se pasan a la aplicación. Si la aplicación requiere parámetros adicionales para ejecutarse, use la env estructura .Este ajuste es opcional. |
env Tipo: list Clave de nivel superior para una lista opcional de pares clave-valor que definen variables de entorno que se van a pasar a la aplicación. value puede ser un valor de parámetro real o una referencia a donde se almacena el valor. Los elementos válidos de la lista son:- name : nombre de la variable de entorno.- Uno de: - value : el valor de la variable de entorno.- valueFrom : para un valor definido externamente, el nombre del origen que contiene el valor. Por ejemplo, el nombre de un secreto o una tabla de base de datos que contiene el valor.Este ajuste es opcional. |
Ejemplo app.yaml
de una aplicación Streamlit
El siguiente archivo de configuración de ejemplo app.yaml
ejecuta una aplicación Streamlit, pasando un identificador de SQL Warehouse y un valor para el STREAMLIT_GATHER_USAGE_STATS
parámetro :
command: [
"streamlit",
"run",
"app.py"
]
env:
- name: "DATABRICKS_WAREHOUSE_ID"
value: "quoz2bvjy8bl7skl"
- name: "STREAMLIT_GATHER_USAGE_STATS"
value: "false"
Ejemplo app.yaml
de una aplicación de Flask
El siguiente archivo de configuración de ejemplo app.yaml
ejecuta una aplicación de Flask con el servidor Gunicorn y establece una variable de entorno que contiene la ruta de acceso a un volumen de catálogo de Unity:
command:
- gunicorn
- app:app
- -w
- 4
env:
- name: "VOLUME_URI"
value: "/Volumes/catalog-name/schema-name/dir-name"
Referencia a un secreto de Databricks
Para hacer referencia a un secreto configurado como una dependencia de recursos para la aplicación, establezca valueFrom: <dependency_name>
en la sección de app.yaml
la env
configuración. Reemplace dependency_name
por el valor de clave de recurso de la configuración del recurso secreto. Para más información sobre las dependencias de recursos de Databricks Apps, consulte Cómo integrar mi aplicación de Databricks con los servicios de Azure Databricks. Para más información sobre cómo administrar secretos de Databricks, consulte Administración de secretos.
En el ejemplo app.yaml
siguiente se hace referencia a un secreto configurado como una dependencia de recursos:
command: [
"python",
"app.py"
]
env:
- name: "SECRET_KEY"
valueFrom: "secret-name"
Variables de entorno de Databricks Apps
Las siguientes variables se establecen automáticamente en el entorno de Databricks Apps y están disponibles para todas las aplicaciones. Si necesita establecer variables de entorno adicionales, agréguelas al archivo app.yaml.
Variable | Descripción |
---|---|
DATABRICKS_APP_NAME |
Nombre de la aplicación en ejecución. |
DATABRICKS_WORKSPACE_ID |
El identificador único del área de trabajo de Databricks a la que pertenece la aplicación. |
DATABRICKS_HOST |
Dirección URL del área de trabajo de Databricks a la que pertenece la aplicación. |
DATABRICKS_APP_PORT |
Puerto de red en el que la aplicación debe escuchar. |
DATABRICKS_CLIENT_ID |
Identificador de cliente de la entidad de servicio de Databricks asignada a la aplicación. |
DATABRICKS_CLIENT_SECRET |
Secreto de OAuth para la entidad de servicio de Databricks asignada a la aplicación. |
Variables de entorno predeterminadas para Streamlit
Las siguientes variables específicas de Streamlit se configuran automáticamente en el entorno de Databricks Apps y están disponibles para las aplicaciones de Databricks que usan el marco Streamlit:
Variable | Descripción |
---|---|
STREAMLIT_SERVER_ADDRESS |
La dirección del servidor que usa Streamlit. Este valor se establece en 0.0.0.0 y no se debe invalidar. |
STREAMLIT_SERVER_PORT |
Puerto para su uso por Streamlit. Este valor se establece en DATABRICKS_APP_PORT y no se debe invalidar. |
STREAMLIT_SERVER_ENABLE_XSRF_PROTECTION |
Dado que el proxy inverso de Databricks Apps protege contra la falsificación de solicitud entre sitios (XSRF), se establece en false . |
STREAMLIT_SERVER_ENABLE_CORS |
Dado que el proxy inverso de Databricks Apps protege contra el uso compartido de recursos entre orígenes (CORS), se establece en false . |
STREAMLIT_SERVER_HEADLESS |
Se establece en true para que Streamlit se ejecute sin abrir una ventana del explorador al iniciarse. |
STREAMLIT_BROWSER_GATHER_USAGE_STATS |
Se establece en false para evitar el envío de estadísticas de usuario a Streamlit. |