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. |