Partager via


Configuration de Databricks Apps

Important

Databricks Apps est disponible en préversion publique.

Cet article détaille les paramètres configurés automatiquement dans l’environnement Databricks Apps et explique comment définir une configuration personnalisée requise pour vos applications.

L’environnement Databricks Apps définit plusieurs variables d’environnement, telles que l’URL de l’espace de travail Azure Databricks exécutant l’application et les valeurs requises pour effectuer l’authentification pour votre application. Toutefois, vos applications nécessitent parfois des variables personnalisées supplémentaires. Par exemple, vous pouvez avoir besoin d’une commande personnalisée pour exécuter votre application ou vos paramètres pour vous connecter à un entrepôt SQL. Pour ces paramètres de configuration personnalisés, utilisez le app.yaml fichier.

Configuration de vos applications Databricks avec le app.yaml fichier

Remarque

Votre fichier de configuration d’application peut utiliser l’extension ou .yml l’extension.yaml.

Pour définir une configuration personnalisée pour votre application, ajoutez un app.yaml fichier à votre projet. Le tableau suivant montre les paramètres que vous pouvez définir dans le app.yaml fichier, suivis d’exemples de fichiers de configuration.

Paramètresapp.yaml
command

Entrez : sequence

Ensemble facultatif d’arguments pour exécuter votre application. Utilisez ce paramètre lorsque vous avez besoin d’une commande personnalisée pour exécuter votre application. Les valeurs par défaut sont [python, app.py].

La commande n’est pas exécutée dans un interpréteur de commandes. Par conséquent, toutes les valeurs définies dans l’environnement ne sont pas passées à votre application. Si votre application nécessite des paramètres supplémentaires à exécuter, utilisez la env structure.

Ce paramètre est facultatif.
env

Entrez : list

Clé de niveau supérieur pour une liste facultative de paires clé-valeur qui définissent des variables d’environnement à transmettre à votre application. Il value peut s’agir d’une valeur de paramètre réelle ou d’une référence à l’emplacement où la valeur est stockée. Les éléments valides de la liste sont les suivants :

- name : Nom de la variable d’environnement.
- L’un des suivants :
- value: valeur de la variable d’environnement.
- valueFrom: pour une valeur définie en externe, nom de la source contenant la valeur. Par exemple, le nom d’un secret ou d’une table de base de données contenant la valeur.

Ce paramètre est facultatif.

Exemple app.yaml d’application Streamlit

L’exemple app.yaml de fichier de configuration suivant exécute une application Streamlit, en passant un ID d’entrepôt SQL et une valeur pour le STREAMLIT_GATHER_USAGE_STATS paramètre :

command: [
  "streamlit",
  "run",
  "app.py"
]
env:
  - name: "DATABRICKS_WAREHOUSE_ID"
    value: "quoz2bvjy8bl7skl"
  - name: "STREAMLIT_GATHER_USAGE_STATS"
    value: "false"

Exemple app.yaml d’application Flask

L’exemple app.yaml de fichier de configuration suivant exécute une application Flask avec le serveur Gunicorn et définit une variable d’environnement contenant le chemin d’accès à un volume de catalogue Unity :

command:
  - gunicorn
  - app:app
  - -w
  - 4
env:
  - name: "VOLUME_URI"
    value: "/Volumes/catalog-name/schema-name/dir-name"

Référencer un secret Databricks

Pour référencer un secret configuré comme dépendance de ressource pour votre application, définissez valueFrom: <dependency_name> dans la env section de votre app.yaml configuration. Remplacez dependency_name par la valeur de clé de ressource de la configuration de la ressource secrète. Pour en savoir plus sur les dépendances de ressources Databricks Apps, consultez Comment faire intégrer mon application Databricks aux services Azure Databricks ?. Pour en savoir plus sur la gestion des secrets Databricks, consultez Gérer les secrets.

L’exemple app.yaml suivant référence un secret configuré en tant que dépendance de ressource :

command: [
  "python",
  "app.py"
]
env:
  - name: "SECRET_KEY"
    valueFrom: "secret-name"

Variables d’environnement Databricks Apps

Les variables suivantes sont automatiquement définies dans l’environnement Databricks Apps et disponibles pour toutes les applications. Si vous devez définir des variables d’environnement supplémentaires, ajoutez-les au fichier app.yaml.

Variable Description
DATABRICKS_APP_NAME Nom de l’application en cours d’exécution.
DATABRICKS_WORKSPACE_ID ID unique de l’espace de travail Databricks auquel appartient l’application.
DATABRICKS_HOST URL de l’espace de travail Databricks auquel appartient l’application.
DATABRICKS_APP_PORT Port réseau sur lequel l’application doit écouter.
DATABRICKS_CLIENT_ID ID client du principal de service Databricks affecté à l’application.
DATABRICKS_CLIENT_SECRET Secret OAuth pour le principal de service Databricks affecté à l’application.

Variables d’environnement par défaut pour Streamlit

Les variables spécifiques à Streamlit suivantes sont automatiquement configurées dans l’environnement Databricks Apps et disponibles pour vos applications Databricks qui utilisent l’infrastructure Streamlit :

Variable Description
STREAMLIT_SERVER_ADDRESS Adresse du serveur à utiliser par Streamlit. Cette valeur est définie sur 0.0.0.0 et ne doit pas être remplacée.
STREAMLIT_SERVER_PORT Port à utiliser par Streamlit. Cette valeur est définie sur DATABRICKS_APP_PORT et ne doit pas être remplacée.
STREAMLIT_SERVER_ENABLE_XSRF_PROTECTION Étant donné que le proxy inverse Databricks Apps protège contre la falsification de requête intersites (XSRF), il est défini sur false.
STREAMLIT_SERVER_ENABLE_CORS Étant donné que le proxy inverse Databricks Apps protège contre le partage de ressources cross-origin (CORS), il est défini sur false.
STREAMLIT_SERVER_HEADLESS Cela est défini pour true que Streamlit s’exécute sans ouvrir une fenêtre de navigateur lors du démarrage.
STREAMLIT_BROWSER_GATHER_USAGE_STATS Cela permet d’empêcher false l’envoi de statistiques utilisateur à Streamlit.