Snowpark Container Servicesの共通セットアップのチュートリアル

紹介

このトピックでは、このドキュメントで提供するすべてのSnowpark Container Servicesのチュートリアルで必要な共通のセットアップ方法を説明します。

前提条件を構成する

以下の前提条件を確認し、チュートリアルを完了できるようにしてください。

  • Snowflakeアカウント: トライアルアカウントはサポートされていないことにご注意ください。

  • SnowSQL、 SQL コマンドを実行するコマンドラインクライアント(オプション): SQL コマンドの実行とSnowflakeステージへのファイルのアップロードをサポートする任意のSnowflakeクライアントを使用できます。チュートリアルは SnowSQL と Snowsight のウェブインターフェイスを使用してテストされています。このコマンドラインクライアントをインストールする手順については、 SnowSQL のインストール をご参照ください。

  • Docker Desktop: これらのチュートリアルでは、Docker Desktopの手順を提供します。インストール手順については、 https://docs.docker.com/get-docker/ をご参照ください。Docker、Podman、Nerdctlなど、 OCI に準拠したクライアントを使用してイメージを作成できることに注意してください。

Snowflakeオブジェクトを作成する

提供された SQL を SnowSQL か Snowsight のいずれかを使用して実行します。

  1. ACCOUNTADMIN ロールを持つユーザーとしてSnowflakeにログインします。

  2. ACCOUNTADMIN ロールを使用して、 user_name を、チュートリアルをテストするSnowflakeユーザーの名前に置き換えて、以下のスクリプトを実行します。これらのチュートリアルでは、このスクリプトを実行するユーザーと同じユーザー、またはSnowflakeアカウントの別のユーザーを選択できます。スクリプトは、次を実行します。

    • ロール(test_role)とその他のSnowflakeオブジェクトを作成します。ロールとオブジェクトを作成するには、 ACCOUNTADMIN ロールを使用する必要があります。(この制限は、コスト管理とビジネス情報リスクの管理に役立ちます。)スクリプトはまた、 test_role ロールに新しく作成されたオブジェクトを管理するのに必要な権限を付与します。

    • 指定されたSnowflakeユーザーにロールを付与し、ユーザーはそのロールを使用してチュートリアルを探索します。

    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

    次に注意してください。

    • サービスやジョブが SQL DML ステートメント(SELECT や INSERT など)を実行できるようにするために、ウェアハウスを作成します。Snowflakeは、ウェアハウス内でこれらのステートメントを実行します。

    • チュートリアル1では、エンドポイントをパブリックとして公開するサービスを作成し、ユーザーがパブリックウェブ(イングレス)からサービスにアクセスできるようにします。このサービスを作成するには、

      • ロール test_role には、アカウントに対する BIND SERVICE ENDPOINT 権限が必要です。

      • 現在の実装では、スクリプトが作成するセキュリティ統合が必要です。

    • コンピューティングプール は、Snowflakeがジョブやサービスを実行する1つまたは複数の仮想マシン(VM)ノードの集まりです。

  3. 前述のスクリプトで指定したユーザーとしてSnowflakeにログインしていることを確認してください。

  4. test_role ロールを使用して、以下のスクリプトを実行し、すべてのチュートリアルに共通するデータベーススコープオブジェクトを作成します。

    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

    次に注意してください。

    • サービスコード(コンテナーイメージ)を保存するイメージリポジトリを作成します。

    • チュートリアル2と3にサービス仕様ファイルを格納するSnowflakeステージを作成します。

続行する準備ができていることを確認する

  1. チュートリアルに必要なオブジェクトがあることを確認するには、以下のコマンドを実行します。

    SHOW COMPUTE POOLS; --or DESCRIBE COMPUTE POOL tutorial_compute_pool;
    
    Copy
    SHOW WAREHOUSES;
    
    Copy
    SHOW IMAGE REPOSITORIES;
    
    Copy
    SHOW STAGES;
    
    Copy
  2. アカウント情報(組織名とアカウント名)を確認するには、以下のいずれかの方法を使用します。

    • Snowsightウェブインターフェイスのトップページの左下隅に表示される情報を探します。

    • Azure SnowSQL CLI で、 SHOW IMAGE REPOSITORIES を実行します。コマンドは、組織名とアカウント名を含むリポジトリ URL を返します。

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

次の内容

チュートリアル1 をご覧いただけます。