Partager via


Ressources des Asset Bundles de Databricks

Databricks Asset Bundles vous permet de spécifier des informations sur les ressources Azure Databricks utilisées par le bundle dans le mappage resources dans la configuration de l’offre groupée. Consultez la cartographie des ressources ainsi que les références clés des ressources .

Cette page fournit des informations de référence sur la configuration pour tous les types de ressources pris en charge pour les offres groupées et fournit des détails et un exemple pour chaque type pris en charge. Pour obtenir d’autres exemples, consultez les exemples de configuration du Bundle .

Le schéma JSON pour les bundles utilisés pour valider la configuration YAML se trouve dans le référentiel GitHub de l’interface CLI Databricks.

Tip

Pour générer YAML pour n’importe quelle ressource existante, utilisez la commande databricks bundle generate. Consultez l’offre groupée databricks générée.

Ressources prises en charge

Le tableau suivant répertorie les types de ressources pris en charge pour les bundles (YAML et Python, le cas échéant). Certaines ressources peuvent être créées en les définissant dans un bundle et en déployant le bundle, et certaines ressources peuvent uniquement être créées en référençant une ressource existante à inclure dans le bundle.

La configuration des ressources définit un objet Databricks qui correspond à un objet API REST Databricks . Les champs de demande de création pris en charge par l’objet API REST, exprimés en tant que YAML, sont les clés prises en charge par la ressource. Les liens vers la documentation de l’objet correspondant de chaque ressource se trouvent dans le tableau ci-dessous.

Tip

La commande databricks bundle validate retourne des avertissements si des propriétés de ressource inconnues sont trouvées dans les fichiers de configuration de bundle.

Resource Prise en charge de Python Objet API REST correspondant
alert Objet d'alerte
app Objet d’application
cluster Objet cluster
dashboard Objet de tableau de bord
database_catalog Objet catalogue de bases de données
database_instance Objet d’instance de base de données
experiment Objet d'expérience
job Tâches Objet de tâche
modèle (ancien) Objet de modèle (hérité)
model_serving_endpoint Objet de points de terminaison de mise en service de modèles
pipeline Pipelines Objet de Pipeline
quality_monitor Objet de moniteur de qualité
registered_model (Catalogue Unity) objet de modèle inscrit
schéma (Unity Catalog) Schemas Objet de schéma
secret_scope Objet d’étendue secrète
sql_warehouse Objet Entrepôt de données SQL
table_de_base_de_données_syncée Objet table de base de données synchronisée
volume (catalogue Unity) Volumes Objet de volume

alerte

Type: Map

La ressource d’alerte définit une alerte SQL (v2).

alerts:
  <alert-name>:
    <alert-field-name>: <alert-field-value>
Key Type Description
custom_description String Optional. Description personnalisée de l’alerte. Prend en charge le modèle Mustache.
custom_summary String Optional. Résumé personnalisé de l’alerte. Prend en charge le modèle Mustache.
display_name String Obligatoire. Nom d'affichage de l'alerte, par exemple Example alert.
evaluation Map Obligatoire. Configuration de l’évaluation de l’alerte. Consultez alert.evaluation.
parent_path String Optional. Chemin d’accès de l’espace de travail du dossier contenant l’alerte. Ne peut être défini qu'uniquement lors de la création et ne peut pas être mis à jour. Exemple : /Users/someone@example.com.
permissions Sequence Autorisations d’alerte. Consultez les autorisations.
query_text String Obligatoire. Texte de la requête à exécuter, par exemple SELECT 1.
run_as Map Optional. Spécifie l’identité qui sera utilisée pour exécuter l’alerte. Ce champ vous permet de configurer des alertes pour qu’elles s’exécutent en tant qu’utilisateur ou principal de service spécifique. Voir run_as.
  • Pour identifier l'utilisateur : définissez l'attribut user_name comme l'adresse e-mail d'un utilisateur actif de l'espace de travail. Les utilisateurs peuvent uniquement définir cette valeur sur leur propre e-mail.
  • Pour le principal de service : définissez service_principal_name sur l’ID d’application. Nécessite le rôle servicePrincipal/utilisateur. Si elle n’est pas spécifiée, l’alerte s’exécute en tant qu’utilisateur de demande.
schedule Map Obligatoire. Configuration de planification de l’alerte. Consultez alert.schedule.
warehouse_id String Obligatoire. ID de l’entrepôt SQL attaché à l’alerte, par exemple a7066a8ef796be84.

alert.evaluation

Type: Map

Configuration de l’évaluation de l’alerte.

Key Type Description
comparison_operator String Opérateur utilisé pour la comparaison dans l’évaluation de l’alerte.
empty_result_state String État d’alerte si le résultat est vide. Évitez de définir ce champ UNKNOWN car l’état UNKNOWN est prévu pour être obsolète.
notification Map L’utilisateur ou une autre destination à notifier lorsque l’alerte est déclenchée. Consultez alert.evaluation.notification.
source Map Colonne source du résultat à utiliser pour évaluer l’alerte. Consultez alert.evaluation.source.
threshold Map Seuil à utiliser pour l’évaluation des alertes. Il peut s’agir d’une colonne ou d’une valeur. Consultez alert.evaluation.threshold.

alerte.évaluation.notification

Type: Map

L’utilisateur ou une autre destination à notifier lorsque l’alerte est déclenchée.

Key Type Description
notify_on_ok Boolean Optional. Indique si les abonnés d’alerte doivent être avertis lorsque l’alerte revient à la normale.
retrigger_seconds Integer Optional. Nombre de secondes pendant lesquelles une alerte attend après avoir été déclenchée avant d’être autorisée à envoyer une autre notification. Si elle est définie 0 ou omise, l’alerte n’envoie aucune autre notification après le premier déclencheur. La configuration de cette valeur permet à 1 l'alerte d'envoyer une notification à chaque évaluation où la condition est remplie, la rendant ainsi réactivée systématiquement à des fins de notification.
subscriptions Sequence Optional. Liste non triée des abonnements aux notifications. Consultez alert.evaluation.notification.subscriptions.
alert.evaluation.notification.abonnements

Type: Sequence

Liste non ordonnée d’abonnements aux notifications.

Chaque élément de la liste est un AlertSubscription:

Key Type Description
destination_id String ID de la destination de notification.
user_email String Adresse e-mail de l’utilisateur à notifier.

source.d'évaluation.d'alerte

Type: Map

Colonne source du résultat à utiliser pour évaluer l’alerte.

Key Type Description
aggregation String Méthode d’agrégation à appliquer à la colonne source. Les valeurs valides sont SUM, , COUNTCOUNT_DISTINCT, AVGMEDIANMIN, , MAXSTDDEV
display String Nom d'affichage de la colonne source.
name String Nom de la colonne source à partir du résultat de la requête.

alert.evaluation.threshold

Type: Map

Le seuil à utiliser pour l’évaluation des alertes peut être une colonne ou une valeur.

Key Type Description
column Map Référence de colonne à utiliser comme seuil. Consultez alert.evaluation.source.
value Map Valeur littérale à utiliser comme seuil. Consultez alert.evaluation.threshold.value.
alert.evaluation.threshold.value

Type: Map

Valeur littérale à utiliser comme seuil. Spécifiez l’un des types valeur suivants.

Key Type Description
bool_value Boolean Optional. Valeur booléenne pour le seuil, par exemple true.
double_value Double Optional. Valeur numérique pour le seuil, par exemple 1.25.
string_value String Optional. Valeur de chaîne pour le seuil, par exemple test.

alerte.horaire

Type: Map

Configuration de planification de l’alerte.

Key Type Description
pause_status String Optional. Indique si cette planification est suspendue ou non. Valeurs valides : UNPAUSED, PAUSED. Par défaut : UNPAUSED.
quartz_cron_schedule String Obligatoire. Une expression cron utilisant la syntaxe quartz qui spécifie l'horaire de ce pipeline. Le format quartz est décrit dans le quartz scheduler format.
timezone_id String Obligatoire. ID de fuseau horaire Java. La planification sera résolue à l’aide de ce fuseau horaire. Cela sera combiné avec le quartz_cron_schedule pour déterminer le calendrier. Pour plus d’informations, consultez SET TIME ZONE.

Examples

L’exemple de configuration suivant définit une alerte avec une évaluation simple :

resources:
  alerts:
    my_alert:
      display_name: my_alert
      evaluation:
        comparison_operator: EQUAL
        source:
          name: '1'
        threshold:
          value:
            double_value: 2
      query_text: select 2
      schedule:
        quartz_cron_schedule: '44 19 */1 * * ?'
        timezone_id: Europe/Amsterdam
      warehouse_id: 799f096837fzzzz4

L’exemple de configuration suivant définit une alerte avec des autorisations qui évaluent l’utilisation de l’agrégation et envoient des notifications :

resources:
  alerts:
    my_alert:
      permissions:
        - level: CAN_MANAGE
          user_name: someone@example.com
      custom_summary: 'My alert'
      display_name: 'My alert'
      evaluation:
        comparison_operator: 'EQUAL'
        notification:
          notify_on_ok: false
          retrigger_seconds: 1
        source:
          aggregation: 'MAX'
          display: '1'
          name: '1'
        threshold:
          value:
            double_value: 2
      query_text: 'select 2'
      schedule:
        pause_status: 'UNPAUSED'
        quartz_cron_schedule: '44 19 */1 * * ?'
        timezone_id: 'Europe/Amsterdam'
      warehouse_id: 799f096837fzzzz4

application

Type: Map

La ressource d’application définit une application Databricks. Pour plus d’informations sur Databricks Apps, consultez Databricks Apps.

Pour ajouter une application, spécifiez les paramètres pour définir l’application, y compris les éléments requis source_code_path.

Tip

Vous pouvez initialiser un bundle avec une application Streamlit Databricks à l’aide de la commande suivante :

databricks bundle init https://github.com/databricks/bundle-examples --template-dir contrib/templates/streamlit-app
apps:
  <app-name>:
    <app-field-name>: <app-field-value>
Key Type Description
budget_policy_id String ID de stratégie budgétaire de l’application.
compute_size String Taille de calcul de l’application. Les valeurs valides sont MEDIUM ou LARGE dépendent de la configuration de l’espace de travail.
config Map Deprecated. Définissez plutôt les commandes de configuration de votre application et les variables d’environnement dans le app.yaml fichier. Consultez Configurer une application Databricks.
description String Description de l’application.
lifecycle Map Comportement de la ressource lorsqu’elle est déployée ou détruite. Consultez le cycle de vie.
name String Nom de l’application. Le nom doit contenir uniquement des caractères alphanumériques minuscules et des traits d’union. Il doit être unique dans l’espace de travail.
permissions Sequence Autorisations de l’application. Consultez les autorisations.
resources Sequence Ressources de calcul de l’application. Consultez app.resources.
source_code_path String Chemin ./app d’accès local du code source de l’application Databricks.
user_api_scopes Sequence Étendues de l’API utilisateur.

app.resources

Type: Sequence

Liste des ressources de calcul pour l’application.

Chaque élément de la liste est un AppResource:

Key Type Description
description String Description de la ressource d’application.
database Map Paramètres qui identifient la base de données Lakebase à utiliser. Consultez app.resources.database.
genie_space Map Paramètres qui identifient l’espace Génie à utiliser. Voir app.resources.genie_space.
job Map Paramètres qui identifient la ressource de travail à utiliser. Consultez app.resources.job.
name String Nom de la ressource d’application.
secret Map Paramètres qui identifient la ressource secrète Azure Databricks à utiliser. Consultez app.resources.secret.
serving_endpoint Map Paramètres qui identifient la ressource de point de terminaison de service du modèle à utiliser. Voir app.resources.serving_endpoint.
sql_warehouse Map Paramètres qui identifient la ressource SQL Warehouse à utiliser. Consultez app.resources.sql_warehouse.
uc_securable Map Paramètres qui identifient le volume du catalogue Unity à utiliser. Voir app.resources.uc_securable.

app.resources.base de données

Type: Map

Paramètres qui identifient la base de données Lakebase à utiliser.

Key Type Description
database_name String Nom de la base de données.
instance_name String Nom de l’instance de base de données.
permission String Niveau d’autorisation de la base de données. Les valeurs valides sont CAN_CONNECT_AND_CREATE.

app.resources.génie_space

Type: Map

Paramètres qui identifient l’espace Génie à utiliser.

Key Type Description
name String Nom de l’espace Génie.
permission String Niveau d’autorisation de l’espace. Les valeurs valides incluent CAN_VIEW, , CAN_EDITCAN_MANAGE, CAN_RUN.
space_id String ID de l’espace Génie, par exemple 550e8400-e29b-41d4-a716-999955440000.

