Tutoriais de configuração comum para Snowpark Container Services

Introdução

Este tópico fornece instruções para a configuração comum necessária para todos os tutoriais do Snowpark Container Services fornecidos nesta documentação.

Configuração de pré-requisitos

Revise os seguintes pré-requisitos para garantir que você possa concluir os tutoriais:

  • Uma conta Snowflake: observe que contas de avaliação não são suportadas.

  • SnowSQL, o cliente de linha de comando para executar comandos SQL (opcional): você pode usar qualquer cliente Snowflake que ofereça suporte à execução de comandos SQL e o upload de arquivos para um estágio Snowflake. Os tutoriais são testados usando as interfaces da web SnowSQL e Snowsight. Para obter instruções sobre como instalar esse cliente de linha de comando, consulte Instalação do SnowSQL.

  • Docker Desktop: estes tutoriais fornecem instruções para usar o Docker Desktop. Para instruções de instalação, consulte https://docs.docker.com/get-docker/. Observe que você pode usar qualquer cliente compatível com OCI para criar imagens, como Docker, Podman ou Nerdctl.

Criação de objetos Snowflake

Execute o SQL fornecido usando SnowSQL ou Snowsight.

  1. Faça login no Snowflake como usuário com a função ACCOUNTADMIN.

  2. Usando a função ACCOUNTADMIN, execute o script a seguir, substituindo user_name pelo nome do usuário Snowflake que testará os tutoriais. Para esses tutoriais, você pode escolher o mesmo usuário que executa este script ou outro usuário em sua conta Snowflake. O script faz o seguinte:

    • Cria uma função (test_role) e outros objetos Snowflake. Para criar a função e os objetos, você deve usar a função ACCOUNTADMIN. (Essa restrição ajuda a controlar custos e gerenciar riscos de informações comerciais.) O script também concede à função test_role os privilégios necessários para gerenciar os objetos recém-criados.

    • Concede a função ao usuário Snowflake especificado, que então usa a função para explorar os tutoriais.

    USE ROLE ACCOUNTADMIN;
    
    CREATE ROLE test_role;
    
    CREATE DATABASE IF NOT EXISTS tutorial_db;
    GRANT OWNERSHIP ON DATABASE tutorial_db TO ROLE test_role COPY CURRENT GRANTS;
    
    CREATE OR REPLACE WAREHOUSE tutorial_warehouse WITH
      WAREHOUSE_SIZE='X-SMALL';
    GRANT USAGE ON WAREHOUSE tutorial_warehouse TO ROLE test_role;
    
    CREATE SECURITY INTEGRATION IF NOT EXISTS snowservices_ingress_oauth
      TYPE=oauth
      OAUTH_CLIENT=snowservices_ingress
      ENABLED=true;
    
    GRANT BIND SERVICE ENDPOINT ON ACCOUNT TO ROLE test_role;
    
    CREATE COMPUTE POOL tutorial_compute_pool
      MIN_NODES = 1
      MAX_NODES = 1
      INSTANCE_FAMILY = CPU_X64_XS;
    GRANT USAGE, MONITOR ON COMPUTE POOL tutorial_compute_pool TO ROLE test_role;
    
    GRANT ROLE test_role TO USER <user_name>
    
    Copy

    Note que:

    • Você cria um warehouse porque os serviços e trabalhos podem executar instruções SQL DML (como SELECT e INSERT). Snowflake executa essas instruções no warehouse.

    • No tutorial 1, você cria um serviço que expõe um ponto de extremidade como público para permitir que os usuários acessem o serviço na web pública (entrada). Para criar este serviço:

      • A função test_role deve ter o privilégio BIND SERVICE ENDPOINT na conta:

      • A implementação atual requer uma integração de segurança criada pelo script.

    • Um pool de computação é uma coleção de um ou mais nós de máquinas virtuais (VM) nos quais o Snowflake executa seus trabalhos e serviços.

  3. Certifique-se de estar conectado ao Snowflake como o usuário especificado no script anterior.

  4. Usando a função test_role, execute o script a seguir para criar objetos com escopo de banco de dados comuns a todos os tutoriais.

    USE ROLE test_role;
    USE DATABASE tutorial_db;
    USE WAREHOUSE tutorial_warehouse;
    
    CREATE SCHEMA IF NOT EXISTS data_schema;
    CREATE IMAGE REPOSITORY IF NOT EXISTS tutorial_repository;
    CREATE STAGE IF NOT EXISTS tutorial_stage
      DIRECTORY = ( ENABLE = true );
    
    Copy

    Note que:

    • Você cria um repositório de imagens para armazenar seu código de serviço (imagens de contêiner).

    • Você cria um estágio Snowflake para armazenar seus arquivos de especificação de serviço no tutorial 2 e 3.

Verificação se você está pronto para continuar

  1. Para verificar se você possui os objetos necessários para os tutoriais, execute os seguintes comandos:

    SHOW COMPUTE POOLS; --or DESCRIBE COMPUTE POOL tutorial_compute_pool;
    
    Copy
    SHOW WAREHOUSES;
    
    Copy
    SHOW IMAGE REPOSITORIES;
    
    Copy
    SHOW STAGES;
    
    Copy
  2. Para verificar se você possui as informações da sua conta (nomes da organização e da conta), use um dos seguintes métodos:

    • Encontre as informações na interface da web do Snowsight, no canto inferior esquerdo da página inicial.

    • EmSnowSQL CLI, execute SHOW IMAGE REPOSITORIES. O comando retorna o URL do repositório, incluindo os nomes da organização e da conta.

      Exemplo

      <orgname>-<acctname>.registry.snowflakecomputing.com/tutorial_db/data_schema/tutorial_repository
      
      Copy

Qual é o próximo passo?

Agora você pode explorar o Tutorial 1.