Snowpark Container Services: como trabalhar com um registro e repositório de imagens

O Snowpark Container Services fornece um serviço de registro de imagens compatível com OCIv2 e um repositório de chamadas de unidade de armazenamento para armazenar imagens.

Registro de imagens

O serviço de registro de imagens fornece a OCIv2 API para armazenar imagens de contêiner compatíveis com OCI.

Nota

Para a versão preliminar privada, o representante da sua conta habilita o Snowflake Image Registry para sua conta. Isso é necessário antes que você possa executar operações do Snowpark Container Services.

Nome do host do registro de imagens

Cada registro de imagem em uma conta Snowflake tem um nome de host exclusivo, que permite que clientes OCI (como Docker CLI) acessem um registro de imagens usando chamadas REST API. A sintaxe geral para um nome de host de registro de imagens é:

<orgname>-<acctname>.registry.snowflakecomputing.com

No nome do host:

  • <nomeorg>-<nomeconta> identifica uma conta Snowflake.

  • registry permite que o Snowflake forneça nomes de host por conta para clientes de registro.

    O nome do host está sempre em letras minúsculas.

Nota

O nome de uma conta Snowflake (<nomeconta>) pode ter um sublinhado (por exemplo, my_account), mas os sublinhados não são válidos em um URL. Portanto, ao usar um nome de host de registro, você precisa substituir um sublinhado por um traço. Por exemplo, altere my_account por my-account.

Você pode encontrar o nome da sua organização e as informações do nome da conta para nomes de host do repositório de imagens de uma das seguintes maneiras:

Repositório de imagens

Um registro é um serviço que atende ao OCIv2 API e um repositório é uma unidade de armazenamento que você cria dentro do serviço.

Um repositório é um local nomeado em sua conta onde você armazena imagens. Isso é semelhante ao relacionamento entre DBMS e uma tabela dentro de DBMS. Ou seja, um DBMS equivale a um registro e uma tabela equivale a um repositório.

Você pode criar um ou mais repositórios em sua conta Snowflake. Por exemplo, os repositórios DEV, TEST e PROD podem armazenar imagens durante o desenvolvimento, teste e produção. Você também pode criar repositórios com permissões diferentes; por exemplo, alguns repositórios podem ser somente leitura para algumas funções.

O controle de acesso é suportado no nível do repositório; o controle de acesso individual em nível de imagem não é suportado.

Para fazer upload de imagens para um repositório de imagens, o serviço de registro oferece suporte à autenticação usando nome de usuário e senha e logon único (SSO).

Atenção

Os repositórios de imagens do Snowpark Container Services não são compatíveis com Tri-Secret Secure e Periodic Rekeying. Isso significa que se sua conta tiver habilitado o Tri-Secret Secure ou a Periodic Rekeying, enquanto todos os outros dados do Snowflake continuarão a ter segurança adicional, quaisquer imagens armazenadas em seus repositórios de imagens do Snowpark Container Services não se beneficiarão dessa segurança adicional.

Para criar um repositório de imagens em uma conta com Tri_Secret Secure ou Periodic Rekeying, você deve primeiro confirmar que entende e concorda em continuar sem o benefício desta segurança adicional para seus repositórios de imagens. Para confirmar o acordo, um administrador da conta (usuário com a função ACCOUNTADMIN) precisará definir o parâmetro no nível da conta ENABLE_TRI_SECRET_AND_REKEY_OPT_OUT_FOR_IMAGE_REPOSITORY como TRUE.

URL do repositório de imagens

A seguir está uma sintaxe geral para um URL do repositório Snowflake:

<registry-hostname>/<db_name>/<schema_name>/<repository_name>

Por exemplo,

myorg-myacct.registry.snowflake.com/my_db/my_schema/my_repository

Para buscar o URL do repositório na sua conta, use o comando SHOW IMAGE REPOSITORIES SQL.

Nota

  • O URL do Snowflake codifica o caractere $, que é o único caractere diferente de URL que o Snowflake suporta em identificadores (consulte Requisitos do identificador). Nomes entre aspas duplas que contêm caracteres especiais não são suportados.

  • Ao criar manualmente um URL do repositório, substitua um sublinhado no nome de uma conta (my_acct) por um traço (my-acct).

Operações de repositório

Para criar e gerenciar repositórios, o Snowflake oferece suporte às seguintes operações de repositório:

  • CREATE IMAGE REPOSITORY

  • DROP IMAGE REPOSITORY

  • SHOW IMAGE REPOSITORIES

Para listar imagens armazenadas em um repositório de imagens Snowflake, use a seguinte função:

Para ver um exemplo de criação de um repositório e upload de uma imagem, consulte o Tutorial de configuração comum.

Privilégios de repositório

Ao trabalhar com um repositório, o seguinte modelo de privilégio se aplica:

  • Para criar um repositório em um esquema, você deve ter o privilégio CREATE IMAGE REPOSITORY no esquema.

  • Para gerenciamento de repositório, os seguintes privilégios (recursos) são suportados:

    Privilégio

    Uso

    READ

    Permite listar e baixar imagens de um repositório.

    WRITE

    Permite listar e baixar imagens de um repositório. Você também pode enviar imagens para o repositório.

    OWNERSHIP

    Permite listar e baixar imagens de um repositório. Você também pode enviar imagens para o repositório.