app.resources.job

Type: Map

Paramètres qui identifient la ressource de travail à utiliser.

Key Type Description
id String ID du travail.
permission String Niveau d’autorisation de la tâche. Les valeurs valides incluent CAN_VIEW, , CAN_MANAGE_RUNCAN_MANAGE, IS_OWNER.

app.ressources.secret

Type: Map

Paramètres qui identifient la ressource secrète Azure Databricks à utiliser.

Key Type Description
key String La clé secrète pour accorder l'autorisation.
permission String Niveau d’autorisation du secret. Les valeurs valides incluent READ, WRITE, MANAGE.
scope String Nom du périmètre secret.

app.resources.point_de_terminaison_de_service

Type: Map

Paramètres qui identifient la ressource de point de terminaison de service du modèle à utiliser.

Key Type Description
name String Le nom de l’endpoint de service.
permission String Niveau d’autorisation du point de terminaison de service. Les valeurs valides incluent CAN_QUERY, CAN_MANAGE, CAN_VIEW.

app.resources.sql_warehouse

Type: Map

Paramètres qui identifient l’entrepôt SQL à utiliser.

Key Type Description
id String ID de l’entrepôt SQL.
permission String Niveau d’autorisation pour l’entrepôt SQL. Les valeurs valides incluent CAN_USE, CAN_MANAGE, IS_OWNER.

app.resources.uc_securable

Type: Map

Paramètres qui identifient le volume du catalogue Unity à utiliser.

Key Type Description
permission String Le niveau d'autorisation pour le catalogue Unity sécuritaire. Les valeurs valides sont READ_VOLUME et WRITE_VOLUME.
securable_full_name String Nom complet du catalogue Unity sécurisable au format catalog.schema.volume.
securable_type String Type du catalogue Unity sécurisable. Les valeurs valides sont VOLUME.

Example

L’exemple suivant crée une application nommée my_app qui gère un travail créé par le bundle :

resources:
  jobs:
    # Define a job in the bundle
    hello_world:
      name: hello_world
      tasks:
        - task_key: task
          spark_python_task:
            python_file: ../src/main.py
          environment_key: default

      environments:
        - environment_key: default
          spec:
            environment_version: '2'

  # Define an app that manages the job in the bundle
  apps:
    job_manager:
      name: 'job_manager_app'
      description: 'An app which manages a job created by this bundle'

      # The location of the source code for the app
      source_code_path: ../src/app

      # The resources in the bundle which this app has access to. This binds the resource in the app with the bundle resource.
      resources:
        - name: 'app-job'
          job:
            id: ${resources.jobs.hello_world.id}
            permission: 'CAN_MANAGE_RUN'

Le correspondant app.yaml définit la configuration pour l’exécution de l’application :

command:
  - flask
  - --app
  - app
  - run
  - --debug
env:
  - name: JOB_ID
    valueFrom: 'app-job'

Pour l’exemple complet de l’application Databricks, consultez le dépôt GitHub bundle-examples .

Grappe

Type: Map

La ressource de cluster définit un cluster.

clusters:
  <cluster-name>:
    <cluster-field-name>: <cluster-field-value>
Key Type Description
apply_policy_default_values Boolean Lorsque la valeur est true, les valeurs fixes et par défaut de la stratégie sont utilisées pour les champs omis. Lorsque la valeur est false, seules les valeurs fixes de la stratégie sont appliquées.
autoscale Map Les paramètres nécessaires pour effectuer automatiquement un scale-up ou un scale-down des clusters en fonction de la charge. Consultez Autoscale.
autotermination_minutes Integer Met automatiquement fin au cluster une fois qu’il est inactif pendant cette période en minutes. S’il n’est pas défini, ce cluster ne sera pas automatiquement arrêté. S’il est spécifié, le seuil doit être compris entre 10 et 1 000 minutes. Les utilisateurs peuvent également définir cette valeur sur 0 pour désactiver explicitement l’arrêt automatique.
aws_attributes Map Attributs liés aux clusters s’exécutant sur Amazon Web Services. S’il n’est pas spécifié lors de la création du cluster, un ensemble de valeurs par défaut est utilisé. Voir aws_attributes.
azure_attributes Map Attributs liés aux clusters s’exécutant sur Microsoft Azure. S’il n’est pas spécifié lors de la création du cluster, un ensemble de valeurs par défaut est utilisé. Voir azure_attributes.
cluster_log_conf Map Configuration relative à la remise des journaux d’activité Spark à une destination de stockage à long terme. Voir cluster_log_conf.
cluster_name String Nom du cluster demandé par l’utilisateur. Cela n’a pas besoin d’être unique. S’il n’est pas spécifié lors de la création, le nom du cluster est une chaîne vide.
custom_tags Map Étiquettes supplémentaires pour les ressources du cluster. Databricks marquera toutes les ressources du cluster (par exemple, les instances AWS et les volumes EBS) avec ces étiquettes en plus de default_tags.
data_security_mode String Modèle de gouvernance des données à utiliser lors de l’accès aux données à partir d’un cluster. Les valeurs valides incluent NONE, , SINGLE_USERUSER_ISOLATION, LEGACY_SINGLE_USERLEGACY_TABLE_ACL, . LEGACY_PASSTHROUGH
docker_image Map Image docker personnalisée. Voir docker_image.
driver_instance_pool_id String ID facultatif du pool d’instances pour le pilote auquel le cluster appartient. Le cluster de pool utilise le pool d’instances avec l’ID (instance_pool_id) si le pool de pilotes n’est pas affecté.
driver_node_type_id String Type de nœud du pilote Spark. Notez que ce champ est facultatif ; si ce paramètre n’est pas défini, le type de nœud du pilote sera défini à la même valeur que celle définie par node_type_id ci-dessus. Ce champ, ainsi que node_type_id, ne doit pas être défini si virtual_cluster_size est défini. Si les deux driver_node_type_id, node_type_id et virtual_cluster_size sont spécifiés, driver_node_type_id et node_type_id sont prioritaires.
enable_elastic_disk Boolean Mise à l’échelle automatique du stockage local : lorsqu’il est activé, ce cluster acquiert dynamiquement un espace disque supplémentaire lorsque ses processeurs Spark sont à court d'espace disque. Cette fonctionnalité nécessite des autorisations AWS spécifiques pour fonctionner correctement. Reportez-vous au Guide de l’utilisateur pour plus d’informations.
enable_local_disk_encryption Boolean Indique s’il faut activer LUKS sur les disques locaux des machines virtuelles de cluster
gcp_attributes Map Attributs liés aux clusters s’exécutant sur Google Cloud Platform. S’il n’est pas spécifié lors de la création du cluster, un ensemble de valeurs par défaut est utilisé. Voir gcp_attributes.
init_scripts Sequence Configuration pour le stockage de scripts init. Vous pouvez spécifier n’importe quel nombre de destinations. Les scripts sont exécutés séquentiellement dans l’ordre fourni. Voir init_scripts.
instance_pool_id String ID facultatif du pool d’instances auquel appartient le cluster.
is_single_node Boolean Ce champ ne peut être utilisé que lorsque kind = CLASSIC_PREVIEW. Quand la valeur est true, Databricks définit automatiquement un nœud unique associé custom_tags, spark_confet num_workers
kind String Type de calcul décrit par cette spécification de calcul.
node_type_id String Ce champ code, via une seule valeur, les ressources disponibles pour chacun des nœuds Spark de ce cluster. Par exemple, les nœuds Spark peuvent être configurés et optimisés pour des charges de travail gourmandes en mémoire ou en calcul. Une liste des types de nœuds disponibles peut être récupérée à l’aide de l’appel d’API :method :clusters/listNodeTypes.
num_workers Integer Nombre de nœuds de travail que ce cluster doit avoir. Un cluster a un pilote Spark et num_workers exécuteurs pour un total de num_workers + 1 nœuds Spark.
permissions Sequence Autorisations du cluster. Consultez les autorisations.
policy_id String ID de la stratégie de cluster utilisée pour créer le cluster le cas échéant.
runtime_engine String Détermine le moteur d’exécution du cluster, soit STANDARDPHOTON.
single_user_name String Nom d’utilisateur unique si data_security_mode est SINGLE_USER
spark_conf Map Objet contenant un ensemble de paires de clé-valeur de configuration Spark facultatives spécifiées par l’utilisateur. Les utilisateurs peuvent également transmettre une chaîne d’options JVM supplémentaires au pilote et aux exécuteurs via spark.driver.extraJavaOptions et spark.executor.extraJavaOptions respectivement.
spark_env_vars Map Objet contenant un ensemble de paires clé-valeur de variable d’environnement facultatives spécifiées par l’utilisateur.
spark_version String Version Spark du cluster, par exemple 3.3.x-scala2.11. Une liste des versions spark disponibles peut être récupérée à l’aide de l’appel d’API :method :clusters/sparkVersions.
ssh_public_keys Sequence Contenu de clé publique SSH qui sera ajouté à chaque nœud Spark de ce cluster. Les clés privées correspondantes peuvent être utilisées pour se connecter avec le nom ubuntu d’utilisateur sur le port 2200. Jusqu’à 10 clés peuvent être spécifiées.
use_ml_runtime Boolean Ce champ ne peut être utilisé que lorsque kind = CLASSIC_PREVIEW. effective_spark_version est déterminé par spark_version (version DBR), ce champ use_ml_runtime, et s’il s’agit node_type_id d’un nœud gpu ou non.
workload_type Map Attributs de cluster montrant les types de charge de travail de clusters. Voir workload_type.

cluster.autoscale

Type: Map

Paramètres de mise à l’échelle automatique des clusters vers le haut et vers le bas en fonction de la charge.

Key Type Description
min_workers Integer Nombre minimal de workers auxquels le cluster peut effectuer un scale-down lorsqu’il est sous-utilisé. Il s’agit également du nombre initial de workers que le cluster aura après la création.
max_workers Integer Nombre maximal de workers auxquels le cluster peut effectuer un scale-up lorsqu’il est surchargé. max_workers doit être strictement supérieur à min_workers.

cluster.aws_attributes

Type: Map

Attributs liés aux clusters s’exécutant sur Amazon Web Services.

Key Type Description
zone_id String Identificateur de la zone de disponibilité/centre de données dans lequel réside le cluster. Cette chaîne sera d’une forme semblable à us-west-2a.
availability String Type de disponibilité utilisé pour tous les nœuds suivants après les nœuds first_on_demand. Les valeurs valides sont SPOT, ON_DEMAND, SPOT_WITH_FALLBACK.
spot_bid_price_percent Integer Prix maximal pour les instances SPOT AWS, sous la forme d’un pourcentage du prix à la demande du type d’instance correspondant.
instance_profile_arn String Les nœuds de ce cluster ne seront placés que sur des instances AWS avec ce profil d’instance.
first_on_demand Integer Les premiers first_on_demand nœuds du cluster seront placés sur des instances à la demande. Cette valeur doit être supérieure à 0, afin de garantir que le nœud de gestion du cluster est placé sur une instance à la demande.
ebs_volume_type String Type de volumes EBS qui seront lancés avec ce cluster. Les valeurs valides sont GENERAL_PURPOSE_SSD ou THROUGHPUT_OPTIMIZED_HDD.
ebs_volume_count Integer Nombre de volumes lancés pour chaque instance.
ebs_volume_size Integer Taille de chaque volume EBS (en Gio) lancé pour chaque instance.
ebs_volume_iops Integer Nombre d’IOPS par volume EBS gp3.
ebs_volume_throughput Integer Débit par volume EBS gp3, en Mio par seconde.

cluster.azure_attributes

Type: Map

Attributs liés aux clusters s’exécutant sur Microsoft Azure.

Key Type Description
first_on_demand Integer Les premiers first_on_demand nœuds du cluster seront placés sur des instances à la demande.
availability String Type de disponibilité utilisé pour tous les nœuds suivants après les nœuds first_on_demand. Les valeurs valides sont SPOT_AZURE, ON_DEMAND_AZURE, SPOT_WITH_FALLBACK_AZURE.
spot_bid_max_price Number Prix maximal pour les instances Spot Azure. Permet -1 de spécifier le prix le plus bas.

cluster.gcp_attributes

Type: Map

Attributs liés aux clusters s’exécutant sur Google Cloud Platform.

