Pular para o conteúdo principal

Começar a usar o Artifact Registry

info

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.

importante

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 .

  1. Criar ou refresh um perfil para o workspace de destino:

    Bash
    databricks auth login --profile <profile>
  2. Configure a autenticação do Docker para a região do registro:

    Bash
    databricks 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

USE CATALOG, USE SCHEMA, e CREATE VOLUME

Enviar uma nova versão ou mover uma tag

USE CATALOG, USE SCHEMA, e WRITE VOLUME

Descubra artefatos e versões

USE CATALOG, USE SCHEMA, e READ METADATA

Usar uma imagem em uma carga de trabalho compatível

USE CATALOG, USE SCHEMA, e READ VOLUME

Operação

Concessões de privilégio mínimo

Enviar um novo artefato

USE CATALOG, USE SCHEMA, e CREATE VOLUME

Enviar uma nova versão ou mover uma tag

USE CATALOG, USE SCHEMA, e WRITE VOLUME

Descubra artefatos e versões

USE CATALOG, USE SCHEMA, e READ METADATA

Usar uma imagem em uma carga de trabalho compatível

USE CATALOG, USE SCHEMA, e READ VOLUME

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:

SQL
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:

Text
<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

importante

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

atenção

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.

  1. Marcar uma imagem local para o Artifact Registry:

    Bash
    docker tag <local-image>:<local-tag> \
    <registry-hostname>/<catalog>.<schema>.<artifact>:<tag>
  2. Enviar a imagem:

    Bash
    docker 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.

nota

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:

Bash
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:

Bash
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

SUCCESS

A aceleração de imagem foi concluída com sucesso.

UNSPECIFIED

Nenhum resultado de aceleração de imagem bem-sucedido foi registrado. Este status não identifica uma falha.

Status

Significado

SUCCESS

A aceleração de imagem foi concluída com sucesso.

UNSPECIFIED

Nenhum resultado de aceleração de imagem bem-sucedido foi registrado. Este status não identifica uma falha.

Recursos adicionais