Compartir a través de


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.