Comece com o Registro de Artefatos

Importante

Esse recurso está em Beta. Para usá-lo, um administrador de espaço de trabalho deve ativar o Registro de Artefatos Databricks a partir da página de Prévias . Consulte Gerenciar visualizações do Azure Databricks. A Databricks anunciará os preços do Registro de Artefatos assim que ele estiver disponível de forma geral.

Use o Registro de Artefatos para enviar imagens de contêineres com o Docker e governá-las no Unity Catalog.

Esta página mostra como configurar a autenticação, conceder acesso, fazer push de uma imagem e localizá-la. Para conceitos e limitações, veja Registro de Artefatos. Se um comando ou operação falhar, veja Troubleshoot Artifact Registry.

Requirements

Antes de começar, você precisa ter:

  • Um espaço de trabalho em uma região que suporta o Registro de Artefatos. Confira Limitações.
  • A CLI (interface de linha de comando) do Databricks versão 1.18.0 ou superior deve estar instalada em sua máquina local.
  • A CLI do Docker instalada na sua máquina local.
  • Um catálogo e um esquema existentes do Unity Catalog que estão acessíveis no espaço de trabalho.
  • Os privilégios do Unity Catalog para a sua operação.

Configurar autenticação Docker

A CLI 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 espaço de trabalho criado por databricks auth login. Não suporta perfis que utilizam tokens de acesso pessoal, credenciais OAuth machine-to-machine (M2M) ou autenticação apenas de conta.

  1. Crie ou atualize um perfil para o espaço de trabalho alvo:

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

    databricks auth docker configure --profile <profile>
    

    Omita --profile <profile> para usar seu perfil padrão da Databricks CLI.

    A CLI do Databricks deduz a região do registro e exibe o nome do host do registro do workspace. Use esse nome de host ao enviar uma imagem.

Conceder permissões

O Registro de Artefatos não cria o catálogo ou o esquema. Ambos já devem existir no Unity Catalog e ser acessíveis pelo workspace.

O Registro de Artefatos usa privilégios do Catálogo Unity para controlar o acesso às imagens. A tabela a seguir mostra as concessões de privilégios mínimos para cada operação. Privilégios de gestão mais amplos também podem autorizar algumas operações.

Operação Concessões de menor privilégio
Enviar um novo artefato USE CATALOG, USE SCHEMA e CREATE VOLUME
Faça push de uma nova versão ou mova uma tag USE CATALOG, USE SCHEMA e WRITE VOLUME
Descubra artefatos e versões USE CATALOG, USE SCHEMA e READ METADATA
Use uma imagem em uma carga de trabalho suportada USE CATALOG, USE SCHEMA e READ VOLUME

Para um esquema dedicado ao Registro de Artefatos, um administrador pode conceder os privilégios no nível do esquema. Privilégios em nível de esquema se aplicam a cada objeto correspondente no esquema, incluindo objetos criados posteriormente. Use esquemas separados para publicadores 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 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 READ VOLUME, , READ METADATA e WRITE VOLUME, consulte CREATE VOLUME. Para outros métodos de concessão, veja Mostrar, conceder e revogar privilégios.

Efetuar push de uma imagem

Use o nome do host do registro do workspace com o nome da imagem catalog.schema.artifact:tag.

Obtenha o nome do host do registro

Use o nome do host do registro impresso pelo comando databricks auth docker configure. Para encontrar o nome de host de um perfil posteriormente e verificar se o assistente de credenciais Docker está configurado, execute:

databricks auth docker host --profile <profile>

Se precisar construir o nome do host manualmente, use o ID numérico do espaço de trabalho e a região do espaço de trabalho. Para encontrar o ID do workspace, consulte Nomes, URLs e IDs de instâncias do workspace.

Para encontrar a região do espaço de trabalho, abra o comutador de espaço de trabalho na barra de navegação superior. A região aparece abaixo do nome do espaço de trabalho. Você também pode encontrá-lo no console da conta em Workspaces.

Use o seguinte nome de host:

<workspace-id>.container.<region>.azuredatabricks.net

Requisitos para nomes de artefato

Importante

Nomes de artefatos devem ser nomes totalmente qualificados do Catálogo Unity no formato <catalog>.<schema>.<artifact>. Não use barras dentro do nome. Veja A hierarquia de objetos do Catálogo Unity.

O <artifact> segmento pode conter até 255 caracteres. Use apenas letras minúsculas, números, sublinhados e hífens. Deve começar e terminar com uma letra ou número. Use no máximo dois sublinhados consecutivos e não coloque um sublinhado ao lado de um hífen.

Marque e empurra a imagem

Aviso

Não inclua credenciais ou outros dados sensíveis em uma imagem. Confira a imagem antes de pressionar. As versões dos artefatos são imutáveis, e pedidos de exclusão não são suportados. Se você enviar dados confidenciais, rotacione-os ou revogue-os imediatamente e peça a um administrador para restringir quaisquer READ VOLUME permissões aplicáveis ​​ao artefato afetado. Pare de usar o digest afetado e todas as tags que apontam para ele. Em seguida, consulte as informações a incluir ao solicitar ajuda.

  1. Marque uma imagem local para o Registro de Artefatos:

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

    docker push <registry-hostname>/<catalog>.<schema>.<artifact>:<tag>
    

Descubra imagens e versões

Use a API de Artefatos de Software para listar artefatos em um catálogo e esquema e depois listar as versões de um artefato.

Note

Comandos dedicados da CLI Databricks para listar e gerenciar imagens do Registro de Artefatos não estão disponíveis. Use databricks api para chamar a API Software Artifacts.

Os exemplos a seguir usam o perfil que você configurou para autenticação Docker. Omita --profile <profile> se for seu perfil padrão de 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 seu valor no page_token parâmetro de consulta para recuperar a próxima página, por exemplo, &page_token=<next_page_token>.

Listar versões

Para listar 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 da imagem, tags e image_acceleration_details.status para cada versão. Para limites de resposta, veja Limitações.

Verifique o status da aceleração da imagem

Ler a versão image_acceleration_details.status do artefato na resposta:

Status Meaning
SUCCESS Aceleração de imagem concluída com sucesso.
UNSPECIFIED Nenhum resultado bem-sucedido de aceleração de imagem foi registrado. Esse status não identifica uma falha.

Use imagens em cargas de trabalho compatíveis com o Azure Databricks

Depois de enviar uma imagem para o Artifact Registry, faça referência nela ao criar uma carga de trabalho suportada no Azure Databricks.

Para usar uma imagem em uma carga de trabalho do AI Runtime, veja Usar imagens Docker personalizadas com AI Runtime.

Recursos adicionais