Começar a usar o Artifact Registry
Beta
Esse recurso está em Beta. Para usá-lo, um administrador do workspace deve ativar o Databricks Artifact Registry na página Pré-visualizações . Consulte Gerenciar prévias do Databricks. A Databricks anunciará os preços do Artifact Registry quando ele estiver disponível de forma geral.
Use o Artifact Registry para enviar imagens de contêiner com o Docker e governá-las no Unity Catalog.
Esta página mostra como configurar a autenticação, conceder acesso, enviar uma imagem e descobri-la. Para ver conceitos e limitações, consulte Artifact Registry. Se um comando ou operação falhar, consulte Solucionar problemas do Artifact Registry.
Prerequisites
Antes de começar, você deve ter:
- Um workspace em uma região que oferece suporte ao Artifact Registry. Consulte Limitações.
- Databricks CLI (command-line interface) version 1.17.0 or above and the Docker CLI installed on your local machine.
- Um catálogo e um esquema existentes do Unity Catalog que sejam acessíveis a partir do workspace.
- Os privilégios do Unity Catalog para sua operação.
Configurar a autenticação do Docker
A CLI do Databricks inclui um comando experimental que configura o Docker para solicitar credenciais para o registro do workspace. O auxiliar de credenciais do Docker requer um perfil OAuth do workspace criado por databricks auth login. Ele não oferece suporte a perfis que usam access tokens pessoais, credenciais do OAuth machine-to-machine (M2M) ou autenticação exclusiva de account.
O valor --region deve corresponder à região do workspace no perfil da CLI do Databricks selecionado.
Para localizar a região, abra o alternador de workspace na barra de navegação superior. A região aparece abaixo do nome do workspace. Você também pode encontrá-lo no console da conta em Workspaces .
-
Criar ou refresh um perfil para o workspace de destino:
Bashdatabricks auth login --profile <profile> -
Configure a autenticação do Docker para a região do registro:
Bashdatabricks auth docker configure --profile <profile> --region <region>Omit
--profile <profile>to use your default Databricks CLI profile.O comando exibe o hostname do registry do workspace. Use este hostname quando você enviar uma imagem.
Conceder permissões
O Artifact Registry não cria o catálogo ou esquema. Ambos já devem existir no Unity Catalog e estar acessíveis a partir do workspace.
O Artifact Registry usa privilégios do Unity Catalog para controlar o acesso às imagens. A tabela a seguir mostra as concessões de privilégio mínimo para cada operação. Privilégios de gerenciamento mais amplos também podem autorizar algumas operações.
Operação | Concessões de privilégio mínimo |
|---|---|
Enviar um novo artefato |
|
Enviar uma nova versão ou mover uma tag |
|
Descubra artefatos e versões |
|
Usar uma imagem em uma carga de trabalho compatível |
|
Para um esquema dedicado ao Artifact Registry, um administrador pode conceder os privilégios no nível do esquema. Os privilégios em nível de esquema se aplicam a cada objeto correspondente no esquema, incluindo os objetos criados posteriormente. Use esquemas separados para editores que não devem poder modificar os artefatos uns dos outros. Conceda a cada principal apenas os privilégios necessários para suas operações. Substitua os valores de exemplo e remova as instruções de privilégio desnecessárias antes de executar as seguintes instruções:
GRANT USE CATALOG ON CATALOG <catalog> TO `<principal>`;
GRANT USE SCHEMA ON SCHEMA <catalog>.<schema> TO `<principal>`;
GRANT CREATE VOLUME ON SCHEMA <catalog>.<schema> TO `<principal>`;
GRANT WRITE VOLUME ON SCHEMA <catalog>.<schema> TO `<principal>`;
GRANT READ METADATA ON SCHEMA <catalog>.<schema> TO `<principal>`;
GRANT READ VOLUME ON SCHEMA <catalog>.<schema> TO `<principal>`;
Para obter detalhes sobre CREATE VOLUME, WRITE VOLUME, READ METADATA e READ VOLUME, consulte a referência de privilégios do Unity Catalog. Para obter outros métodos de concessão, consulte Mostrar, conceder e revogar privilégios.
Enviar uma imagem
Use o hostname do registry do workspace com o nome catalog.schema.artifact:tag da imagem.
Obter o hostname do registro
Use o hostname do registro impresso por databricks auth docker configure. Se precisar construí-lo manualmente, use o ID de workspace numérico e a região do workspace. Para localizar o ID do workspace, consulte Workspace instance names, URLs, and IDs.
Use o seguinte hostname:
<workspace-id>.container.<region>.cloud.databricks.com
O valor <region> é a região do workspace que você passou para databricks auth docker configure.
Requisitos de nome do artefato
Os nomes dos artefatos devem ser nomes totalmente qualificados do Unity Catalog no formato <catalog>.<schema>.<artifact>. Não use barras no nome. Consulte A hierarquia de objetos do Unity Catalog.
O segmento <artifact> pode conter até 255 caracteres. Use apenas letras minúsculas, números, underscores e hifens. Ele deve começar e terminar com uma letra ou número. Use no máximo dois underscores consecutivos e não coloque um underscore próximo a um hífen.
Criar a tag e enviar a imagem
Do not include credentials or other sensitive data in an image. Check the image before you push it. Artifact versions are immutable, and delete requests are not supported. If you push sensitive data, rotate or revoke it immediately and ask an administrator to restrict any READ VOLUME grants that apply to the affected artifact. Stop using the affected digest and every tag that resolves to it, then see the information to include when you request help.
-
Marcar uma imagem local para o Artifact Registry:
Bashdocker tag <local-image>:<local-tag> \
<registry-hostname>/<catalog>.<schema>.<artifact>:<tag> -
Enviar a imagem:
Bashdocker push <registry-hostname>/<catalog>.<schema>.<artifact>:<tag>
Descobrir imagens e versões
Use a API do Software Artifacts para listar artefatos em um catálogo e esquema e, em seguida, listar as versões de um artefato.
Dedicated Databricks CLI commands for listing and managing Artifact Registry images are not available. Use databricks api to call the Software Artifacts API.
Os exemplos a seguir usam o perfil configurado para a autenticação do Docker. Omitir --profile <profile> se ele for o seu perfil default da CLI do Databricks.
Listar artefatos
Para listar artefatos, execute o seguinte comando:
databricks api get --profile <profile> \
"/api/2.1/unity-catalog/software-artifacts?parent=schemas/<catalog>.<schema>"
A resposta inclui o nome do artefato e o proprietário. Se a resposta incluir next_page_token, passe o valor dela no parâmetro de query page_token para recuperar a próxima página, por exemplo, &page_token=<next_page_token>.
Listar versões
Para listar as versões de um artefato, execute o seguinte comando:
databricks api get --profile <profile> \
"/api/2.1/unity-catalog/software-artifacts/<catalog>.<schema>.<artifact>/versions"
A resposta inclui o resumo (digest) da imagem, as tags e image_acceleration_details.status para cada versão. Para obter os limites de resposta, consulte Limitações.
Verificar status da aceleração de imagem
Ler image_acceleration_details.status da resposta da versão do artefato:
Status | Significado |
|---|---|
| A aceleração de imagem foi concluída com sucesso. |
| Nenhum resultado de aceleração de imagem bem-sucedido foi registrado. Este status não identifica uma falha. |