Aller au contenu principal

Configurer les repository de packages default

info

Aperçu

La configuration des dépôts de packages Python par défaut est généralement disponible pour les notebooks et les jobs serverless. Pour les Lakeflow pipelines et pour le compute classique créé via l’interface utilisateur et l’API, il est en aperçu public. Pour Databricks Apps, il est en bêta. La configuration des default Maven package repositories est en aperçu privé. Pour participer, contactez l’équipe de votre compte Databricks. Les administrateurs de Workspace peuvent contrôler l’accès à ces fonctionnalités depuis la page Aperçus en activant les aperçus suivants :

  • Repositories de packages Python default dans Spark Declarative Pipelines (préversion publique)
  • repositories de packages Python default dans les clusters créés via l'API (Aperçu public)
  • Repositories de package Python default dans les clusters créés via l'interface utilisateur (Aperçu Public)
  • default Maven packages repository (Aperçu privé)
  • Activer la configuration des repositories du Workspace pour les applications Databricks Apps (Bêta)

Workspace admins can configure private or authenticated package repositories within Workspaces as the default package repositories for Notebooks, jobs, LakeFlow Pipelines, and Databricks Apps. Les dépôts Python s’appliquent à toutes ces charges de travail. Les dépôts Maven s’appliquent à l’installation de bibliothèques à portée de cluster sur Databricks Runtime 18.3 et versions ultérieures, et les registres npm ne s’appliquent qu’aux Databricks Apps.

Si un Workspace est configuré avec un default package repository, les utilisateurs du Workspace peuvent installer des packages à partir de repository internes sans définir explicitement les valeurs index-url ou extra-index-url pour Python, ni un registre pour npm. Si ces valeurs sont spécifiées dans le code, dans un Notebook, ou dans le fichier app.yaml d'une application, elles priment sur les valeurs par default du Workspace. Consultez Utiliser les repositories package default au niveau du Workspace pour savoir comment la précédence fonctionne pour Databricks Apps.

Cette configuration utilise les secrets Databricks pour stocker et gérer en toute sécurité les URL et les identifiants de repository. Les administrateurs de Workspace peuvent configurer l'installation à l'aide de la page de paramètres d'administration du Workspace ou en utilisant un Secret Scope prédéfini et les commandes de secrets de la CLI Databricks ou l'API REST.

Configurer les dépendances default d'un Workspace

Les administrateurs du Workspace peuvent ajouter ou supprimer les repository de package default à l'aide de la page des paramètres d'administration du Workspace.

  1. En tant qu'administrateur de Workspace, Connexion à Workspace Databricks.
  2. Cliquez sur votre nom d'utilisateur dans la barre supérieure du Workspace Databricks et sélectionnez Paramètres .
  3. Cliquez sur le tab Compute .
  4. À côté de default package repository , cliquez sur Gérer .
  5. (Facultatif) Ajoutez ou supprimez une URL d'index Python, des URL d'index supplémentaires, un certificat SSL personnalisé ou une configuration de registre npm.
  6. Cliquez sur Enregistrer pour enregistrer les modifications.
remarque

Les modifications ou suppressions de secrets sont appliquées différemment selon le type de charge de travail. Pour les Notebook et les Job Serverless, les modifications sont appliquées après avoir rattaché la ressource de compute au Notebook ou avoir réexécuté le Job. Pour les Notebooks et les Job classiques, les modifications sont appliquées après le redémarrage de la ressource compute. Pour les Lakeflow Pipelines, les modifications sont appliquées aux nouvelles exécutions de pipeline. Pour les Databricks Apps, les modifications sont appliquées lors de la prochaine compilation et du déploiement de l'application.

Configurer à l'aide de la CLI Secrets ou de l'API REST

Pour configurer les repositories de packages par défaut à l'aide de la CLI ou de l'API REST, créez un Secret Scope prédéfini et configurez les autorisations d'accès, puis ajoutez les secrets du repository de packages.

Nom du Secret Scope prédéfini

Les administrateurs de Workspace peuvent définir les URL d’index pip par default, les URL d’index supplémentaires, un certificat SSL, des repositories Maven et une configuration npm, ainsi que des jetons d’authentification et des secrets, dans un Secret Scope désigné sous des clés prédéfinies :

  • Nom du Secret Scope : databricks-package-management
  • Clé secrète pour l'URL d'index : pip-index-url
  • Clé secrète pour les URL d'index supplémentaires : pip-extra-index-urls
  • Clé secrète pour le contenu de certification SSL : pip-cert
  • Clé secrète pour les repositories Maven : maven-repositories (installation de bibliothèques limitées au cluster sur Databricks Runtime 18.3 et versions ultérieures)
  • Clé secrète pour la configuration npm : npm-rc (Databricks Apps uniquement)

Créer le Secret Scope

Un Secret Scope peut être créé à l'aide des commandes de secrets de la CLI Databricks ou de l'API REST. Après avoir créé le Secret Scope, configurez les listes de contrôle d'accès pour accorder un accès en lecture à tous les utilisateurs du Workspace. Cela garantit que le repository reste sécurisé et ne peut pas être modifié par des utilisateurs individuels. Le Secret Scope doit utiliser le nom de Secret Scope prédéfini databricks-package-management.

Bash
databricks secrets create-scope databricks-package-management
databricks secrets put-acl databricks-package-management admins MANAGE
databricks secrets put-acl databricks-package-management users READ

Ajouter des secrets de repository de package

Ajoutez les détails du repository de packages en utilisant les noms de clés secrètes prédéfinis. Les repositories Python s'appliquent aux notebooks, aux jobs, aux Lakeflow pipelines et aux Databricks Apps. Les repositories Maven s'appliquent à l'installation de bibliothèques limitées au cluster sur Databricks Runtime 18.3 et versions ultérieures, et les registres npm s'appliquent uniquement aux Databricks Apps.

Ajoutez les détails du repository de packages Python en utilisant les noms de clés secrètes prédéfinis, les trois champs étant facultatifs.

Bash
# Add index URL.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-index-url", "string_value":"<index-url-value>"}'

# Add extra index URLs. If you have multiple extra index URLs, separate them using white space.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-extra-index-urls", "string_value":"<extra-index-url-1 extra-index-url-2>"}'

# Add cert content. If you want to pip configure a custom SSL certificate, put the cert file content here.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-cert", "string_value":"<cert-content>"}'
remarque

Si votre repository nécessite une authentification, utilisez l'un des formats suivants pour l'URL d'index :

  • Nom d'utilisateur et mot de passe : https://<username>:<password>@<index_url>
  • Jeton : https://<token>@<index_url>

Modifier ou supprimer les secrets de repository de packages

Pour modifier les secrets du repository de package, utilisez la commande put-secret. Pour supprimer les secrets du repository de package, utilisez delete-secret comme indiqué ci-dessous :

Bash
# delete secret
databricks secrets delete-secret databricks-package-management pip-index-url

databricks secrets delete-secret databricks-package-management pip-extra-index-urls

databricks secrets delete-secret databricks-package-management pip-cert

# delete the Maven repositories secret
databricks secrets delete-secret databricks-package-management maven-repositories

# delete the npm configuration secret (Databricks Apps only)
databricks secrets delete-secret databricks-package-management npm-rc

# delete scope
databricks secrets delete-scope databricks-package-management