Criar um sandbox a partir de uma imagem personalizada
Versão beta
Esse recurso está na versão Beta. Para ativar esta prévia de recurso no workspace, escolha a configuração Databricks Sandbox na página Prévias do workspace. Consulte Gerenciar prévias do Databricks.
Você pode criar um sandbox a partir da sua própria imagem de contêiner armazenada no Registro de Artefatos. O Artifact Registry armazena imagens de contêiner como ativos governados no Unity Catalog, para que você controle o acesso a elas com privilégios do Unity Catalog. O sandbox começa com os pacotes, ferramentas e configuração da imagem já instalados, para que você não precise instalar dependências toda vez que criar um sandbox.
Para obter uma visão geral do Databricks Sandbox, consulte Databricks Sandbox.
Requisitos
- Seu workspace atende aos pré-requisitos do Databricks Sandbox. Consulte Pré-requisitos.
- Seu workspace cumpre os pré-requisitos do Artifact Registry, incluindo a ativação da prévia do Databricks Artifact Registry . Consulte Requisitos.
- Você tem os privilégios
USE CATALOG,USE SCHEMAeREAD VOLUMEno catálogo e esquema que contém a imagem. Consulte Conceder permissões. - A imagem usa glibc 2.25 e acima. Se a imagem usar uma base Ubuntu, use Ubuntu 18.04 e acima. Imagens que usam musl em vez de glibc, como Alpine Linux e imagens construídas sobre ele (por exemplo,
python:<version>-alpineounode:<version>-alpine), não são suportadas.
Enviar uma imagem e criar uma sandbox
-
Crie a imagem com Docker e envie-a para o Artifact Registry. Consulte Enviar uma imagem.
-
Espere até que o status da aceleração da imagem seja
SUCCESS. A aceleração da imagem é execução automaticamente após o envio e pode levar 15 minutos ou mais. Consulte Verificar status da aceleração da imagem. -
Crie a sandbox e defina
image_uricomo o nome do Unity Catalog da imagem, no formatocatalog.schema.artifact:tag. Para pin uma versão exata, use um hash em vez de uma tag:catalog.schema.artifact@sha256:<digest>.Por exemplo, para criar um sandbox a partir da imagem
main.agents.agent-base:v1, execução o seguinte:Pythonfrom databricks.sdk import WorkspaceClientfrom databricks.sdk.service.sandbox import EnvironmentSpec, Sandbox, SandboxSpecw = 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"
Um sandbox criado a partir de uma imagem personalizada mantém o mesmo diretório home persistente e comportamento de parada e começar que qualquer outro sandbox.
Solução de problemas
Se a solicitação de criação falhar, verifique a mensagem de erro:
Image <uri> is not ready for use: A aceleração da imagem não terminou. Verifique o status da aceleração da imagem e tente novamente após atingirSUCCESS.Not authorized to access image <uri>: Você não tem os privilégios necessários na imagem. Peça ao proprietário do catálogo ou esquema para concedê-los.
Limitações
- As imagens personalizadas devem ser armazenadas no Artifact Registry. Você não pode criar uma sandbox a partir de uma imagem em um registro externo, e o Databricks não cria imagens para você.
- Sandboxes criados a partir de uma imagem personalizada podem demorar mais para começar do que sandboxes que usam o ambiente default.