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.

Requirements​

Antes de começar, você deve ter:

  • Um workspace em uma região que oferece suporte ao Artifact Registry. Consulte Limitações.
  • A CLI do Databricks (interface de linha de comando) versão 1.18.0 ou acima instalada em sua máquina local.
  • O Docker CLI instalado em sua máquina local.
  • 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.

  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 o registro do Workspace:

    Bash
    databricks auth docker configure --profile <profile>

    Omit --profile <profile> to use your default Databricks CLI profile.

    The Databricks CLI infers the registry region and prints the workspace registry hostname. 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. Para localizar o hostname de um perfil posteriormente e verificar se o auxiliar de credencial do Docker dele está configurado, execute:

Bash
databricks auth docker host --profile <profile>

Se precisar construir o hostname manualmente, use o ID numérico do workspace e a região do workspace. Para localizar o ID do workspace, consulte Nomes de instâncias, URLs e IDs de workspace.

Para encontrar a região do Workspace, abra o console de account e selecione Workspaces .

Use o seguinte hostname:

Text
<workspace-id>.container.<region>.gcp.databricks.com

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.

Usar imagens em cargas de trabalho do Databricks compatíveis​

After you push an image to Artifact Registry, reference it when you create a supported Databricks workload.

Recursos adicionais​