Key Type Description
use_preemptible_executors Boolean Faut-il utiliser des exécuteurs préemptibles ? Les exécuteurs préemptibles sont des instances GCE préemptibles qui peuvent être récupérées par GCE à tout moment.
google_service_account String Compte de service Google à utiliser par les instances de machine virtuelle du cluster Databricks.
local_ssd_count Integer Nombre de DISQUES SSD locaux à attacher à chaque nœud du cluster. La valeur par défaut est 0.
zone_id String Identificateur de la zone de disponibilité/centre de données dans lequel réside le cluster.
availability String Type de disponibilité utilisé pour tous les nœuds. Les valeurs valides sont PREEMPTIBLE_GCP, ON_DEMAND_GCP, PREEMPTIBLE_WITH_FALLBACK_GCP.
boot_disk_size Integer Taille du disque de démarrage en Go. Les valeurs sont généralement comprises entre 100 et 1 000.

cluster.cluster_log_conf

Configuration de la livraison des journaux Spark à une destination de stockage à long terme.

Key Type Description
dbfs Map Emplacement DBFS pour la livraison des journaux du cluster. Voir dbfs.
s3 Map Emplacement S3 pour la livraison des logs de cluster. Voir s3.
volumes Map Emplacement des volumes pour la livraison des journaux de clusters. Consultez les volumes.

cluster.cluster_log_conf.dbfs

Type: Map

Emplacement DBFS pour la livraison des journaux du cluster.

Key Type Description
destination String Chemin DBFS destiné à la livraison des logs de cluster (par exemple, dbfs:/cluster-logs).

cluster.cluster_log_conf.s3

Type: Map

Emplacement S3 pour la livraison des logs de cluster.

