チュートリアル 1: データベース、スキーマ、テーブルの作成と管理

概要

このチュートリアルでは、データベース、テーブル、スキーマを作成および管理するために、 REST クエリを送信する方法を学びます。

前提条件

注釈

Snowflake REST APIs チュートリアルの共通設定 のステップをすでに完了している場合は、これらの前提条件をスキップして、このチュートリアルの最初のステップに進むことができます。

このチュートリアルを始める前に、以下のステップを含む 共通セットアップ の説明を完了しておく必要があります。

  • Snowflake REST APIs Postman コレクションをインポートします。

  • Postmanでベアラートークンを設定して接続を認証します。

これらの前提条件が完了したら、 API を使い始める準備が整います。

データベースの作成と利用可能なデータベースの一覧表示

Postmanを使ってデータベースを作成し、利用可能なデータベースを一覧表示することができます。

  • データベースを作成するには、図のように、/api/v2/databases エンドポイントに、以下のリクエスト・ボディを持つ:codenowrap:POST リクエストを送信します。

    {
      "name": "demo_db",
      "kind": "PERMANENT",
      "comment": "snowflake rest api demo-db",
      "data_retention_time_in_days": "1",
      "max_data_extension_time_in_days": "1"
    }
    
    Copy
    ../../../_images/create-database.png
  • 利用可能なデータベースを一覧表示するには、以下の例に示すように、/api/v2/databases エンドポイントに:codenowrap:GET リクエストを送ります。

    • 名前に demo という文字列を含むデータベースを検索するには、 like クエリ・パラメーターに:codenowrap:%25demo%25 を指定します。

      ../../../_images/list-databases.png
    • 名前が文字列 DEMO_DB で始まる最初のデータベースを返すには、 startsWithshowLimit のクエリ・パラメーターに、それぞれ DEMO_DB1 を指定します。

      ../../../_images/list-databases2.png

詳細については、 Snowflake Database API 参照 をご参照ください。

スキーマの作成と利用可能なスキーマの一覧表示

Postmanを使ってスキーマを作成し、利用可能なスキーマを一覧表示することができます。

  • スキーマを作成するには、次のように /api/v2/databases/{database}/schemas エンドポイントに POST リクエストを送ります。

    1. データベース名(demo_db) をリクエストヘッダーの database パス変数に追加します。

      ../../../_images/create-schema1.png
    2. スキーマ名(demo_sc)をリクエスト・ボディに追加します。

      {
        "name": "demo_sc",
      }
      
      Copy
      ../../../_images/create-schema2.png
  • 利用可能なスキーマを一覧表示するには、/api/v2/databases/{database}/schemas エンドポイントに:codenowrap:GET リクエストを送ります。この例では、 startsWithshowLimit のクエリ・パラメーターにそれぞれ DEMO_SC1 を指定して、名前が文字列 DEMO_SC で始まる最初のスキーマを返します。

    ../../../_images/list-schemas1.png

詳細については、 Snowflake Schema API 参照 をご参照ください。

テーブルを作成し、テーブルの詳細を取得する

Postmanを使ってテーブルを作成し、利用可能なテーブルを一覧表示することができます。

  • テーブルを作成するには、次のように /api/v2/databases/{database}/schemas/{schema}/tables エンドポイントに POST リクエストを送ります。

    1. データベース名(demo_db)とスキーマ名(demo_sc)を、リクエスト・ヘッダーの databasedatabase パス変数にそれぞれ追加します。

      ../../../_images/create-schema-table1.png
    2. テーブル名(demo_tbl)とテーブル列をリクエスト・ボディに追加します。この場合、 C1 という列を1つ追加しています。

      {
        "name": "demo_tbl",
        "columns": [
          {
          "name": "c1",
          "datatype": "integer",
          "nullable": true,
          "comment": "An integral value column"
          }
        ],
        "comment": "Demo table for Snowflake REST API"
      }
      
      Copy
      ../../../_images/create-schema-table2.png
  • 今作成したテーブルを取得するには、/api/v2/databases/{database}/schemas/{schema}/tables/{name} エンドポイントに:codenowrap:GET リクエストを送ります。この場合、 databaseschemaname のパス変数にそれぞれ demo_dbdemo_scdemo_tbl を指定します。

    ../../../_images/get-schema-table1.png

詳細については、 Snowflake Table API 参照 をご参照ください。

テーブルを変更し、テーブルの詳細を取得する

Postmanを使ってテーブルを変更することができます。

  • 前回のチュートリアルで作成したテーブルを変更するには、次のように /api/v2/databases/{database}/schemas/{schema}/tables/{name} エンドポイントに PUT リクエストを送ります。

    1. 作成したデータベース、スキーマ、テーブルの名前を、対応するパス変数に指定します。

      ../../../_images/create-alter-schema-table1.png
    2. リクエスト本文に、新しいテーブル定義を入力します。この場合、テーブルに新しい列を追加します。

      {
        "name": "demo_tbl",
        "columns": [
          {
          "name": "c1",
          "datatype": "integer",
          "nullable": true,
          "comment": "An integral value column"
          },
          {
          "name": "c2",
          "datatype": "string",
          "comment": "An string value column"
          }
        ],
        "comment": "Demo table for Snowflake REST API"
      }
      
      Copy
      ../../../_images/create-alter-schema-table2.png
  • /api/v2/databases/{database}/schemas/{schema}/tables/{name} エンドポイントに:codenowrap:GET リクエストを送信してテーブルの詳細を取得し、変更を検証します。この場合、 databaseschemaname のパス変数にそれぞれ demo_dbdemo_scdemo_tbl を指定します。

    ../../../_images/get-schema-table2.png

    テーブルには新たに C2 列を含むことにご注意ください。

詳細については、 Snowflake Table API 参照 をご参照ください。

利用可能なテーブルの一覧表示

/api/v2/databases/{database}/schemas/{schema}/tables エンドポイントを使用すると、使用可能なすべてのテーブルの一覧表示を返すことができます。

  • 利用可能なすべてのテーブルを一覧表示するには、/api/v2/databases/{database}/schemas/{schema}/tables エンドポイントに、次のようにクエリ パラメーターなしで:codenowrap:GET リクエストを送ります。この場合、 demo_dbdemo_scdemo_tbl をそれぞれ databaseschemaname パス変数に指定します。

    ../../../_images/list-schema-table1.png
  • 各テーブルの列と制約の完全な詳細を一覧表示するには、図のように recursive クエリ・パラメーターを追加し、値を:codenowrap:true に設定します。このクエリ・パラメーターを有効にすると、複数の複雑なテーブルがある場合、接続を圧迫する可能性があることに注意してください。

    ../../../_images/list-schema-tables1.png

詳細については、 Snowflake Table API 参照 をご参照ください。

次の内容

おめでとうございます。このチュートリアルでは、 Snowflake REST APIs を使用して、Snowflake データベース、スキーマ、およびテーブルリソースを管理するための基礎を学びました。

概要

その過程で、あなたは以下のタスクを完了しました。

  • データベースの作成と一覧表示をします。

  • スキーマの作成と一覧表示をします。

  • テーブルを作成し、テーブルの詳細を取得します。

  • テーブルを変更し、テーブルの詳細を取得します。

  • 利用可能なテーブルを一覧表示します。

次のチュートリアル

次に、 チュートリアル2:タスクの作成と管理 に進み、Snowflakeタスクの作成と管理方法を説明します。