Stwórz piaskownicę z niestandardowego obrazu

Important

Ta funkcja jest dostępna w wersji beta. Aby włączyć podgląd tej funkcji w obszarze roboczym, włącz ustawienie Databricks Sandbox na stronie Podglądy obszaru roboczego. Zobacz Zarządzanie wersjami zapoznawczami usługi Azure Databricks.

Możesz stworzyć piaskownicę z własnego obrazu kontenera zapisanego w Artifact Registry. Artifact Registry przechowuje obrazy kontenerów jako zasoby objęte nadzorem w Unity Catalog, więc kontrolujesz dostęp do nich dzięki uprawnieniom Unity Catalog. Piaskownica jest tworzona z już zainstalowanymi pakietami, narzędziami i konfiguracją obrazu, więc nie musisz instalować zależności za każdym razem, gdy tworzysz piaskownicę.

Aby uzyskać przegląd Databricks Sandbox, zobacz Databricks Sandbox.

Requirements

  • Twój obszar roboczy spełnia wymagania wstępne Databricks Sandbox. Zobacz Wymagania wstępne.
  • Twój obszar roboczy spełnia wymagania wstępne Rejestru Artefaktów, w tym włączenie wersji zapoznawczej Databricks Artifact Registry. Zobacz Wymagania.
  • Masz USE CATALOG, USE SCHEMA oraz READ VOLUME uprawnienia do katalogu i schematu zawierających obraz. Zobacz sekcję Nadawanie uprawnień.
  • Obraz wykorzystuje glibc w wersji 2.25 i nowszej. Jeśli obraz korzysta z bazy Ubuntu, użyj Ubuntu 18.04 lub nowszej. Obrazy wykorzystujące musl zamiast glibc, takie jak Alpine Linux i obrazy na nim zbudowane (na przykład python:<version>-alpine lub node:<version>-alpine), nie są obsługiwane.

Prześlij obraz kontenera i stwórz piaskownicę

  1. Zbuduj obraz w Dockerze i przepchnij go do Artifact Registry. Zobacz Wypchnij obraz.

  2. Poczekaj, aż status przyspieszenia obrazu wyniesie SUCCESS. Akceleracja obrazu uruchamia się automatycznie po wypchnięciu i może trwać 15 minut lub dłużej. Zobacz Sprawdź status przyspieszenia obrazu.

  3. Stwórz piaskownicę i ustaw image_uri na nazwę Unity Catalog obrazu, w formacie catalog.schema.artifact:tag. Aby przypiąć dokładną wersję, użyj skrótu kontrolnego zamiast tagu: catalog.schema.artifact@sha256:<digest>.

    Na przykład, aby utworzyć piaskownicę z obrazu main.agents.agent-base:v1, uruchom następujące polecenie:

    from databricks.sdk import WorkspaceClient
    from databricks.sdk.service.sandbox import EnvironmentSpec, Sandbox, SandboxSpec
    
    w = WorkspaceClient()
    
    created = w.sandbox.create_sandbox(
        sandbox=Sandbox(
            spec=SandboxSpec(
                environment=EnvironmentSpec(image_uri="main.agents.agent-base:v1"),
            ),
        ),
        sandbox_id="my-custom-sandbox",
    )
    print(created.name)   # "sandboxes/my-custom-sandbox"
    

Sandbox utworzony z niestandardowego obrazu zachowuje ten sam trwały katalog domowy oraz zachowanie zatrzymywania i uruchamiania jak każdy inny sandbox.

Troubleshooting

Jeśli żądanie utworzenia nie powiodło się, sprawdź komunikat o błędzie:

  • Image <uri> is not ready for use: Przyspieszenie obrazu jeszcze się nie zakończyło. Sprawdź stan akceleracji obrazu i spróbuj ponownie, gdy osiągnie SUCCESS.
  • Not authorized to access image <uri>: Nie masz wymaganych uprawnień do obrazu. Poproś właściciela katalogu lub schematu o ich przyznanie.

Limitations

  • Własne obrazy muszą być przechowywane w Artifact Registry. Nie możesz utworzyć sandboxa z obrazu w zewnętrznym rejestrze, a Azure Databricks nie buduje obrazów za Ciebie.
  • Piaskownice tworzone z niestandardowego obrazu mogą zająć więcej czasu na rozpoczęcie niż piaskownice korzystające z domyślnego środowiska.

Dodatkowe zasoby