Configurar repositórios de pacotes por defeito

Importante

A configuração de repositórios de pacotes Python predefinidos para o Databricks Apps encontra-se em Beta. A configuração dos repositórios de pacotes Maven por defeito é feita em Pré-visualização Privada. Contacte a sua equipa de conta Databricks para solicitar acesso. Todas as outras funcionalidades estão geralmente disponíveis. Os administradores do espaço de trabalho podem controlar o acesso a estas funcionalidades a partir da página de Pré-visualizações usando as seguintes definições:

  • Repositórios padrão de pacotes Maven (Pré-visualização privada)
  • Ativar a configuração de repositório do Workspace para aplicações do Databricks (Beta)
  • Repositórios predefinidos de pacotes Python nos pipelines declarativos do Spark (Disponibilidade geral)
  • Repositórios padrão de pacotes Python em clusters criados via API (Disponível de forma geral)
  • Repositórios padrão de pacotes Python em clusters criados via UI (Disponível de forma geral)

Os administradores das áreas de trabalho podem configurar repositórios de pacotes privados ou autenticados nas áreas de trabalho como repositórios de pacotes predefinidos para notebooks, tarefas, pipelines Lakeflow e aplicações da Databricks. Repositórios Python aplicam-se a todas estas cargas de trabalho. Os repositórios Maven são aplicáveis à instalação de bibliotecas ao nível do cluster no Databricks Runtime 18.3 e versões posteriores, e os registos npm aplicam-se apenas ao Databricks Apps.

Se um espaço de trabalho estiver configurado com um repositório de pacotes predefinido, os utilizadores do espaço de trabalho podem instalar pacotes a partir de repositórios internos sem definir explicitamente os valores index-url ou extra-index-url para Python, ou um registo para o npm. Se estes valores forem especificados em código, num caderno ou num ficheiro de app.yaml uma aplicação, têm precedência sobre os valores predefinidos do espaço de trabalho. Consulte Usar repositórios de pacotes predefinidos ao nível do espaço de trabalho para saber como funciona a precedência para aplicações Databricks.

Essa configuração aproveita segredos do Databricks para armazenar e gerenciar com segurança URLs e credenciais do repositório. Os administradores do espaço de trabalho podem configurar a configuração usando a página de configurações do administrador do espaço de trabalho ou usando um escopo secreto predefinido e os comandos de segredos da CLI do Databricks ou a API REST.

Configurar dependências padrão para um espaço de trabalho

Os administradores do espaço de trabalho podem adicionar ou remover os repositórios de pacotes predefinidos usando a página de definições do administrador do espaço de trabalho.

  1. Como administrador do espaço de trabalho, faça login no espaço de trabalho Databricks.
  2. Clique em seu nome de usuário na barra superior do espaço de trabalho Databricks e selecione Configurações.
  3. Clique no separador Computação.
  4. Ao lado de Repositórios de Pacotes Padrão , clique em Gerenciar.
  5. (Opcional) Adicione ou remova um URL de índice em Python, URLs de índice extra, um certificado SSL personalizado ou uma configuração de registo npm.
  6. Clique em Guardar para guardar as alterações.

Note

As modificações ou eliminações dos segredos são aplicadas de forma diferente consoante o tipo de carga de trabalho. Para blocos de notas sem servidor e tarefas, as alterações são aplicadas após a reconexão do recurso de computação ao bloco de notas ou a nova execução da tarefa. Para notebooks e jobs clássicos, as alterações são aplicadas depois de o recurso de computação ser reiniciado. Para os oleodutos Lakeflow, as alterações são aplicadas a novas corridas de oleodutos. Para as aplicações Databricks, as alterações são aplicadas na próxima vez que a aplicação é construída e implementada.

Configure utilizando a CLI de secrets ou a API REST

Para configurar repositórios de pacotes predefinidos usando a CLI ou a API REST, crie um âmbito de segredos predefinido e configure as permissões de acesso; em seguida, adicione os segredos do repositório de pacotes.

Nome do escopo secreto predefinido

Os administradores de espaços de trabalho podem definir URLs de índice de pip por defeito, URLs de índice extra, um certificado SSL, repositórios Maven e uma configuração npm, juntamente com tokens de autenticação e segredos, num âmbito secreto designado sob chaves pré-definidas:

  • Nome do escopo secreto: databricks-package-management
  • Chave secreta para index-url: 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 ao nível do cluster no Databricks Runtime 18.3 e versões posteriores)
  • Chave secreta para configuração de npm: npm-rc (Apenas Databricks Apps)

Criar o escopo secreto

Um escopo secreto pode ser criado usando a CLI do Databricks comandos secrets ou o REST API. Depois de criar o escopo secreto, configure as listas de controle de acesso para conceder acesso de leitura a todos os usuários do espaço de trabalho. Isso garante que o repositório permaneça seguro e não possa ser alterado por usuários individuais. O escopo secreto deve usar o nome de escopo secreto 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 de repositório de pacotes

Adicione detalhes do repositório de pacotes usando os nomes de chaves secretas pré-definidos. Os repositórios de Python aplicam-se a notebooks, tarefas, pipelines do Lakeflow e Databricks Apps. Os repositórios Maven são aplicáveis à instalação de bibliotecas ao nível do cluster no Databricks Runtime 18.3 e versões posteriores, e os registos npm aplicam-se apenas ao Databricks Apps.

Python

Adicione os detalhes do repositório de pacotes Python usando os nomes de chaves secretas predefinidos, com todos os três campos sendo 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>"}'

Note

Se o seu repositório requer autenticação, use um dos seguintes formatos para a URL do índice:

  • Nome de utilizador e palavra-passe: https://<username>:<password>@<index_url>
  • Token: https://<token>@<index_url>

Maven

Para a instalação de bibliotecas ao nível do cluster no Databricks Runtime 18.3 e versões posteriores, é possível configurar repositórios predefinidos de pacotes Maven. Os administradores do espaço de trabalho podem configurar um repositório principal e até cinco repositórios adicionais, cada um com um nome de utilizador, palavra-passe e domínio opcionais. Quando configuras um repositório primário, remove o Maven Central da cadeia de resolvedores.

Armazene a configuração do repositório como um documento JSON sob a maven-repositories chave secreta:

databricks secrets put-secret databricks-package-management maven-repositories --string-value '<maven-repositories-json>'

Passa o JSON entre aspas simples para que o shell preserve as aspas duplas internas. O <maven-repositories-json> valor tem o seguinte formato:

{
  "primary_repository": {
    "url": "<url>",
    "username": "<username>",
    "password": "<password>",
    "realm": "<realm>"
  },
  "additional_repositories": [
    {
      "url": "<url>"
    },
    {
      "url": "<url>",
      "username": "<username>",
      "password": "<password>"
    }
  ]
}

Node.js

Para as aplicações Databricks, também pode configurar um registo npm predefinido para que as aplicações instalem Node.js pacotes, incluindo pacotes privados, a partir do registo configurado pelo espaço de trabalho. Armazene o conteúdo completo .npmrc do ficheiro, incluindo a URL do registo e qualquer token de autenticação, sob a 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 uma aplicação no espaço de trabalho é construída, o Azure Databricks grava este conteúdo no ficheiro da .npmrc aplicação. Para saber como funciona a precedência e como a sobrepor para uma aplicação específica, veja Node.js pacotes.

Modificar ou eliminar segredos do repositório de pacotes

Para modificar os segredos do repositório de pacotes, use o put-secret comando. Para apagar os segredos do repositório 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