Configurer les repository de packages default
Aperçu
La configuration des repositories de packages Python default est disponible en disponibilité générale 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 les Databricks Apps, il est en version Bêta. Les administrateurs du workspace peuvent contrôler l'accès à ces fonctionnalités depuis la page Aperçus en activant les prévisualisations suivantes :
- 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)
- Activer la configuration des repositories du Workspace pour les applications Databricks Apps (Bêta)
Les administrateurs de Workspace peuvent configurer des repositories de package privées ou authentifiées au sein des Workspace comme repositories de package default pour les Notebooks, les Job, les LakeFlow Pipelines et les Databricks Apps. Les repository Python s'appliquent à toutes ces charges de travail, mais 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.
- En tant qu'administrateur de Workspace, Connexion à Workspace Databricks.
- Cliquez sur votre nom d'utilisateur dans la barre supérieure du Workspace Databricks et sélectionnez Paramètres .
- Cliquez sur le tab Compute .
- À côté de default package repository , cliquez sur Gérer .
- (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.
- Cliquez sur Enregistrer pour enregistrer les modifications.
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 du Workspace peuvent définir des URL d'index pip default, des URL d'index supplémentaires, un certificat SSL 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 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.
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 dépôts Python s'appliquent aux Notebooks, aux Jobs, aux LakeFlow Pipelines et aux Databricks Apps, mais les registres npm s'appliquent uniquement aux Databricks Apps.
- Python
- Node.js
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.
# 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>"}'
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>
Pour les applications Databricks Apps, vous pouvez également configurer un registre npm default afin que les applications installent les packages Node.js, y compris les packages privés, à partir du registre configuré dans le Workspace. Stockez le contenu complet du fichier .npmrc, y compris l'URL du registre et tout jeton d'authentification, sous la clé secrète npm-rc :
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "npm-rc", "string_value":"registry=https://npm.example.com/\n//npm.example.com/:_authToken=<token>\n"}'
Lorsqu'une application est créée dans le Workspace, Databricks écrit ce contenu dans le fichier .npmrc de l'application. Pour savoir comment fonctionne la précédence et comment la remplacer pour une application spécifique, consultez les packages Node.js.
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 :
# 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 npm configuration secret (Databricks Apps only)
databricks secrets delete-secret databricks-package-management npm-rc
# delete scope
databricks secrets delete-scope databricks-package-management