Comece com o Registo de Artefactos

Importante

Este recurso está em versão Beta. Para o utilizar, um administrador do espaço de trabalho deve ativar o Registo de Artefactos Databricks a partir da página de Pré-visualizações . Ver Gerir as pré-visualizações de Azure Databricks. A Databricks anunciará os preços do Registo de Artefactos assim que este estiver disponível de forma geral.

Usa o Artifact Registry para enviar imagens de contentores com o Docker e governá-las no Unity Catalog.

Esta página mostra-lhe como configurar a autenticação, conceder acesso, carregar uma imagem e localizá-la. Para conceitos e limitações, consulte Registo de Artefactos. Se um comando ou operação falhar, consulte Resolução de Problemas do Registo de Artefactos.

Requirements

Antes de começar, você deve ter:

  • Um espaço de trabalho numa região que suporta o Registo de Artefactos. Consulte Limitações.
  • A Databricks CLI (interface de linha de comando) versão 1.18.0 ou superior instalada na sua máquina local.
  • A CLI do Docker instalada na sua máquina local.
  • Um catálogo e um esquema existentes do Unity Catalog acessíveis a partir da área de trabalho.
  • Os privilégios do Catálogo Unity 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 registo do espaço de trabalho. O auxiliar de credenciais do Docker requer um perfil OAuth da área de trabalho criado por databricks auth login. Não suporta perfis que utilizem tokens de acesso pessoais, 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 Docker para o registo do espaço de trabalho:

    databricks auth docker configure --profile <profile>
    

    Omita --profile <profile> para usar o seu perfil predefinido da CLI do Databricks.

    A CLI do Databricks deduz a região do registo e imprime o nome do anfitrião do registo do espaço de trabalho. Utilize este nome do host quando fizer push de uma imagem.

Concessão de permissões

O Registo de Artefactos não cria o catálogo ou o esquema. Ambos devem já existir no Unity Catalog e ser acessíveis a partir do espaço de trabalho.

O Registo de Artefactos utiliza os privilégios do Catálogo Unity para controlar o acesso às imagens. A tabela seguinte 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 privilégio mínimo
Empurrar um novo artefacto USE CATALOG, USE SCHEMAe CREATE VOLUME
Fazer push de uma nova versão ou mover uma tag USE CATALOG, USE SCHEMAe WRITE VOLUME
Descubra artefactos e versões USE CATALOG, USE SCHEMAe READ METADATA
Use uma imagem numa carga de trabalho suportada USE CATALOG, USE SCHEMAe READ VOLUME

Para um esquema dedicado ao Registo de Artefactos, um administrador pode conceder os privilégios ao nível do esquema. Privilégios ao nível do esquema aplicam-se a todos os objetos correspondentes no esquema, incluindo os objetos criados posteriormente. Utilize esquemas separados para publicadores que não devem poder modificar os artefactos umas das outras. Conceda a cada principal apenas os privilégios necessários para as 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 READ VOLUME, , READ METADATA e WRITE VOLUME, consulte CREATE VOLUME. Para outros métodos de concessão, veja Mostrar, conceder e revogar privilégios.

Empurrar uma imagem

Usa o nome de host do registo do workspace com o nome da catalog.schema.artifact:tag imagem.

Obter o nome do anfitrião do registo

Utilize o nome do anfitrião do registo apresentado por databricks auth docker configure. Para encontrar o nome de host de um perfil mais tarde e verificar se o seu assistente de credenciais Docker está configurado, execute:

databricks auth docker host --profile <profile>

Se precisares de construir o nome do host manualmente, usa o ID numérico do espaço de trabalho e a região do espaço de trabalho. Para encontrar o ID do espaço de trabalho, consulte nomes de instância, URLs e IDs do espaço de trabalho.

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. Também podes encontrá-lo na consola da conta, em Espaços de Trabalho.

Use o seguinte nome de host:

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

Requisitos para nomes de artefactos

Importante

Os nomes dos artefactos devem ser nomes totalmente qualificados do Catálogo Unity no formato <catalog>.<schema>.<artifact>. Não use barras oblíquas dentro do nome. Veja a hierarquia de objetos do Unity Catalog.

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. Não use mais do que dois pontos baixos consecutivos e não coloque um ponto baixo ao lado de um hífen.

Etiqueta e empurra a imagem

Warning

Não inclua credenciais ou outros dados sensíveis numa imagem. Verifica a imagem antes de a carregares. As versões dos artefactos são imutáveis, e os pedidos de eliminação não são suportados. Se enviar dados sensíveis, substitua-os ou revogue-os imediatamente e peça a um administrador que restrinja quaisquer permissões READ VOLUME aplicáveis ao artefacto afetado. Deixe de utilizar o digest afetado e todas as tags que apontem para ele e, de seguida, consulte as informações a incluir ao solicitar ajuda.

  1. Marque uma imagem local para o Registo de Artefactos:

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

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

Descubra imagens e versões

Use a API Software Artifacts para listar artefactos num catálogo e esquema e depois listar as versões de um artefacto.

Note

Comandos dedicados da CLI Databricks para listar e gerir imagens do Registo de Artefactos não estão disponíveis. Utilize databricks api para invocar a API de Artefactos de Software.

Os exemplos seguintes usam o perfil que configuraste para autenticação Docker. Omita --profile <profile> se for o teu perfil padrão de CLI Databricks.

Listar artefactos

Para listar artefactos, 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 e o proprietário do artefacto. Se a resposta incluir next_page_token, passe o seu valor no page_token parâmetro de consulta para recuperar a página seguinte, por exemplo, &page_token=<next_page_token>.

Listar versões

Para listar versões de um artefacto, 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, etiquetas e image_acceleration_details.status para cada versão. Para limites de resposta, consulte Limitações.

Verificar o estado da aceleração da imagem

Leia image_acceleration_details.status da resposta da versão do artefacto:

Situação Meaning
SUCCESS Aceleração da imagem concluída com sucesso.
UNSPECIFIED Não foi registado nenhum resultado bem-sucedido na aceleração da imagem. Este estado não identifica uma falha.

Utilize imagens em cargas de trabalho suportadas pelo Azure Databricks

Depois de enviares uma imagem para o Artifact Registry, referencia-a quando criares uma carga de trabalho suportada no Azure Databricks.

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

Recursos adicionais