Kom igång med Artifact Registry

Important

Den här funktionen finns i Beta. För att använda det måste en workspace-administratör slå på Databricks Artifact Registry från sidan Förhandsvisningar . Se Hantera förhandsversioner av Azure Databricks. Databricks kommer att tillkännage priser för Artifact Registry när det blir allmänt tillgängligt.

Använd Artifact Registry för att pusha containerbilder med Docker och styra dem i Unity Catalog.

Den här sidan visar hur du konfigurerar autentisering, ger åtkomst, skickar en bild och upptäcker den. För begrepp och begränsningar, se Artefaktregistret. Om ett kommando eller en operation misslyckas, se Felsökningsregister för artefakter.

Requirements

Innan du börjar måste du ha:

  • Ett arbetsområde i en region som stödjer Artifact Registry. Se Begränsningar.
  • Databricks CLI (kommandoradsgränssnitt) version 1.18.0 eller högre installerad på din lokala dator.
  • Docker CLI installerades på din lokala dator.
  • En befintlig Unity-katalog och schema som är tillgängliga från arbetsytan.
  • Privilegier i Unity Catalog för din åtgärd.

Konfigurera autentisering för Docker

Databricks CLI inkluderar ett experimentellt kommando som konfigurerar Docker för att begära uppgifter till arbetsytregistret. Docker-inloggningshjälpen kräver en workspace OAuth-profil skapad av databricks auth login. Den stöder inte profiler som använder personliga åtkomsttokens, OAuth maskin-till-maskin (M2M) inloggningsuppgifter eller autentisering endast för kontot.

  1. Skapa eller uppdatera en profil för målarbetsytan:

    databricks auth login --profile <profile>
    
  2. Konfigurera Docker-autentisering för arbetsytregisteret:

    databricks auth docker configure --profile <profile>
    

    Utelämna --profile <profile> för att använda din standardprofil för Databricks CLI.

    Databricks CLI:t avgör registerregionen och skriver ut värdnamnet för arbetsytans register. Använd detta värdnamn när du pushar en bild.

Bevilja behörigheter

Artifact Registry skapar inte katalogen eller schemat. Båda måste redan finnas i Unity-katalogen och vara tillgängliga från arbetsytan.

Artifact Registry använder Unity Catalog-privilegier för att kontrollera bildåtkomst. Följande tabell visar de minsta privilegier-beviljningarna för varje operation. Bredare ledningsrättigheter kan också godkänna vissa operationer.

Operation Bidrag med minsta privilegium
Skicka en ny artefakt USE CATALOG, USE SCHEMA och CREATE VOLUME
Pusha en ny version eller flytta en tagg USE CATALOG, USE SCHEMA och WRITE VOLUME
Upptäck artefakter och versioner USE CATALOG, USE SCHEMA och READ METADATA
Använd en avbild i en arbetsbelastning som stöds USE CATALOG, USE SCHEMA och READ VOLUME

För ett schema dedikerat till Artifact Registry kan en administratör bevilja behörigheterna på schemanivå. Schema-nivåprivilegier gäller för varje matchande objekt i schemat, inklusive objekt som skapats senare. Använd separata scheman för utgivare som inte ska kunna ändra varandras artefakter. Ge varje huvudman endast de privilegier som krävs för dess verksamhet. Byt ut exempelvärdena och ta bort onödiga privilegie-satser innan du kör följande satser:

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>`;

För detaljer om CREATE VOLUME, WRITE VOLUME, , READ METADATAoch READ VOLUME, se referensen för Unity-katalogens privilegier. För andra bidragsmetoder, se Visa, bevilja och återkalla privilegier.

Tryck en bild

Använd värdnamnet för arbetsytans register med avbildningens catalog.schema.artifact:tag-namn.

Hämta registervärdnamnet

Använd värdnamnet för registret som skrevs ut av databricks auth docker configure. För att senare hitta värdnamnet för en profil och kontrollera om dess Docker-inloggningshjälpare är konfigurerad, kör:

databricks auth docker host --profile <profile>

Om du behöver skapa värdnamnet manuellt, använder du det numeriska arbetsyte-ID:t och arbetsytans region. För att hitta arbetsyts-ID:t, se Arbetsytans instansnamn, URL:er och ID:n.

För att hitta arbetsytsregionen, öppna arbetsytomkopplaren i den övre navigeringsfältet. Regionen visas under arbetsytans namn. Du hittar den också i kontokonsolen under Arbetsytor.

Använd följande värdnamn:

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

Krav på artefaktnamn

Important

Artefaktnamn måste vara fullt kvalificerade Unity-katalognamn i formatet <catalog>.<schema>.<artifact>. Använd inte snedstreck i namnet. Se objekthierarkin i Unity Catalog.

Segmentet <artifact> kan innehålla upp till 255 tecken. Använd endast små bokstäver, siffror, understreck och bindestreck. Den måste börja och sluta med en bokstav eller siffra. Använd högst två på varandra följande understreck och placera inte ett understreck bredvid ett bindestreck.

Tagga och pusha bilden

Varning

Inkludera inte inloggningsuppgifter eller annan känslig data i en bild. Kolla bilden innan du pressar på. Artefaktversioner är oföränderliga och borttagningsförfrågningar stöds inte. Om du skickar känslig data, rotera eller återkalla den omedelbart och be en administratör begränsa alla READ VOLUME bidrag som gäller för den berörda artefakten. Sluta använda den påverkade digesten och alla taggar som pekar på den, och se sedan vilken information du bör inkludera när du begär hjälp.

  1. Tagga en lokal bild för Artifact Registry:

    docker tag <local-image>:<local-tag> \
      <registry-hostname>/<catalog>.<schema>.<artifact>:<tag>
    
  2. Tryck på bilden:

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

Upptäck bilder och versioner

Använd Software Artifacts API för att lista artefakter i en katalog och ett schema och sedan lista versionerna av en artefakt.

Note

Dedikerade Databricks CLI-kommandon för listning och hantering av Artifact Registry-bilder är inte tillgängliga. Använd databricks api för att anropa API:t för programvaruartefakter.

Följande exempel använder profilen som du konfigurerade för Docker-autentisering. Uteslut --profile <profile> om det är din standardprofil för Databricks CLI.

Lista artefakter

För att lista artefakter, kör följande kommando:

databricks api get --profile <profile> \
  "/api/2.1/unity-catalog/software-artifacts?parent=schemas/<catalog>.<schema>"

Svaret inkluderar artefaktens namn och ägare. Om svaret innehåller next_page_token, skicka dess värde i frågeparametern page_token för att hämta nästa sida, till exempel &page_token=<next_page_token>.

Lista versioner

För att lista versioner för en artefakt, kör följande kommando:

databricks api get --profile <profile> \
  "/api/2.1/unity-catalog/software-artifacts/<catalog>.<schema>.<artifact>/versions"

Svaret inkluderar bilddigest, taggar och image_acceleration_details.status för varje version. För svarsgränser, se Begränsningar.

Kontrollera bildaccelerationens status

Läs image_acceleration_details.status från svaret för artefaktversionen:

Status Meaning
SUCCESS Bildacceleration slutfördes framgångsrikt.
UNSPECIFIED Inget lyckat bildaccelerationsresultat har registrerats. Denna status identifierar inte ett fel.

Använd images i Azure Databricks-arbetsbelastningar som stöds

När du har överfört en containeravbild till Artifact Registry anger du den som referens när du skapar ett jobb i Azure Databricks som stöds.

För att använda en Docker-avbild i en AI-runtime-arbetsbelastning, se Använd anpassade Docker-avbilder med AI Runtime.

Ytterligare resurser