Configurar repository de pacote default
Visualização
A configuração de repositórios de pacotes Python default geralmente está disponível para Notebooks e Jobs Serverless. Para LakeFlow Pipelines e para computação clássica criada por meio da interface do usuário e da API, está em Pré-visualização Pública. For Databricks Apps, it is in versão Beta. A configuração de default Maven package repository está em versão prévia privada. Para participar, entre em contato com a equipe da sua conta Databricks. Os administradores do Workspace podem controlar o acesso a esses recursos na página de pré-visualizações , ativando as seguintes pré-visualizações:
- Repositórios de pacotes Python default em Spark Declarative Pipelines (Public Preview)
- Repositórios de pacotes Python default em clusters criados via API (Pré-visualização Pública)
- Repositórios de pacote Python default em clusters criados via UI (Prévia Pública)
- Repositórios de pacotes Maven default (Private Preview)
- Habilitar Configuração de Repo do Workspace para Databricks Apps (Beta)
Os administradores de workspace podem configurar repositórios de pacotes privados ou autenticados dentro de workspaces como os repositórios de pacotes default para notebooks, jobs, Lakeflow pipelines e Databricks Apps. Os repositórios Python se aplicam a todas essas cargas de trabalho. Os repositórios Maven se aplicam à instalação de bibliotecas com escopo de cluster no Databricks Runtime 18.3 e superior, e os registros npm se aplicam apenas ao Databricks Apps.
Se um Workspace for configurado com um repository de pacote default, os usuários no Workspace poderão instalar pacotes de repository internos sem definir explicitamente valores index-url ou extra-index-url para Python, ou um registro para npm. Se esses valores forem especificados no código, em um Notebook ou no arquivo app.yaml de um aplicativo, eles terão precedência sobre os default do Workspace. Consulte Usar repositórios de pacote default no nível do Workspace para saber como a precedência funciona para Databricks Apps.
Esta configuração utiliza segredos do Databricks para armazenar e gerenciar com segurança URLs e credenciais de repository. Administradores do workspace podem configurar a instalação usando a página de configurações de administrador do workspace ou usando um Secret Scope predefinido e os comandos de segredos da CLI do Databricks ou a API REST.
Configurar dependências default para um Workspace
Os administradores do Workspace podem adicionar ou remover os repository de pacote default usando a página de configurações do administrador do Workspace.
- Como administrador do workspace, faça log in no Databricks workspace.
- Clique no seu nome de usuário na barra superior do workspace do Databricks e selecione Configurações .
- Clique na tab Compute .
- Ao lado de repository de pacote default , clique em Gerenciar .
- (Opcional) Adicionar ou remover uma URL de índice Python, URLs de índice extras, um certificado SSL personalizado ou uma configuração de registro npm.
- Clique em **Salvar** para salvar as alterações.
Modificações ou exclusões de segredos são aplicadas de forma diferente, dependendo do tipo de carga de trabalho. Para Notebooks e Jobs Serverless, as alterações são aplicadas após reconectar o recurso de compute ao Notebook ou executar novamente o Job. Para Notebooks e Jobs clássicos, as alterações são aplicadas após o recurso de compute ser reiniciado. Para LakeFlow Pipelines, as alterações são aplicadas a novas execuções de pipeline. Para Databricks Apps, as alterações são aplicadas na próxima vez que o aplicativo for compilado e implantado.
Configurar usando a CLI de segredos ou a API REST.
Para configurar repositórios de pacotes default utilizando a CLI ou a API REST, crie um Secret Scope predefinido e configure as permissões de acesso, depois adicione os segredos do repositório de pacotes.
Nome do Secret Scope predefinido
Os administradores do Workspace podem definir URLs de índice pip default, URLs de índice adicionais, um certificado SSL, repositórios Maven e uma configuração npm, juntamente com tokens de autenticação e segredos, em um Secret Scope designado sob chaves predefinidas:
- Nome do Secret Scope:
databricks-package-management - Chave secreta para URL de índice:
pip-index-url - Chave secreta para extra-index-urls:
pip-extra-index-urls - Chave secreta para conteúdo de certificação SSL:
pip-cert - Chave secreta para repositórios Maven:
maven-repositories(instalação de biblioteca com escopo de cluster no Databricks Runtime 18.3 e acima) - Chave secreta para a configuração npm:
npm-rc(somente Databricks Apps)
Crie o Secret Scope
Um Secret Scope pode ser criado usando os comandos de segredos da CLI do Databricks ou a API REST. Após criar o Secret Scope, configure as listas de controle de acesso para conceder a todos os usuários do Workspace acesso de leitura. Isso garante que o repository permaneça seguro e não possa ser alterado por usuários individuais. O Secret Scope deve usar o nome de Secret Scope predefinido 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
Adicionar segredos do repository de pacotes
Adicione detalhes do repository de pacotes usando os nomes de chave secreta predefinidos. Os repositórios Python aplicam-se a notebooks, jobs, LakeFlow Pipelines e Databricks Apps. Os repositórios Maven aplicam-se à instalação de bibliotecas com escopo de cluster no Databricks Runtime 18.3 e versões superiores, enquanto os registros npm aplicam-se somente aos aplicativos Databricks.
- Python
- Maven
- Node.js
Adicione os detalhes do repository de pacotes Python usando os nomes de chave secreta predefinidos, sendo todos os três campos opcionais.
# 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>"}'
Se o seu repository exigir autenticação, use um dos seguintes formatos para a URL do índice:
- Nome de usuário e senha:
https://<username>:<password>@<index_url> - tokens:
https://<token>@<index_url>
Para instalação de bibliotecas com escopo de cluster no Databricks Runtime 18.3 e versões superiores, você pode configurar repositórios de pacotes Maven default. Os administradores do Workspace podem configurar um primary repository e até cinco additional repositories, cada um com um nome de usuário, senha e domínio opcionais. Ao configurar um repository primário, o Maven Central é removido da cadeia de resolução.
Armazene a configuração do repository como um documento JSON sob a chave secreta maven-repositories:
databricks secrets put-secret databricks-package-management maven-repositories --string-value '<maven-repositories-json>'
Passe o JSON entre aspas simples para que o shell preserve as aspas duplas internas. O valor <maven-repositories-json> tem o seguinte formato:
{
"primary_repository": {
"url": "<url>",
"username": "<username>",
"password": "<password>",
"realm": "<realm>"
},
"additional_repositories": [
{
"url": "<url>"
},
{
"url": "<url>",
"username": "<username>",
"password": "<password>"
}
]
}
Para Databricks Apps, você também pode configurar um registry npm default para que os apps instalem pacotes Node.js, incluindo pacotes privados, do registry configurado no Workspace. Armazene o conteúdo completo do arquivo .npmrc, incluindo a URL do registry e qualquer token de autenticação, na npm-rc chave secreta:
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"}'
Quando um aplicativo no Workspace é criado, o Databricks escreve este conteúdo no arquivo .npmrc do aplicativo. Para saber como a precedência funciona e como substituí-la para um aplicativo específico, consulte pacotes Node.js.
Modifique ou exclua os segredos do repository de pacotes
Para modificar segredos do repository de pacotes, utilize o comando put-secret. Para excluir segredos do repository de pacotes, utilize delete-secret conforme mostrado abaixo:
# 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