Key Type Description
destination String L'URI S3 pour la livraison des journaux de cluster (par exemple, s3://my-bucket/cluster-logs).
region String Région AWS du bucket S3.
endpoint String URL du point de terminaison S3 (facultatif).
enable_encryption Boolean Indique s’il faut activer le chiffrement pour les journaux de cluster.
encryption_type String Type de chiffrement. Les valeurs valides incluent SSE_S3, SSE_KMS.
kms_key String ARN de clé KMS pour le chiffrement (lors de l'utilisation de SSE_KMS).
canned_acl String Liste de contrôle d’accès préconfigurée à appliquer aux journaux du cluster.

cluster.cluster_log_conf.volumes

Type: Map

Emplacement des volumes pour la livraison des journaux de clusters.

Key Type Description
destination String Chemin du volume pour la livraison des journaux de cluster (par exemple, /Volumes/catalog/schema/volume/cluster_log).

cluster.docker_image

Type: Map

La configuration de l'image Docker personnalisée.

Key Type Description
url String URL de l’image Docker.
basic_auth Map Authentification de base pour le référentiel Docker. Voir basic_auth.

cluster.docker_image.basic_auth

Type: Map

Authentification de base pour le référentiel Docker.

Key Type Description
username String Nom d’utilisateur de l’authentification du Registre Docker.
password String Mot de passe pour l’authentification du Registre Docker.

cluster.init_scripts

Type: Map

Configuration pour le stockage de scripts init. Au moins un type d’emplacement doit être spécifié.

Key Type Description
dbfs Map Emplacement DBFS du script init. Voir dbfs.
workspace Map Emplacement de l’espace de travail du script init. Consultez l’espace de travail.
s3 Map Emplacement S3 du script d'initialisation. Voir s3.
abfss Map Emplacement du script d'initialisation ABFSS. Voir abfss.
gcs Map Emplacement du script d'initialisation GCS. Consultez gcs.
volumes Map Emplacement des volumes UC du script init. Consultez les volumes.

cluster.init_scripts.dbfs

Type: Map

Emplacement DBFS du script init.

Key Type Description
destination String Chemin DBFS du script init.

cluster.init_scripts.espace_de_travail

Type: Map

Emplacement de l’espace de travail du script init.

Key Type Description
destination String Chemin d’accès de l’espace de travail du script init.

cluster.init_scripts.s3

Type: Map

Emplacement S3 du script d'initialisation.

Key Type Description
destination String URI S3 du script init.
region String Région AWS du bucket S3.
endpoint String URL du point de terminaison S3 (facultatif).

cluster.init_scripts.abfss

Type: Map

Emplacement du script d'initialisation ABFSS.

Key Type Description
destination String Chemin d'accès ABFSS du script d'initialisation.

cluster.init_scripts.gcs

Type: Map

Emplacement du script d'initialisation GCS.

Key Type Description
destination String Chemin GCS du script d'initialisation.

scripts_d'initialisation_du_cluster.volumes

Type: Map

Emplacement des volumes de données pour le script d'initialisation.

Key Type Description
destination String Chemin des volumes UC du script d'initialisation.

cluster.type_de_charge_de_travail

Type: Map

Attributs de cluster montrant les types de charge de travail de cluster.

Key Type Description
clients Map Définit le type de clients pouvant utiliser le cluster. Consultez les clients.

cluster.workload_type.clients

Type: Map

Type de clients pour cette charge de travail de calcul.

Key Type Description
jobs Boolean Indique si le cluster peut exécuter des travaux.
notebooks Boolean Indique si le cluster peut exécuter des notebooks.

Examples

L’exemple suivant crée un cluster dédié (mono-utilisateur) pour l’utilisateur actuel avec Databricks Runtime 15.4 LTS et une stratégie de cluster :

resources:
  clusters:
    my_cluster:
      num_workers: 0
      node_type_id: 'i3.xlarge'
      driver_node_type_id: 'i3.xlarge'
      spark_version: '15.4.x-scala2.12'
      spark_conf:
        'spark.executor.memory': '2g'
      autotermination_minutes: 60
      enable_elastic_disk: true
      single_user_name: ${workspace.current_user.userName}
      policy_id: '000128DB309672CA'
      enable_local_disk_encryption: false
      data_security_mode: SINGLE_USER
      runtime_engine": STANDARD

Cet exemple crée un cluster my_cluster simple et définit celui-ci comme cluster à utiliser pour exécuter le notebook dans my_job:

bundle:
  name: clusters

resources:
  clusters:
    my_cluster:
      num_workers: 2
      node_type_id: 'i3.xlarge'
      autoscale:
        min_workers: 2
        max_workers: 7
      spark_version: '13.3.x-scala2.12'
      spark_conf:
        'spark.executor.memory': '2g'

  jobs:
    my_job:
      tasks:
        - task_key: test_task
          notebook_task:
            notebook_path: './src/my_notebook.py'
          existing_cluster_id: ${resources.clusters.my_cluster.id}

tableau de bord

Type: Map

La ressource de tableau de bord vous permet de gérer tableaux de bord IA/BI dans un bundle. Pour plus d’informations sur les tableaux de bord IA/BI, consultez Tableaux de bord.

Si vous avez déployé un bundle qui contient un tableau de bord à partir de votre environnement local, puis utilisez l’interface utilisateur pour modifier ce tableau de bord, les modifications apportées via l’interface utilisateur ne sont pas appliquées au fichier JSON du tableau de bord dans le bundle local, sauf si vous la mettez explicitement à jour à l’aide bundle generate. Vous pouvez utiliser l’option --watch pour interroger et récupérer en continu les modifications apportées au tableau de bord. Consultez l’offre groupée databricks générée.

En outre, si vous tentez de déployer un bundle à partir de votre environnement local qui contient un fichier JSON de tableau de bord différent de celui de l’espace de travail distant, une erreur se produit. Pour forcer le déploiement et remplacer le tableau de bord dans l’espace de travail distant avec celui local, utilisez l’option --force. Consultez le déploiement de l’offre groupée databricks.

Note

Lorsque vous utilisez les bundles de ressources Databricks avec la prise en charge Git du tableau de bord, empêchez la génération de tableaux de bord en double en ajoutant le mappage de synchronisation pour que les tableaux de bord ne soient pas synchronisés en tant que fichiers :

sync:
  exclude:
    - src/*.lvdash.json
dashboards:
  <dashboard-name>:
    <dashboard-field-name>: <dashboard-field-value>
Key Type Description
display_name String Nom complet du tableau de bord.
embed_credentials Boolean Indique si les informations d’identification d’identité de déploiement groupées sont utilisées pour exécuter des requêtes pour tous les visionneuses du tableau de bord. S’il est défini sur false, les informations d’identification d’un utilisateur sont utilisées. La valeur par défaut est false.
etag String ETag pour le tableau de bord. Peut être fourni éventuellement sur les mises à jour pour vous assurer que le tableau de bord n’a pas été modifié depuis la dernière lecture.
file_path String Chemin d’accès local de la ressource de tableau de bord, y compris le nom de fichier. Les tableaux de bord exportés ont toujours l’extension .lvdash.jsonde fichier .
permissions Sequence Autorisations du tableau de bord. Consultez les autorisations.
serialized_dashboard Any Contenu du tableau de bord sous forme de chaîne sérialisée.
warehouse_id String ID d’entrepôt utilisé pour exécuter le tableau de bord.

Example

L’exemple suivant inclut et déploie l’exemple de tableau de bord NYC Taxi Trip Analysis sur l’espace de travail Databricks.

resources:
  dashboards:
    nyc_taxi_trip_analysis:
      display_name: 'NYC Taxi Trip Analysis'
      file_path: ../src/nyc_taxi_trip_analysis.lvdash.json
      warehouse_id: ${var.warehouse_id}

catalogue_de_bases_de_données

Type: Map

La ressource de catalogue de bases de données vous permet de définir des catalogues de bases de données qui correspondent aux instances de base de données d’un bundle. Un catalogue de bases de données est une base de données Lakebase inscrite en tant que catalogue de catalogue Unity.

Pour plus d’informations sur les catalogues de bases de données, consultez Créer un catalogue.

database_catalogs:
  <database_catalog-name>:
    <database_catalog-field-name>: <database_catalog-field-value>
Key Type Description
create_database_if_not_exists Boolean Indique s’il faut créer la base de données s’il n’existe pas.
database_instance_name String Nom de l’instance qui héberge la base de données.
database_name String Nom de la base de données (dans une instance) associée au catalogue.
lifecycle Map Contient les paramètres de cycle de vie d’une ressource, y compris le comportement de la ressource lorsqu’elle est déployée ou détruite. Consultez le cycle de vie.
name String Nom du catalogue dans le catalogue Unity.

Example

L’exemple suivant définit une instance de base de données avec un catalogue de bases de données correspondant :

resources:
  database_instances:
    my_instance:
      name: my-instance
      capacity: CU_1
  database_catalogs:
    my_catalog:
      database_instance_name: ${resources.database_instances.my_instance.name}
      name: example_catalog
      database_name: my_database
      create_database_if_not_exists: true

instance de base de données

Type: Map

La ressource d’instance de base de données vous permet de définir des instances de base de données dans un bundle. Une instance de base de données Lakebase gère les ressources de stockage et de calcul et fournit les points de terminaison auxquels les utilisateurs se connectent.

Important

Lorsque vous déployez un bundle avec une instance de base de données, l’instance démarre immédiatement en cours d’exécution et est soumise à la tarification. Consultez la tarification lakebase.

Pour plus d’informations sur les instances de base de données, consultez Qu’est-ce qu’une instance de base de données ?.

database_instances:
  <database_instance-name>:
    <database_instance-field-name>: <database_instance-field-value>
Key Type Description
capacity String Référence sku de l’instance. Les valeurs valides sont CU_1, , CU_2CU_4, CU_8.
custom_tags Sequence Liste des paires clé-valeur qui spécifient des balises personnalisées associées à l’instance.
enable_pg_native_login Boolean Indique si la connexion de mot de passe native PG est activée. La valeur par défaut est true.
enable_readable_secondaries Boolean Indique s’il faut activer les fichiers secondaires pour traiter le trafic en lecture seule. La valeur par défaut est false.
lifecycle Map Contient les paramètres de cycle de vie d’une ressource. Il contrôle le comportement de la ressource lorsqu’elle est déployée ou détruite. Consultez le cycle de vie.
name String Nom de l’instance. Il s’agit de l’identificateur unique de l’instance.
node_count Integer Nombre de nœuds dans l’instance, composés de 1 secondaire et 0 ou plus. La valeur par défaut est 1 secondaire et 0 secondaires.
parent_instance_ref Map Référence de l’instance parente. Cela n’est disponible que si l’instance est une instance enfant. Voir l’instance parente.
permissions Sequence Autorisations de l’instance de base de données. Consultez les autorisations.
retention_window_in_days Integer Fenêtre de rétention de l’instance. Il s’agit de la fenêtre de temps en jours pour laquelle les données historiques sont conservées. La valeur par défaut est de 7 jours. Les valeurs valides sont de 2 à 35 jours.
stopped Boolean Indique si l’instance est arrêtée.
usage_policy_id String Stratégie d’utilisation souhaitée à associer à l’instance.

database_instance.parent_instance_ref

Type: Map

Référence de l’instance parente. Cela n’est disponible que si l’instance est une instance enfant.

Key Type Description
branch_time String Heure de branche de l’instance de base de données ref. Pour une instance de référence parente, c'est le moment sur l'instance parente à partir duquel l'instance a été créée. Pour une instance ref enfant, il s’agit du point dans le temps sur l’instance à partir de laquelle l’instance enfant a été créée.
lsn String LSN WAL spécifié par l’utilisateur de l’instance de base de données ref.
name String Nom de l’instance de base de données ref.

Example

L’exemple suivant définit une instance de base de données avec un catalogue de bases de données correspondant :

resources:
  database_instances:
    my_instance:
      name: my-instance
      capacity: CU_1
  database_catalogs:
    my_catalog:
      database_instance_name: ${resources.database_instances.my_instance.name}
      name: example_catalog
      database_name: my_database
      create_database_if_not_exists: true

Pour obtenir un exemple d’offre groupée qui montre comment définir une instance de base de données et un catalogue de bases de données correspondant, consultez le référentiel GitHub bundle-examples.

expérience

Type: Map

La ressource d’expérience vous permet de définir des expériences MLflow dans un pack. Pour plus d’informations sur les expériences MLflow, consultez Organiser les exécutions d’entraînement avec des expériences MLflow.

experiments:
  <experiment-name>:
    <experiment-field-name>: <experiment-field-value>
Key Type Description
artifact_location String Emplacement où les artefacts de l’expérience sont stockés.
lifecycle Map Contient les paramètres de cycle de vie d’une ressource. Il contrôle le comportement de la ressource lorsqu’elle est déployée ou détruite. Consultez le cycle de vie.
name String Nom convivial qui identifie l’expérience. Un nom d’expérience doit être un chemin absolu dans l’espace de travail Databricks, par exemple /Workspace/Users/someone@example.com/my_experiment.
permissions Sequence Autorisations de l’expérience. Consultez les autorisations.
tags Sequence Paires clé-valeur de métadonnées supplémentaires. Voir les balises.

Example

L’exemple suivant définit une expérience que tous les utilisateurs peuvent afficher :

resources:
  experiments:
    experiment:
      name: /Workspace/Users/someone@example.com/my_experiment
      permissions:
        - level: CAN_READ
          group_name: users
      description: MLflow experiment used to track runs

travail

Type: Map

Les jobs sont pris en charge dans Python pour les bundles de ressources Databricks. Voir databricks.bundles.jobs.

La ressource de travail vous permet de définir des travaux et les tâches correspondantes dans votre pack.

Pour plus d’informations sur les travaux, consultez Travaux Lakeflow. Pour obtenir un didacticiel qui utilise un modèle Databricks Asset Bundles pour créer un travail, consultez Développer un travail avec databricks Asset Bundles.

jobs:
  <job-name>:
    <job-field-name>: <job-field-value>
Key Type Description
budget_policy_id String ID de la stratégie budgétaire spécifiée par l’utilisateur à utiliser pour ce travail. Si elle n’est pas spécifiée, une stratégie de budget par défaut peut être appliquée lors de la création ou de la modification du travail. Consultez effective_budget_policy_id pour la politique budgétaire utilisée par cette charge de travail.
continuous Map Propriété continue facultative pour ce travail. La propriété continue veille à ce qu’il existe toujours un processus en cours. Seul l'un de schedule et continuous peut être utilisé. Voir continu.
deployment Map Informations de déploiement pour les travaux gérés par des sources externes. Consultez Déploiement.
description String Description facultative du travail. La longueur maximale est de 27700 caractères dans l’encodage UTF-8.
edit_mode String Mode d’édition du travail, soit UI_LOCKED soit EDITABLE.
email_notifications Map Ensemble facultatif d’adresses e-mail qui sont averties lorsque les exécutions de ce travail commencent ou se terminent, ainsi que lorsque ce travail est supprimé. Voir email_notifications.
environments Sequence Liste des spécifications de l’environnement d’exécution des tâches qui peuvent être référencées par les tâches serverless de ce travail. Un environnement doit être présent pour les tâches sans serveur. Pour les tâches de notebook sans serveur, l'environnement est accessible depuis le panneau d'environnement du notebook. Pour d’autres tâches serverless, l’environnement de tâche doit être spécifié à l’aide de environment_key dans les paramètres de tâche. Consultez les environnements.
format String Deprecated. Format du travail.
git_source Map Spécification facultative d’un référentiel Git distant contenant le code source utilisé par les tâches. Voir job.git_source.
Important : Les champs git_source et source, définis sur GIT, ne sont pas recommandés pour les bundles, car les chemins d'accès relatifs locaux peuvent ne pas pointer vers le même contenu dans le référentiel Git, et les bundles s'attendent à ce qu'un travail déployé ait un contenu identique à celui de la copie locale à partir de laquelle il a été déployé.
Au lieu de cela, clonez le référentiel localement et configurez votre projet groupé dans ce référentiel afin que la source des tâches soit l’espace de travail.
health Map Ensemble facultatif de règles d’intégrité qui peuvent être définies pour ce travail. Voir santé.
job_clusters Sequence Liste des spécifications de cluster de travaux qui peuvent être partagées et réutilisées par les tâches de ce travail. Voir job_clusters.
max_concurrent_runs Integer Nombre maximal autorisé facultatif d’exécutions simultanées du travail. Définissez cette valeur si vous souhaitez pouvoir exécuter plusieurs exécutions du même travail simultanément.
name String Nom facultatif pour le poste. La longueur maximale est de 4 096 octets dans l’encodage UTF-8.
notification_settings Map Paramètres de notification facultatifs utilisés lors de l'envoi de notifications à chaque email_notifications et webhook_notifications pour ce poste. Voir notification_settings.
parameters Sequence Définitions de paramètres au niveau du travail.
performance_target String Définit comment la performance ou l'efficacité en termes de coût de l'exécution dans un environnement serverless devrait être.
permissions Sequence Autorisations du travail. Consultez les autorisations.
queue Map Paramètres de file d’attente du travail. Voir file d’attente.
run_as Map Paramètre en écriture seule. Spécifie l’utilisateur ou le principal de service sous lequel le travail s’exécute. S’il n’est pas spécifié, la tâche s’exécute en tant qu’utilisateur qui a créé la tâche. Soit user_name ou service_principal_name doit être spécifié. Si elle ne l’est pas, une erreur est générée. Voir run_as.
schedule Map Planification périodique facultative pour ce travail. Le comportement par défaut est que le travail s’exécute uniquement lorsqu’il est déclenché en cliquant sur « Exécuter maintenant » dans l’interface utilisateur des travaux ou en envoyant une demande d’API à runNow. Consultez la planification.
tags Map Carte des balises associées au travail. Ceux-ci sont transférés au cluster en tant que balises de cluster pour les clusters de travaux et sont soumis aux mêmes limitations que les balises de cluster. Un maximum de 25 balises peuvent être ajoutées au poste.
tasks Sequence Liste des spécifications de tâche à exécuter par ce travail. Consultez Ajouter des tâches à des travaux dans les bundles de ressources Databricks.
timeout_seconds Integer Délai d’attente facultatif appliqué à chaque exécution de ce travail. Valeur de 0 signifie qu’aucun délai d’expiration n’est nécessaire.
trigger Map Configuration permettant de déclencher une exécution lorsque certaines conditions sont remplies. Voir déclencheur.
webhook_notifications Map Une collection d'ID de notification système pour avertir lorsque ce travail commence ou se termine. Voir webhook_notifications.

job.continuous

Type: Map

Configuration pour l’exécution continue du travail.

Key Type Description
pause_status String Indique si le travail continu est suspendu ou non. Valeurs valides : PAUSED, UNPAUSED.
task_retry_mode String Indiquez comment le travail continu applique les tentatives de reprise au niveau de la tâche. Les valeurs valides sont NEVER et ON_FAILURE. La valeur par défaut est NEVER.

job.deployment

Type: Map

Informations de déploiement pour les travaux gérés par des sources externes.

Key Type Description
kind String Type de déploiement. Par exemple : BUNDLE.
metadata_file_path String Chemin d’accès au fichier de métadonnées du déploiement.

emploi.notifications_par_email

Type: Map

Paramètres de notification par e-mail pour les exécutions de travaux.

Key Type Description
on_start Sequence Liste des adresses e-mail à notifier lorsqu’une exécution démarre.
on_success Sequence Liste des adresses e-mail à notifier lorsqu’une exécution réussit.
on_failure Sequence Liste des adresses e-mail à notifier lorsqu’une exécution échoue.
on_duration_warning_threshold_exceeded Sequence Liste des adresses e-mail à notifier lorsqu’une durée d’exécution dépasse le seuil d’avertissement.
no_alert_for_skipped_runs Boolean Indique s'il faut ne pas envoyer d'alertes pour les exécutions sautées.

environnements.d'emploi

Type: Sequence

Liste des spécifications de l'environnement d'exécution des tâches pouvant être référencées par des tâches serverless d’un processus.

Chaque élément de la liste est un JobEnvironment:

Key Type Description
environment_key String Clé d’un environnement. Il doit être unique au sein d’un travail.
spec Map Entité qui représente un environnement serverless. Consultez job.environments.spec.

job.environments.spec

Type: Map

Entité qui représente un environnement serverless.

Key Type Description
client String Deprecated. Version du client.
dependencies Sequence Liste des dépendances pip, comme pris en charge par la version de pip dans cet environnement.
environment_version String Obligatoire. Version de l’environnement utilisée par l’environnement. Chaque version est fournie avec une version de Python spécifique et un ensemble de packages Python. La version est une chaîne composée d’un entier.

job.git_source

Type: Map

Configuration du référentiel Git pour le code source du travail.

Key Type Description
git_branch String Nom de la branche à vérifier et utiliser par ce processus. Ce champ ne peut pas être spécifié conjointement avec git_tag ou git_commit.
git_commit String Validez pour être extrait et utilisé par ce travail. Ce champ ne peut pas être spécifié conjointement avec git_branch ou git_tag.
git_provider String Identificateur unique du service utilisé pour héberger le dépôt Git. La valeur est insensible à la casse. Les valeurs valides sont gitHub, , bitbucketCloudgitLab, azureDevOpsServicesgitHubEnterprise, bitbucketServer, gitLabEnterpriseEdition.
git_snapshot Map État en lecture seule du référentiel distant au moment de l’exécution de la tâche. Ce champ n’est inclus que lors des lancements de tâches. Voir git_snapshot.
git_tag String Nom de la balise à extraire et utiliser par ce travail. Ce champ ne peut pas être spécifié conjointement avec git_branch ou git_commit.
git_url String URL du référentiel à cloner par ce travail.

job.git_source.git_snapshot

Type: Map

Capture instantanée des informations de validation en lecture seule.

Key Type Description
used_commit String Validation utilisée pour exécuter l’exécution. S’il git_branch a été spécifié, cela pointe vers le HEAD de la branche au moment de l’exécution ; s’il git_tag a été spécifié, cela pointe vers la validation que la balise désigne.

santé.du.travail

Type: Map

Configuration de la surveillance de l’état de la tâche.

Key Type Description
rules Sequence Liste des règles de santé du travail. Chaque règle contient un metric et op (opérateur) et value. Consultez job.health.rules.

règles.santé.travail

Type: Sequence

Liste des règles de santé du travail.

Chaque élément de la liste est un JobHealthRule:

Key Type Description
metric String Spécifie la métrique de santé évaluée pour une règle de santé particulière.
  • RUN_DURATION_SECONDS: durée totale attendue pour une exécution en secondes.
  • STREAMING_BACKLOG_BYTES: estimation du nombre maximal d’octets de données en attente d’utilisation sur tous les flux. Cette métrique est en preview public.
  • STREAMING_BACKLOG_RECORDS: estimation du décalage maximal parmi tous les flux. Cette métrique est en preview public.
  • STREAMING_BACKLOG_SECONDS: estimation du délai maximal du consommateur sur tous les flux. Cette métrique est en preview public.
  • STREAMING_BACKLOG_FILES: estimation du nombre maximal de fichiers en attente dans tous les flux. Cette métrique est en preview public.
op String Spécifie l’opérateur utilisé pour comparer la valeur de métrique d’intégrité au seuil spécifié.
value Integer Spécifie la valeur de seuil que la métrique d’intégrité doit respecter pour satisfaire la règle d’intégrité.

tâche.tâches_regroupées

Type: Sequence

Liste des spécifications de cluster de travaux qui peuvent être partagées et réutilisées par les tâches de ce travail. Les bibliothèques ne peuvent pas être déclarées dans un cluster de travaux partagés. Vous devez déclarer des bibliothèques dépendantes dans les paramètres de tâche.

Chaque élément de la liste est un JobCluster:

Key Type Description
job_cluster_key String Nom unique du cluster de travaux. Ce champ est obligatoire et doit être unique dans le travail. JobTaskSettings peut faire référence à ce champ pour déterminer le cluster à lancer pour l’exécution de la tâche.
new_cluster Map Si new_cluster, description d’un cluster créé pour chaque tâche. Voir cluster.

tâche.paramètres_de_notification

Type: Map

Paramètres de notification qui s’appliquent à toutes les notifications pour le travail.

Key Type Description
no_alert_for_skipped_runs Boolean Indique s'il faut ne pas envoyer d'alertes pour les exécutions sautées.
no_alert_for_canceled_runs Boolean Détermine si l’envoi d’alertes pour les exécutions annulées doit être ignoré.

job.queue

Type: Map

Paramètres de file d’attente de la tâche.

Key Type Description
enabled Boolean Indique s’il faut activer la mise en file d’attente pour le travail.

job.schedule

Type: Map

Planifiez la configuration pour l’exécution périodique du travail.

Key Type Description
quartz_cron_expression String Expression Cron utilisant la syntaxe Quartz qui spécifie quand la tâche s’exécute. Par exemple, 0 0 9 * * ? exécute le travail tous les jours à 9h00 UTC.
timezone_id String Fuseau horaire de la planification. Par exemple, America/Los_Angeles ou UTC.
pause_status String Indique si la planification est suspendue ou non. Valeurs valides : PAUSED, UNPAUSED.

job.déclencheur

Type: Map

Configuration de déclenchement pour l'exécution du travail piloté par les événements.

Key Type Description
file_arrival Map Déclencheur activé par l'arrivée d'un fichier. Voir file_arrival.
table Map Activation basée sur un tableau. Voir le tableau.
table_update Map Déclencheur basé sur les mises à jour des tables. Voir table_update.
periodic Map Déclencheur périodique. Voir périodique.

job.déclencheur.arrivée_fichier

Type: Map

Déclenchez la configuration en fonction de l’arrivée du fichier.

Key Type Description
url String Le chemin d’accès au répertoire à surveiller pour de nouveaux fichiers.
min_time_between_triggers_seconds Integer Durée minimale en secondes entre les événements déclencheurs.
wait_after_last_change_seconds Integer Délai d’attente en secondes après la dernière modification du fichier avant le déclenchement.

job.trigger.table

Type: Map

Déclencher la configuration en fonction d’une table.

Key Type Description
table_names Sequence Liste des noms de tables à surveiller.
condition String Condition SQL qui doit être remplie pour déclencher le travail.

job.trigger.table_update

Type: Map

Configuration de déclencheur basée sur les mises à jour de la table.

Key Type Description
table_names Sequence Liste des noms de tables à surveiller pour les mises à jour.
condition String Condition SQL qui doit être remplie pour déclencher le travail.
wait_after_last_change_seconds Integer Délai d’attente en secondes après la dernière mise à jour de la table avant le déclenchement.

job.déclencheur.périodique

Type: Map

Configuration du déclencheur périodique

Key Type Description
interval Integer Valeur d’intervalle du déclencheur périodique.
unit String Unité de temps pour l’intervalle. Valeurs valides : SECONDS, , MINUTESHOURS, . DAYSWEEKS

job.webhook_notifications

Type: Map

Paramètres de notification webhook pour les exécutions de tâches.

Key Type Description
on_start Sequence Liste des ID de notification de webhook à notifier lorsqu’une exécution démarre.
on_success Sequence Liste des ID de notification de webhook à notifier lorsqu’une exécution réussit.
on_failure Sequence Liste des ID de notification de webhook à notifier lorsqu’une exécution échoue.
on_duration_warning_threshold_exceeded Sequence Liste des ID de notification de webhook à utiliser lorsqu'une durée d'une exécution dépasse le seuil d'avertissement.

Examples

L'exemple suivant définit une tâche avec la clé de ressource hello-job et une tâche de carnet :

resources:
  jobs:
    hello-job:
      name: hello-job
      tasks:
        - task_key: hello-task
          notebook_task:
            notebook_path: ./hello.py

L’exemple suivant définit un travail avec un notebook SQL :

resources:
  jobs:
    job_with_sql_notebook:
      name: 'Job to demonstrate using a SQL notebook with a SQL warehouse'
      tasks:
        - task_key: notebook
          notebook_task:
            notebook_path: ./select.sql
            warehouse_id: 799f096837fzzzz4

Pour obtenir des exemples de configuration de travail supplémentaires, consultez Configuration du travail.

Pour plus d’informations sur la définition des tâches et la substitution des paramètres de travail, consultez :

modèle (hérité)

Type: Map

La ressource de modèle vous permet de définir des modèles hérités dans les packs. Databricks vous recommande plutôt d'utiliser les modèles enregistrés dans le catalogue Unity .

point_de_serveur_de_modèle

Type: Map

La ressource model_serving_endpoint vous permet de définir des points de terminaison de service de modèles. Consultez Gérer les points de terminaison de mise en service de modèles.

model_serving_endpoints:
  <model_serving_endpoint-name>:
    <model_serving_endpoint-field-name>: <model_serving_endpoint-field-value>
Key Type Description
ai_gateway Map Configuration de la passerelle IA pour le point de terminaison de mise en service. REMARQUE : Seuls les points de terminaison du modèle externe et du débit approvisionné sont actuellement pris en charge. Voir ai_gateway.
config Map Configuration principale du point de terminaison de mise en service. Consultez la configuration.
name String Le nom de l’endpoint de service. Ce champ est obligatoire et doit être unique dans un espace de travail Databricks. Un nom de point de terminaison peut se composer de caractères alphanumériques, de tirets et de traits de soulignement.
permissions Sequence Autorisations du point de terminaison de mise en service. Consultez les autorisations.
rate_limits Sequence Deprecated. Limites de débit à appliquer au point de terminaison de mise en service. Utilisez la passerelle IA pour gérer les limites de débit.
route_optimized Boolean Activez l’optimisation de l’itinéraire pour le point de terminaison de service.
tags Sequence Balises à joindre au point de terminaison de service et propagées automatiquement aux journaux de facturation.

model_serving_endpoint.ai_gateway

Type: Map

Configuration de la passerelle d'intelligence artificielle pour le terminal de service.

Key Type Description
guardrails Map Configuration du garde-fou. Voir garde-fous.
inference_table_config Map Configuration de la journalisation de l’inférence dans les tables du catalogue Unity. Voir inference_table_config.
rate_limits Sequence Configurations de limite de débit.
usage_tracking_config Map Configuration pour le suivi de l’utilisation. Voir usage_tracking_config.

model_serving_endpoint.ai_gateway.garde-fous

Type: Map

Configuration des garde-fous de passerelle IA.

Key Type Description
input Map Configuration des garde-fous d’entrée avec des champs tels que safety, pii.
output Map Configuration des garde-fous de sortie avec des champs tels que safety, pii.
invalid_keywords Sequence Liste de mots clés à bloquer.

model_serving_endpoint.ai_gateway.inference_table_config

Type: Map

Configuration de la journalisation de l’inférence dans les tables du catalogue Unity.

Key Type Description
catalog_name String Nom du catalogue dans le catalogue Unity.
schema_name String Nom du schéma dans le catalogue Unity.
table_name_prefix String Préfixe pour les noms de tables d’inférence.
enabled Boolean Indique si la journalisation des tables d’inférence est activée.

model_serving_endpoint.ai_gateway.usage_tracking_config

Type: Map

Configuration de la passerelle IA pour le suivi de l’utilisation.

Key Type Description
enabled Boolean Indique si le suivi de l’utilisation est activé.

model_serving_endpoint.config

Type: Map

Configuration principale de l'endpoint de service.

Key Type Description
served_entities Sequence Liste des entités servies pour le point de terminaison à servir. Chaque entité servie contient des champs tels que entity_name, , entity_versionworkload_sizescale_to_zero_enabled, , workload_type, . environment_vars
served_models Sequence (Déconseillé : utiliser served_entities à la place) Liste de modèles servis pour le point de terminaison à servir.
traffic_config Map Configuration de trafic définissant comment les requêtes vers le point d'accès doivent être routées. Voir traffic_config.
auto_capture_config Map Configuration des tables d’inférence qui journalise automatiquement les demandes et les réponses au catalogue Unity. Voir auto_capture_config.

model_serving_endpoint.config.traffic_config

Type: Map

Configuration de trafic définissant comment les requêtes vers le point d'accès doivent être routées.

Key Type Description
routes Sequence Liste des itinéraires pour la distribution du trafic. Chaque itinéraire contient served_model_name et traffic_percentage.

point_d'accès_de_service_de_modèle.config.capture_automatique_config

Type: Map

Configuration des tables d’inférence qui journalise automatiquement les demandes et les réponses au catalogue Unity.

Key Type Description
catalog_name String Nom du catalogue dans le catalogue Unity.
schema_name String Nom du schéma dans le catalogue Unity.
table_name_prefix String Préfixe pour les noms de tables d’inférence.
enabled Boolean Indique si la journalisation des tables d’inférence est activée.

Example

L’exemple suivant définit un point de terminaison de mise en service de modèles pour Unity Catalog :

resources:
  model_serving_endpoints:
    uc_model_serving_endpoint:
      name: 'uc-model-endpoint'
      config:
        served_entities:
          - entity_name: 'myCatalog.mySchema.my-ads-model'
            entity_version: '10'
            workload_size: 'Small'
            scale_to_zero_enabled: 'true'
        traffic_config:
          routes:
            - served_model_name: 'my-ads-model-10'
              traffic_percentage: '100'
      tags:
        - key: 'team'
          value: 'data science'

chaîne de traitement

Type: Map

Les pipelines sont pris en charge dans Python pour les bundles de ressources Databricks. Consultez databricks.bundles.pipelines.

La ressource de pipeline vous permet de créer des pipelines. Pour plus d’informations sur les pipelines, consultez Pipelines déclaratifs Spark Lakeflow. Pour obtenir un didacticiel qui utilise le modèle Databricks Asset Bundles pour créer un pipeline, consultez Développer des pipelines déclaratifs Spark Lakeflow avec des bundles de ressources Databricks.

pipelines:
  <pipeline-name>:
    <pipeline-field-name>: <pipeline-field-value>
Key Type Description
allow_duplicate_names Boolean Si la valeur est false, le déploiement échoue si le nom est en conflit avec celui d’un autre pipeline.
budget_policy_id String Stratégie budgétaire de ce pipeline.
catalog String Catalogue dans Unity Catalog dans lequel publier des données à partir de ce pipeline. Si target est spécifiée, les tables de ce pipeline sont publiées dans un schéma target à l’intérieur de catalog (par exemple, catalog.target.table). Si target n’est pas spécifié, aucune donnée n’est publiée dans le catalogue Unity.
channel String Canal de diffusion des pipelines déclaratifs Lakeflow Spark spécifiant quelle version utiliser.
clusters Sequence Paramètres du cluster pour ce déploiement de pipeline. Voir cluster.
configuration Map Configuration de cette exécution de pipeline.
continuous Boolean Indiquez si le pipeline est continu ou déclenché. Cela remplace trigger.
deployment Map Type de déploiement de ce pipeline. Consultez Déploiement.
development Boolean Indique si le pipeline est en mode développement. La valeur par défaut est false.
dry_run Boolean Indique si le pipeline est un pipeline de test à blanc.
edition String Édition de produit du pipeline.
environment Map Spécification de l’environnement de ce pipeline, utilisée pour installer des dépendances sur le calcul sans serveur. Consultez l’environnement. Cette clé est uniquement prise en charge dans Databricks CLI version 0.258 et ultérieure.
event_log Map Configuration du journal des événements pour ce pipeline. Voir event_log.
filters Map Filtres qui déterminent les packages de pipeline à inclure dans le graphique déployé. Consultez les filtres.
id String Identificateur unique pour ce pipeline.
ingestion_definition Map Configuration d’un pipeline d’ingestion managé. Ces paramètres ne peuvent pas être utilisés avec les paramètres libraries, schema, target, ou catalog. Voir ingestion_definition.
libraries Sequence Liste des bibliothèques ou du code nécessaires par ce déploiement. Consultez pipeline.libraries.
lifecycle Map Contient les paramètres de cycle de vie d’une ressource. Il contrôle le comportement de la ressource lorsqu’elle est déployée ou détruite. Consultez le cycle de vie.
name String Nom convivial de ce pipeline.
notifications Sequence Paramètres de notification pour ce pipeline.
permissions Sequence Autorisations du pipeline. Consultez les autorisations.
photon Boolean Indique si Photon est activé pour ce pipeline.
root_path String Chemin racine de ce pipeline. Il est utilisé comme répertoire racine lors de la modification du pipeline dans l’interface utilisateur Databricks et il est ajouté à sys.path lors de l’exécution de sources Python pendant l’exécution du pipeline.
run_as Map Identité sous laquelle le pipeline s’exécute. S'il n'est pas spécifié, le pipeline s'exécute en tant que l'utilisateur qui a créé le pipeline. Seuls user_name ou service_principal_name peuvent être spécifiés. Si les deux sont spécifiés, une erreur est levée. Voir run_as.
schema String Schéma par défaut (base de données) dans lequel les tables sont lues ou publiées.
serverless Boolean Indique si le calcul "serverless" est activé pour ce pipeline.
storage String Répertoire racine DBFS pour le stockage de points de contrôle et de tables.
tags Map Carte des balises associées au pipeline. Ils sont transférés au cluster en tant que balises de cluster et sont donc soumis aux mêmes limitations. Un maximum de 25 balises peut être ajouté au pipeline.
target String Schéma cible (base de données) pour ajouter des tables dans ce pipeline. Exactement l’un des schema ou target doit être spécifié. Pour publier dans le catalogue Unity, spécifiez catalogégalement . Ce champ hérité est déconseillé pour la création de pipelines, il est préférable d'utiliser le champ schema.

pipeline.deploiement

Type: Map

Configuration du type de déploiement pour le pipeline.

Key Type Description
kind String Type de déploiement. Par exemple : BUNDLE.
metadata_file_path String Chemin d’accès au fichier de métadonnées du déploiement.

pipeline.environnement

Type: Map

Spécification d'environnement pour l'installation des dépendances sur une infrastructure serverless.

Key Type Description
dependencies Sequence Liste des dépendances pip, conforme à la version de pip prise en charge dans cet environnement. Chaque dépendance est une ligne de fichier d’exigence pip.

pipeline.journal_des_événements

Type: Map

Configuration du journal des événements pour le pipeline.

Key Type Description
catalog String Le catalogue Unity sous lequel le journal d'événements est publié.
name String Le nom sous lequel le journal des événements est publié dans Unity Catalog.
schema String Le schéma du catalogue Unity sous lequel le journal des événements est publié.

pipeline.filtres

Type: Map

Filtres qui déterminent les packages de pipeline à inclure dans le graphique déployé.

Key Type Description
include Sequence Liste des noms de package à inclure.
exclude Sequence Liste des noms de package à exclure.

pipeline.ingestion_definition

Type: Map

Configuration d’un pipeline d’ingestion managé. Ces paramètres ne peuvent pas être utilisés avec les paramètres libraries, schema, target, ou catalog.

Key Type Description
connection_name String Nom de la connexion à utiliser pour l’ingestion.
ingestion_gateway_id String L'identifiant de la passerelle d'ingestion.
objects Sequence Obligatoire. Paramètres spécifiant les tables à répliquer et la destination des tables répliquées. Chaque objet peut être un SchemaSpec, TableSpec ou ReportSpec.
source_configuration Map Paramètres de configuration source au niveau du catalogue. Voir source_configuration.
table_configuration Map Configuration des tables d’ingestion. Voir table_configuration.

SchemaSpec

Type: Map

Spécification de l’objet de schéma pour l’ingestion de toutes les tables à partir d’un schéma.

Key Type Description
source_schema String Nom du schéma source à ingérer.
destination_catalog String Nom du catalogue de destination dans le catalogue Unity.
destination_schema String Nom du schéma de destination dans le catalogue Unity.
table_configuration Map Configuration à appliquer à toutes les tables de ce schéma. Consultez pipeline.ingestion_definition.table_configuration.

TableSpec

Type: Map

Spécification de l’objet Table pour l’ingestion d’une table spécifique.

Key Type Description
source_schema String Nom du schéma source contenant la table.
source_table String Le nom de la table source à ingérer.
destination_catalog String Nom du catalogue de destination dans le catalogue Unity.
destination_schema String Nom du schéma de destination dans le catalogue Unity.
destination_table String Nom de la table de destination dans le catalogue Unity.
table_configuration Map Configuration de cette table spécifique. Consultez pipeline.ingestion_definition.table_configuration.

Spécification du Rapport

Type: Map

Spécification de l’objet rapport pour l’ingestion de rapports d’analyse.

Key Type Description
source_url String URL du rapport source.
source_report String Nom ou identificateur du rapport source.
destination_catalog String Nom du catalogue de destination dans le catalogue Unity.
destination_schema String Nom du schéma de destination dans le catalogue Unity.
destination_table String Nom de la table de destination pour les données du rapport.
table_configuration Map Configuration de la table de rapports. Consultez pipeline.ingestion_definition.table_configuration.

pipeline.ingestion_definition.source_configuration

Type: Map

Configuration de la source.

Key Type Description
catalog Map Paramètres de configuration source au niveau du catalogue. Consultez le catalogue.
pipeline.définition_d_ingestion.configuration_de_source.catalogue

Type: Map

Paramètres de configuration source au niveau du catalogue

Key Type Description
postgres Map Paramètres de configuration au niveau du catalogue spécifiques à Postgres. Contient une clé slot_config qui est une Map représentant la configuration de l’emplacement Postgres à utiliser pour la réplication logique.
source_catalog String Nom du catalogue source.

pipeline.ingestion_definition.table_configuration

Type: Map

Options de configuration pour les tables d’ingestion.

Key Type Description
exclude_columns Sequence Liste des noms de colonnes à exclure pour l’ingestion. Lorsqu’elle n’est pas spécifiée, include_columns contrôle entièrement les colonnes à intégrer. Lorsqu’elles sont spécifiées, toutes les autres colonnes, y compris les futures, seront automatiquement incluses pour l’ingestion. Ce champ s’exclue mutuellement avec include_columns.
include_columns Sequence Liste des noms de colonnes à inclure pour l’ingestion. Lorsqu’elles ne sont pas spécifiées, toutes les colonnes à l’exception de celles-ci exclude_columns sont incluses. Les colonnes futures seront automatiquement incluses. Quand cette colonne est spécifiée, toutes les autres colonnes seront automatiquement exclues de l’ingestion. Ce champ s’exclue mutuellement avec exclude_columns.
primary_keys Sequence Liste des noms de colonnes à utiliser comme clés primaires pour la table.
sequence_by Sequence Noms de colonnes spécifiant l’ordre logique des événements dans les données sources. Les pipelines déclaratifs Spark utilisent ce séquencement pour gérer les événements de modification qui arrivent dans le désordre.

pipeline.bibliothèques

Type: Sequence

Définit la liste des bibliothèques ou du code nécessaires par ce pipeline.

Chaque élément de la liste est une définition :

Key Type Description
file Map Chemin d’accès à un fichier qui définit un pipeline et qui est stocké dans Databricks Repos. Consultez pipeline.libraries.file.
glob Map Champ unifié pour inclure du code source. Chaque entrée peut être un chemin d’accès au bloc-notes, un chemin d’accès au fichier ou un chemin d’accès de dossier qui se termine /**. Ce champ ne peut pas être utilisé avec notebook ou file. Consultez pipeline.libraries.glob.
notebook Map Chemin d’accès à un notebook qui définit un pipeline et qui est stocké dans l’espace de travail Databricks. Consultez pipeline.libraries.notebook.
whl String Ce champ est déconseillé

pipeline.bibliothèques.fichier

Type: Map

Chemin d’accès à un fichier qui définit un pipeline et qui est stocké dans databricks Repos.

Key Type Description
path String Chemin absolu du code source.

pipeline.libraries.glob

Type: Map

Champ unifié pour inclure du code source. Chaque entrée peut être un chemin d’accès au bloc-notes, un chemin d’accès au fichier ou un chemin d’accès de dossier qui se termine /**. Ce champ ne peut pas être utilisé avec notebook ou file.

Key Type Description
include String Code source à inclure pour les pipelines

pipeline.libraries.notebook

Type: Map

Chemin d’accès à un notebook qui définit un pipeline et qui est stocké dans l’espace de travail Databricks.

Key Type Description
path String Chemin absolu du code source.

Example

L’exemple suivant définit un pipeline avec la clé de ressource hello-pipeline:

resources:
  pipelines:
    hello-pipeline:
      name: hello-pipeline
      clusters:
        - label: default
          num_workers: 1
      development: true
      continuous: false
      channel: CURRENT
      edition: CORE
      photon: false
      libraries:
        - notebook:
            path: ./pipeline.py

Pour obtenir des exemples de configuration de pipeline supplémentaires, consultez Configuration du pipeline.

moniteur_de_qualité (Unity Catalog)

Type: Map

La ressource quality_monitor vous permet de définir un moniteur de table Unity Catalog . Pour plus d’informations sur les moniteurs, consultez Profilage des données.

quality_monitors:
  <quality_monitor-name>:
    <quality_monitor-field-name>: <quality_monitor-field-value>
Key Type Description
assets_dir String Répertoire permettant de stocker les ressources de surveillance (par exemple, tableau de bord, tables de métriques).
baseline_table_name String Nom de la table de référence à partir de laquelle les métriques de dérive sont calculées. Les colonnes de la table surveillée doivent également être présentes dans la table de référence.
custom_metrics Sequence Métriques personnalisées à calculer sur la table surveillée. Il peut s’agir de métriques agrégées, de métriques dérivées (à partir de métriques agrégées déjà calculées) ou de métriques de dérive (comparaison des métriques entre les fenêtres de temps). Voir custom_metrics.
inference_log Map Configuration pour le monitoring des journaux d’inférence. Voir inference_log.
lifecycle Map Contient les paramètres de cycle de vie d’une ressource. Il contrôle le comportement de la ressource lorsqu’elle est déployée ou détruite. Consultez le cycle de vie.
notifications Map Paramètres de notification du moniteur. Consultez les notifications.
output_schema_name String Schéma dans lequel les tables de métriques de sortie sont créées.
schedule Map Planification de la mise à jour et de l’actualisation automatique des tables de métriques. Consultez la planification.
skip_builtin_dashboard Boolean Indique s’il faut ignorer la création d’un tableau de bord par défaut récapitunant les métriques de qualité des données.
slicing_exprs Sequence Liste des expressions de colonne à découper des données avec pour une analyse ciblée. Les données sont regroupées par chaque expression indépendamment, ce qui aboutit à une tranche distincte pour chaque prédicat et ses compléments. Pour les colonnes à cardinalité élevée, seules les 100 premières valeurs uniques par fréquence génèrent des tranches.
snapshot Map Configuration pour le monitoring des tables d’instantanés. Voir capture instantanée.
table_name String Nom complet de la table.
time_series Map Configuration pour le monitoring des tables de série chronologique. Voir time_series.
warehouse_id String Argument facultatif pour spécifier l’entrepôt pour la création du tableau de bord. S’il n’est pas spécifié, le premier entrepôt actif sera utilisé.

quality_monitor.indicateurs_personnalisés

Type: Sequence

Liste des définitions de métrique personnalisées.

Chaque élément de la liste est un CustomMetric:

Key Type Description
definition String Modèle Jinja pour une expression SQL qui spécifie comment calculer la métrique. Consultez créer une définition de métrique.
input_columns Sequence Liste des noms de colonnes dans la table d’entrée pour laquelle la métrique doit être calculée. Peut utiliser :table pour indiquer que la métrique a besoin d’informations à partir de plusieurs colonnes.
name String Nom de la métrique dans les tables de sortie.
output_data_type String Type de sortie de la métrique personnalisée.
type String Ne peut être qu’un seul de CUSTOM_METRIC_TYPE_AGGREGATE, CUSTOM_METRIC_TYPE_DERIVEDou CUSTOM_METRIC_TYPE_DRIFT. Les métriques CUSTOM_METRIC_TYPE_AGGREGATE et CUSTOM_METRIC_TYPE_DERIVED sont calculées sur une table unique, tandis que les métriques CUSTOM_METRIC_TYPE_DRIFT comparent les données entre la base de référence et la table d'entrée, ou entre deux fenêtres temporelles consécutives.
  • CUSTOM_METRIC_TYPE_AGGREGATE : dépend uniquement des colonnes existantes dans votre table
  • CUSTOM_METRIC_TYPE_DERIVED : dépend des métriques d’agrégation calculées précédemment
  • CUSTOM_METRIC_TYPE_DRIFT : dépend des métriques agrégées ou dérivées précédemment calculées

quality_monitor.data_classification_config

Type: Map

Configuration de la classification des données.

Key Type Description
enabled Boolean Indique si la classification des données est activée.

quality_monitor.inference_log

Type: Map

Configuration pour le monitoring des journaux d’inférence.

Key Type Description
granularities Sequence Granularités temporelles pour l’agrégation des fichiers de logs d’inférence (par exemple, ["1 day"]).
model_id_col String Nom de la colonne contenant l’ID de modèle.
prediction_col String Nom de la colonne contenant la prédiction.
timestamp_col String Nom de la colonne contenant l’horodatage.
problem_type String Le type de problème ML. Les valeurs valides incluent PROBLEM_TYPE_CLASSIFICATION, PROBLEM_TYPE_REGRESSION.
label_col String Nom de la colonne contenant l’étiquette (vérité au sol).

quality_monitor.notifcations

Type: Map

Paramètres de notification pour le moniteur.

Key Type Description
on_failure Map Paramètres de notification lorsque le moniteur échoue. Voir on_failure.
on_new_classification_tag_detected Map Paramètres de notification lorsque de nouvelles balises de classification sont détectées. Voir on_new_classification_tag_detected.

monitor_qualité.notifications.échec

Type: Map

Paramètres de notification lorsque le moniteur échoue.

Key Type Description
email_addresses Sequence Liste des adresses e-mail à notifier lors de l’échec du moniteur.

moniteur_qualité.notifications.lorsqu_nouveau_tag_de_classification_detecté

Type: Map

Paramètres de notification lorsque de nouvelles balises de classification sont détectées.

Key Type Description
email_addresses Sequence Liste des adresses e-mail à notifier quand de nouvelles balises de classification sont détectées.

quality_monitor.schedule

Type: Map

Planifiez la mise à jour et l’actualisation automatique des tables de métriques.

Key Type Description
quartz_cron_expression String Expression Cron utilisant la syntaxe Quartz. Par exemple, 0 0 8 * * ? s’exécute tous les jours à 8h00.
timezone_id String Fuseau horaire de la planification (par exemple, UTC, America/Los_Angeles).
pause_status String Indique si la planification est suspendue. Valeurs valides : PAUSED, UNPAUSED.

moniteur_qualité.snapshot

Type: Map

Configuration pour le monitoring des tables d’instantanés.

quality_monitor.séries_temporelles

Configuration pour le monitoring des tables de série chronologique.

Key Type Description
granularities Sequence Granularités temporelles pour l’agrégation des données de série chronologique (par exemple, ["30 minutes"]).
timestamp_col String Nom de la colonne contenant l’horodatage.

Examples

Pour obtenir un exemple complet de pack qui définit un quality_monitor, consultez le pack mlops_demo.

Les exemples suivants définissent des moniteurs de qualité pour les types de profil InferenceLog, TimeSeries et Snapshot .

# InferenceLog profile type
resources:
  quality_monitors:
    my_quality_monitor:
      table_name: dev.mlops_schema.predictions
      output_schema_name: ${bundle.target}.mlops_schema
      assets_dir: /Workspace/Users/${workspace.current_user.userName}/databricks_lakehouse_monitoring
      inference_log:
        granularities: [1 day]
        model_id_col: model_id
        prediction_col: prediction
        label_col: price
        problem_type: PROBLEM_TYPE_REGRESSION
        timestamp_col: timestamp
      schedule:
        quartz_cron_expression: 0 0 8 * * ? # Run Every day at 8am
        timezone_id: UTC
# TimeSeries profile type
resources:
  quality_monitors:
    my_quality_monitor:
      table_name: dev.mlops_schema.predictions
      output_schema_name: ${bundle.target}.mlops_schema
      assets_dir: /Workspace/Users/${workspace.current_user.userName}/databricks_lakehouse_monitoring
      time_series:
        granularities: [30 minutes]
        timestamp_col: timestamp
      schedule:
        quartz_cron_expression: 0 0 8 * * ? # Run Every day at 8am
        timezone_id: UTC
# Snapshot profile type
resources:
  quality_monitors:
    my_quality_monitor:
      table_name: dev.mlops_schema.predictions
      output_schema_name: ${bundle.target}.mlops_schema
      assets_dir: /Workspace/Users/${workspace.current_user.userName}/databricks_lakehouse_monitoring
      snapshot: {}
      schedule:
        quartz_cron_expression: 0 0 8 * * ? # Run Every day at 8am
        timezone_id: UTC

registered_model (catalogue Unity)

Type: Map

La ressource de modèle inscrite vous permet de définir des modèles dans le catalogue Unity. Pour découvrir plus d’informations sur les modèles enregistrés d’Unity Catalog, consultez Gérer le cycle de vie des modèles dans Unity Catalog.

registered_models:
  <registered_model-name>:
    <registered_model-field-name>: <registered_model-field-value>
Key Type Description
aliases Sequence Liste des alias associés au modèle inscrit. Consultez registered_model.aliases.
browse_only Boolean Indique si le principal est limité à la récupération des métadonnées de l’objet associé via le privilège BROWSE lorsque include_browse est activé dans la requête.
catalog_name String Nom du catalogue où résident le schéma et le modèle inscrit.
comment String Commentaire attaché au modèle enregistré.
full_name String Le nom qualifié complet (en trois niveaux) du modèle enregistré
grants Sequence Subventions associées au modèle enregistré. Consultez l’octroi.
lifecycle Map Contient les paramètres de cycle de vie d’une ressource. Il contrôle le comportement de la ressource lorsqu’elle est déployée ou détruite. Consultez le cycle de vie.
name String Nom du modèle inscrit.
schema_name String Nom du schéma où réside le modèle inscrit.
storage_location String Emplacement de stockage sur le cloud sous lequel les fichiers de données de version du modèle sont stockés.

registered_model.aliases

Type: Sequence

Liste des alias associés au modèle inscrit.

Chaque élément de la liste est un Alias:

Key Type Description
alias_name String Nom de l’alias, par exemple « champion » ou « latest_stable »
catalog_name String Nom du catalogue contenant la version du modèle
id String Identificateur unique de l’alias
model_name String Nom du modèle enregistré parent de la version de modèle, en lien avec le schéma parent
schema_name String Nom du schéma contenant la version du modèle, par rapport au catalogue parent
version_num Integer Numéro de version entier de la version du modèle vers laquelle cet alias pointe.

Example

L’exemple suivant définit un modèle inscrit dans le catalogue Unity :

resources:
  registered_models:
    model:
      name: my_model
      catalog_name: ${bundle.target}
      schema_name: mlops_schema
      comment: Registered model in Unity Catalog for ${bundle.target} deployment target
      grants:
        - privileges:
            - EXECUTE
          principal: account users

schéma (Unity Catalog)

Type: Map

Les schémas sont pris en charge dans Python pour les bundles de ressources Databricks. Consultez databricks.bundles.schemas.

Le type de ressource de schéma vous permet de définir des schémas de catalogue Unity pour les tables et autres ressources de vos flux de travail et pipelines créés dans le cadre d’un bundle. Un schéma, différent des autres types de ressources, présente les limitations suivantes :

  • Le propriétaire d’une ressource de schéma est toujours l’utilisateur de déploiement et ne peut pas être modifié. Si run_as est spécifié dans le bundle, il est ignoré par les opérations sur le schéma.
  • Seuls les champs pris en charge par l’API de création d’objet Schemas correspondante sont disponibles pour la ressource de schéma. Par exemple, enable_predictive_optimization n’est pas pris en charge, car il n’est disponible que sur l’API de mise à jour.
schemas:
  <schema-name>:
    <schema-field-name>: <schema-field-value>
Key Type Description
catalog_name String Nom du catalogue parent.
comment String Description de texte libre fournie par l’utilisateur.
grants Sequence Octrois associés au schéma. Consultez l’octroi.
lifecycle Map Contient les paramètres de cycle de vie d’une ressource. Il contrôle le comportement de la ressource lorsqu’elle est déployée ou détruite. Consultez le cycle de vie.
name String Nom du schéma, relatif au catalogue parent.
properties Map Carte des propriétés clé-valeur attachées au schéma.
storage_root String URL racine de stockage pour les tables managées dans le schéma.

Examples

L’exemple suivant définit un pipeline avec la clé de ressource my_pipeline qui crée un schéma de catalogue Unity avec la clé my_schema comme cible :

resources:
  pipelines:
    my_pipeline:
      name: test-pipeline-{{.unique_id}}
      libraries:
        - notebook:
            path: ../src/nb.ipynb
        - file:
            path: ../src/range.sql
      development: true
      catalog: ${resources.schemas.my_schema.catalog_name}
      target: ${resources.schemas.my_schema.id}

  schemas:
    my_schema:
      name: test-schema-{{.unique_id}}
      catalog_name: main
      comment: This schema was created by Databricks Asset Bundles.

Un mappage d’octrois de niveau supérieur n’est pas pris en charge par les bundles de ressources Databricks. Par conséquent, si vous souhaitez définir des subventions pour un schéma, définissez les subventions pour le schéma au sein du mappage schemas. Pour plus d’informations sur les subventions, consultez Afficher, accorder et révoquer des privilèges.

L’exemple suivant définit un schéma de catalogue Unity avec des subventions :

resources:
  schemas:
    my_schema:
      name: test-schema
      grants:
        - principal: users
          privileges:
            - SELECT
        - principal: my_team
          privileges:
            - CAN_MANAGE
      catalog_name: main

secret_scope

Type: Map

La ressource secret_scope vous permet de définir des étendues secrètes dans un bundle. Pour plus d’informations sur les étendues de secret, consultez Gestion des secrets.

secret_scopes:
  <secret_scope-name>:
    <secret_scope-field-name>: <secret_scope-field-value>
Key Type Description
backend_type String Type de back-end avec lequel l’étendue sera créée. Si ce n’est pas spécifié, cette valeur par défaut est DATABRICKS.
keyvault_metadata Map Métadonnées de l’étendue du secret si la valeur backend_type indique AZURE_KEYVAULT. Voir keyvault_metadata.
lifecycle Map Contient les paramètres de cycle de vie d’une ressource. Il contrôle le comportement de la ressource lorsqu’elle est déployée ou détruite. Consultez le cycle de vie.
name String Nom de l’étendue demandé par l’utilisateur. Les noms d’étendues sont uniques.
permissions Sequence Autorisations à appliquer à l’étendue du secret. Les autorisations sont gérées via des listes de contrôle d’accès d’étendue secrète. Consultez les autorisations.

secret_scope.keyvault_metadata

Type: Map

Métadonnées pour les étendues secrètes sauvegardées par Azure Key Vault.

Key Type Description
resource_id String ID de ressource du coffre de clés Azure.
dns_name String Nom DNS d’Azure Key Vault.

Examples

L'exemple suivant définit une étendue secrète qui utilise un backend de coffre-fort de clés :

resources:
  secret_scopes:
    secret_scope_azure:
      name: test-secrets-azure-backend
      backend_type: 'AZURE_KEYVAULT'
      keyvault_metadata:
        resource_id: my_azure_keyvault_id
        dns_name: my_azure_keyvault_dns_name

L’exemple suivant définit une liste de contrôle d’accès personnalisée à l’aide d’étendues et d’autorisations secrètes :

resources:
  secret_scopes:
    my_secret_scope:
      name: my_secret_scope
      permissions:
        - user_name: admins
          level: WRITE
        - user_name: users
          level: READ

Pour obtenir un exemple de bundle illustrant comment définir une étendue de secret et un travail avec une tâche qui la lit dans un bundle, consultez le dépôt GitHub bundle-examples.

sql_warehouse

Type: Map

La ressource SQL Warehouse vous permet de définir un entrepôt SQL dans un bundle. Pour plus d’informations sur les entrepôts SQL, consultez l’entreposage de données sur Azure Databricks.

sql_warehouses:
  <sql-warehouse-name>:
    <sql-warehouse-field-name>: <sql-warehouse-field-value>
Key Type Description
auto_stop_mins Integer Durée en minutes pendant laquelle un entrepôt SQL doit être inactif (par exemple, aucune requête RUNNING), avant d’être automatiquement arrêté. Les valeurs valides sont 0, ce qui indique l'absence d'arrêt automatique, ou supérieures ou égales à 10. La valeur par défaut est 120.
channel Map Détails de la chaîne. Voir le canal
cluster_size String Taille des clusters alloués pour cet entrepôt de données. L’augmentation de la taille d’un cluster Spark vous permet d’exécuter des requêtes plus volumineuses. Si vous souhaitez augmenter le nombre de requêtes simultanées, paramétrez max_num_clusters. Pour connaître les valeurs prises en charge, consultez cluster_size.
creator_name String Nom de l’utilisateur qui a créé l’entrepôt.
enable_photon Boolean Indique si l’entrepôt doit utiliser des clusters photon optimisés. La valeur par défaut est false.
enable_serverless_compute Boolean Indique si l’entrepôt doit utiliser le calcul sans serveur.
instance_profile_arn String Deprecated. Profil d’instance utilisé pour passer le rôle IAM au cluster,
lifecycle Map Contient les paramètres de cycle de vie d’une ressource. Il contrôle le comportement de la ressource lorsqu’elle est déployée ou détruite. Consultez le cycle de vie.
max_num_clusters Integer Nombre maximal de clusters créés par l’autoscaler pour gérer les requêtes simultanées. Les valeurs doivent être inférieures ou égales à 30 et supérieures ou égales à min_num_clusters. La valeur par défaut est min_clusters si elle n’est pas définie.
min_num_clusters Integer Nombre minimal de clusters disponibles qui seront conservés pour cet entrepôt SQL. L’augmentation de ce paramètre permet de s’assurer qu’un plus grand nombre de clusters sont toujours en cours d’exécution et peut donc réduire le temps de démarrage à froid pour les nouvelles requêtes. Cela est similaire aux cœurs réservés et révocables dans un gestionnaire de ressources. Les valeurs doivent être supérieures à 0 et inférieures ou égales à min(max_num_clusters, 30). La valeur par défaut est de 1.
name String Nom logique du cluster. Le nom doit être unique au sein d’une organisation et inférieur à 100 caractères.
permissions Sequence Autorisations à appliquer à l’entrepôt. Consultez les autorisations.
spot_instance_policy String Indique s’il faut utiliser des instances spot. Les valeurs valides sont POLICY_UNSPECIFIED, COST_OPTIMIZED, RELIABILITY_OPTIMIZED. La valeur par défaut est COST_OPTIMIZED.
tags Map Ensemble de paires clé-valeur qui seront marquées sur toutes les ressources (par exemple, les instances AWS et les volumes EBS) associées à cet entrepôt SQL. Le nombre d’étiquettes doit être inférieur à 45.
warehouse_type String Type d’entrepôt, PRO ou CLASSIC. Si vous souhaitez utiliser le calcul serverless, définissez ce champ sur PRO et définissez également le champ enable_serverless_compute sur true.

sql_warehouse.channel

Type: Map

Configuration de canal pour l'entrepôt SQL.

Key Type Description
name String Nom du canal. Les valeurs valides incluent CHANNEL_NAME_CURRENT, CHANNEL_NAME_PREVIEW, CHANNEL_NAME_CUSTOM.
dbsql_version String Version DBSQL pour les canaux personnalisés.

Example

L’exemple suivant définit un entrepôt SQL :

resources:
  sql_warehouses:
    my_sql_warehouse:
      name: my_sql_warehouse
      cluster_size: X-Large
      enable_serverless_compute: true
      max_num_clusters: 3
      min_num_clusters: 1
      auto_stop_mins: 60
      warehouse_type: PRO

table_de_base_de_données_synchronisée

Type: Map

La ressource de table de base de données synchronisée vous permet de définir des tables de base de données Lakebase dans un bundle.

Pour plus d’informations sur les tables de base de données synchronisées, consultez Qu’est-ce qu’une instance de base de données ?.

synced_database_tables:
  <synced_database_table-name>:
    <synced_database_table-field-name>: <synced_database_table-field-value>
Key Type Description
database_instance_name String Nom de l’instance de base de données cible. Cela est nécessaire lors de la création de tables de base de données synchronisées dans des catalogues standard. Cela est facultatif lors de la création de tables de base de données synchronisées dans des catalogues inscrits.
lifecycle Map Contient les paramètres de cycle de vie d’une ressource. Il contrôle le comportement de la ressource lorsqu’elle est déployée ou détruite. Consultez le cycle de vie.
logical_database_name String Nom de l’objet de base de données Postgres cible (base de données logique) pour cette table.
name String Nom complet de la table, sous la forme catalog.schema.table.
spec Map Spécification de la table de base de données. Consultez la spécification de la table de base de données synchronisée.

table_de_base_de_données_synchronisée.spec

Type: Map

Spécification de la table de base de données.

Key Type Description
create_database_objects_if_missing Boolean Indique s’il faut créer la base de données logique et les ressources de schéma de la table synchronisée s’ils n’existent pas déjà.
existing_pipeline_id String Identifiant d’un pipeline existant. Si cette valeur est définie, la table synchronisée est empaquetée dans le pipeline existant référencé. Cela évite de créer un pipeline et permet de partager le calcul existant. Dans ce cas, la scheduling_policy table synchronisée doit correspondre à la stratégie de planification du pipeline existant. Au maximum un seul de existing_pipeline_id ou new_pipeline_spec doit être défini.
new_pipeline_spec Map Spécification d’un nouveau pipeline. Voir new_pipeline_spec. Au maximum un seul de existing_pipeline_id ou new_pipeline_spec doit être défini.
primary_key_columns Sequence Liste des noms de colonnes qui forment la clé primaire.
scheduling_policy String Stratégie de planification pour la synchronisation. Les valeurs valides incluent SNAPSHOT, CONTINUOUS.
source_table_full_name String Nom complet de la table source au format catalog.schema.table.
timeseries_key String Clé de la série temporelle pour permettre de dédupliquer les lignes avec la même clé primaire.

synced_database_table.spec.new_pipeline_spec

Type: Map

Spécification d’un nouveau pipeline utilisé par la table de base de données synchronisée.

Key Type Description
budget_policy_id String ID de la stratégie de budget à définir sur le pipeline nouvellement créé.
storage_catalog String Catalogue du pipeline pour stocker des fichiers intermédiaires, tels que des points de contrôle et des journaux d’événements. Il doit s’agir d’un catalogue standard où l’utilisateur dispose des autorisations nécessaires pour créer des tables Delta.
storage_schema String Schéma du pipeline pour stocker des fichiers intermédiaires, tels que des points de contrôle et des journaux d’événements. Cela doit se trouver dans le catalogue standard où l’utilisateur dispose des autorisations nécessaires pour créer des tables Delta.

Examples

L’exemple suivant définit une table de base de données synchronisée dans un catalogue de bases de données correspondant :

resources:
  database_instances:
    my_instance:
      name: my-instance
      capacity: CU_1
  database_catalogs:
    my_catalog:
      database_instance_name: my-instance
      database_name: 'my_database'
      name: my_catalog
      create_database_if_not_exists: true
  synced_database_tables:
    my_synced_table:
      name: ${resources.database_catalogs.my_catalog.name}.${resources.database_catalogs.my_catalog.database_name}.my_destination_table
      database_instance_name: ${resources.database_catalogs.my_catalog.database_instance_name}
      logical_database_name: ${resources.database_catalogs.my_catalog.database_name}
      spec:
        source_table_full_name: 'my_source_table'
        scheduling_policy: SNAPSHOT
        primary_key_columns:
          - my_pk_column
        new_pipeline_spec:
          storage_catalog: 'my_delta_catalog'
          storage_schema: 'my_delta_schema'

L’exemple suivant définit une table de base de données synchronisée à l’intérieur d’un catalogue standard :

resources:
  synced_database_tables:
    my_synced_table:
      name: 'my_standard_catalog.public.synced_table'
      # database_instance_name is required for synced tables created in standard catalogs.
      database_instance_name: 'my-database-instance'
      # logical_database_name is required for synced tables created in standard catalogs:
      logical_database_name: ${resources.database_catalogs.my_catalog.database_name}
      spec:
        source_table_full_name: 'source_catalog.schema.table'
        scheduling_policy: SNAPSHOT
        primary_key_columns:
          - my_pk_column
        create_database_objects_if_missing: true
        new_pipeline_spec:
          storage_catalog: 'my_delta_catalog'
          storage_schema: 'my_delta_schema'

Cet exemple crée une table de base de données synchronisée et personnalise son calendrier de pipeline. Il part du principe que vous avez déjà :

  • Instance de base de données nommée my-database-instance
  • Un catalogue standard nommé my_standard_catalog
  • Schéma dans le catalogue standard nommé default
  • Table delta source nommée source_delta.schema.customer avec la clé primaire c_custkey
resources:
  synced_database_tables:
    my_synced_table:
      name: 'my_standard_catalog.default.my_synced_table'
      database_instance_name: 'my-database-instance'
      logical_database_name: 'test_db'
      spec:
        source_table_full_name: 'source_delta.schema.customer'
        scheduling_policy: SNAPSHOT
        primary_key_columns:
          - c_custkey
        create_database_objects_if_missing: true
        new_pipeline_spec:
          storage_catalog: 'source_delta'
          storage_schema: 'schema'

  jobs:
    sync_pipeline_schedule_job:
      name: sync_pipeline_schedule_job
      description: 'Job to schedule synced database table pipeline.'
      tasks:
        - task_key: synced-table-pipeline
          pipeline_task:
            pipeline_id: ${resources.synced_database_tables.my_synced_table.data_synchronization_status.pipeline_id}
      schedule:
        quartz_cron_expression: '0 0 0 * * ?'

volume (catalogue Unity)

Type: Map

Les volumes sont pris en charge dans Python pour les bundles de ressources Databricks. Consultez databricks.bundles.volumes.

Le type de ressource de volume vous permet de définir et de créer des volumes de catalogue Unity dans le cadre d’un bundle. Lors du déploiement d’un bundle avec un volume défini, notez que :

  • Un volume ne peut pas être référencé dans le artifact_path de l’ensemble tant qu’il n’existe pas dans l’espace de travail. Par conséquent, si vous souhaitez utiliser databricks Asset Bundles pour créer le volume, vous devez d’abord définir le volume dans le bundle, le déployer pour créer le volume, puis le référencer dans le artifact_path dans les déploiements suivants.
  • Les volumes dans l'ensemble ne sont pas précédés du préfixe dev_${workspace.current_user.short_name} lorsque la cible de déploiement est configurée avec mode: development. Toutefois, vous pouvez configurer manuellement ce préfixe. Consultez les Présélections personnalisées.
volumes:
  <volume-name>:
    <volume-field-name>: <volume-field-value>
Key Type Description
catalog_name String Le nom du catalogue, du schéma et du volume.
comment String Commentaire attaché au volume.
grants Sequence Octrois associés au volume. Consultez l’octroi.
lifecycle Map Contient les paramètres de cycle de vie d’une ressource. Il contrôle le comportement de la ressource lorsqu’elle est déployée ou détruite. Consultez le cycle de vie.
name String Nom du volume.
schema_name String Nom du schéma dans lequel se trouve le volume.
storage_location String Emplacement de stockage sur le cloud.
volume_type String Type de volume, soit EXTERNALMANAGED. Un volume externe se trouve dans l'emplacement externe spécifié. Un volume managé se trouve à l’emplacement par défaut spécifié par le schéma parent, ou le catalogue parent, ou le metastore. Consultez Les volumes managés et externes.

Example

L’exemple suivant crée un volume de catalogue Unity avec la clé my_volume_id :

resources:
  volumes:
    my_volume_id:
      catalog_name: main
      name: my_volume
      schema_name: my_schema

Pour découvrir un exemple de pack qui exécute un travail et écrit dans un fichier du volume Unity Catalog, consultez le Référentiel d’exemples de pack dans GitHub.

Les objets courants

autorisation

Type: Map

Définit le principal et les privilèges à accorder à ce principal. Pour plus d’informations sur les subventions, consultez Afficher, accorder et révoquer des privilèges.

Key Type Description
principal String Nom du principal qui recevra des privilèges. Il peut s’agir d’un utilisateur, d’un groupe ou d’un principal de service.
privileges Sequence Privilèges à accorder à l’entité spécifiée. Les valeurs valides dépendent du type de ressource (par exemple, , SELECT, MODIFYCREATEUSAGE, READ_FILES, WRITE_FILES, , EXECUTE, ). ALL_PRIVILEGES

Example

L’exemple suivant définit un schéma de catalogue Unity avec des subventions :

resources:
  schemas:
    my_schema:
      name: test-schema
      grants:
        - principal: users
          privileges:
            - SELECT
        - principal: my_team
          privileges:
            - CAN_MANAGE
      catalog_name: main

cycle de vie

Type: Map

Contient les paramètres de cycle de vie d’une ressource. Il contrôle le comportement de la ressource lorsqu’elle est déployée ou détruite.

Key Type Description
prevent_destroy Boolean Paramètre de cycle de vie pour empêcher la destruction de la ressource.