Configuration commune pour les tutoriels Snowpark Container Services

Introduction

Cette rubrique fournit des instructions pour la configuration commune requise pour tous les tutoriels de Snowpark Container Services fournis dans cette documentation.

Configurer les conditions préalables

Passez en revue les conditions préalables suivantes pour vous assurer que vous pouvez suivre les tutoriels :

  • Un compte Snowflake : notez que les comptes d’essai ne sont pas pris en charge.

  • SnowSQL, le client de ligne de commande pour l’exécution des commandes SQL (facultatif) : vous pouvez utiliser n’importe quel client Snowflake qui prend en charge l’exécution des commandes SQL et le chargement de fichiers vers une zone de préparation Snowflake. Les tutoriels sont testés en utilisant le SnowSQL et l’interface Web Snowsight. Pour savoir comment installer ce client de ligne de commande, voir Installation de SnowSQL.

  • Docker Desktop : ces tutoriels fournissent des instructions pour l’utilisation de Docker Desktop. Pour des instructions d’installation, voir https://docs.docker.com/get-docker/. Notez que vous pouvez utiliser n’importe quel client compatible OCI pour créer des images, comme Docker, Podman ou Nerdctl.

Créer des objets Snowflake

Exécutez le SQL fourni en utilisant soit le SnowSQL soit Snowsight.

  1. Connectez-vous à Snowflake en tant qu’utilisateur ayant le rôle ACCOUNTADMIN.

  2. En utilisant le rôle ACCOUNTADMIN, exécutez le script suivant, en remplaçant user_name par le nom de votre utilisateur Snowflake qui testera les tutoriels. Pour ces tutoriels, vous pouvez choisir le même utilisateur que celui qui exécute ce script ou un autre utilisateur de votre compte Snowflake. Le script fait ce qui suit :

    • Crée un rôle (test_role) et d’autres objets Snowflake. Pour créer le rôle et les objets, vous devez utiliser le rôle ACCOUNTADMIN. (Cette restriction permet de contrôler les coûts et de gérer les risques liés aux informations commerciales). Le script accorde également au rôle test_role les privilèges nécessaires pour gérer les objets nouvellement créés.

    • Attribue le rôle à l’utilisateur Snowflake spécifié, qui l’utilise ensuite pour explorer les tutoriels.

    USE ROLE ACCOUNTADMIN;
    
    CREATE ROLE test_role;
    
    CREATE DATABASE IF NOT EXISTS tutorial_db;
    GRANT OWNERSHIP ON DATABASE tutorial_db TO ROLE test_role;
    
    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

    Remarques importantes :

    • Vous créez un entrepôt parce que les services et les tâches peuvent exécuter des instructions DML SQL (telles que SELECT et INSERT). Snowflake exécute ces instructions dans l’entrepôt.

    • Dans le tutoriel 1, vous créez un service qui expose un point de terminaison en tant que public pour permettre aux utilisateurs d’accéder au service à partir du Web public (entrée). Pour créer ce service :

      • Le rôle test_role doit avoir le privilège BIND SERVICE ENDPOINT sur le compte.

      • La mise en œuvre actuelle nécessite une intégration de sécurité, que le script crée.

    • Un pool de calcul est un ensemble d’un ou plusieurs nœuds de machines virtuelles (VM) sur lesquels Snowflake exécute vos tâches et services.

  3. Assurez-vous d’être connecté à Snowflake en tant qu’utilisateur spécifié dans le script précédent.

  4. En utilisant le rôle test_role , exécutez le script suivant pour créer des objets de base de données communs à tous les tutoriels.

    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

    Remarques importantes :

    • Vous créez un référentiel d’images pour stocker votre code de service (images du conteneur).

    • Vous créez une zone de préparation Snowflake pour stocker vos fichiers de spécification de service dans les tutoriels 2 et 3.

Vérifiez que vous êtes prêt à continuer

  1. Pour vérifier que vous disposez des objets nécessaires aux tutoriels, exécutez les commandes suivantes :

    SHOW COMPUTE POOLS; --or DESCRIBE COMPUTE POOL tutorial_compute_pool;
    
    Copy
    SHOW WAREHOUSES;
    
    Copy
    SHOW IMAGE REPOSITORIES;
    
    Copy
    SHOW STAGES;
    
    Copy
  2. Pour vérifier que vous disposez des informations relatives au compte (noms de l’organisation et du compte), utilisez l’une des méthodes suivantes :

    • Vous trouverez ces informations sur l’interface Web de Snowsight, dans le coin inférieur gauche de la page d’accueil.

    • Dans la CLI SnowSQL, exécutez SHOW IMAGE REPOSITORIES. La commande renvoie l’URL du référentiel, incluant les noms de l’organisation et du compte.

      Exemple

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

Quelle est la prochaine étape ?

Vous pouvez maintenant explorer le tutoriel 1.