チュートリアル2:タスクの作成と管理

概要

このチュートリアルでは、 REST クエリを投入してタスクを作成・管理する方法を学びます。

前提条件

注釈

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

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

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

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

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

ウェアハウスを作成する

ウェアハウス API を使用して Snowflake ウェアハウスを作成できます。

demo_wh という名前の特別に小さな(xsmall)ウェアハウスを作成するには、次に示されるように、/api/v2/warehouses エンドポイントに以下のPOST リクエストを送ります。

  • Params タブで、createMode パラメーターを:codenowrap:errorIfExists に設定し、意図せずに既存のウェアハウスを上書きしないようにします。

    ../../../_images/create-warehouse-params.png
  • Body タブで、図のようにリクエスト・ボディに以下のコードを追加します。

    {
      "name": "demo_wh",
      "warehouse_size": "xsmall"
    }
    
    Copy
    ../../../_images/create-warehouse1.png

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

タスクを作成する

タスク API を使用して Snowflake タスクを作成できます。

タスクを作成するには、次のように:codenowrap:/api/v2/databases/{database}/schemas/{schema}/tasks エンドポイントに POST リクエストを送ります。

  • Params タブで、createMode パラメーターを:codenowrap:orReplace に設定し、database と:codenowrap:schema パス変数を設定して、 Snowflake REST APIs チュートリアルの共通設定 チュートリアルで設定した環境変数({{default_db}} と:codenowrap:`{{default_schema}} `)を使用します。

    ../../../_images/create-task-params.png
  • Body タブで、図のようにリクエスト・ボディを追加します。

    {
      "name": "{{test_task_name}}",
      "definition": "SELECT 1",
      "warehouse": "{{default_wh}}",
      "schedule": {"minutes": 2, "schedule_type": "MINUTES_TYPE"},
      "config": {"consecteture": false, "sed_9": 61393640, "doloref3": -85761000},
      "commnent": "comment",
      "session_parameters": {
        "TIMEZONE": "America/Los Angeles",
        "AUTOMCOMMIT": true
      },
      "error_integration": null,
      "user_task_managed_initial_warehouse_size": null,
      "predecessors": null,
      "task_auto_retry_attempts": 3,
      "user_task_timeout_ms": 10000,
      "suspend_task_after_num_failures": 3,
      "condition": true,
      "allow_overlapping_execution": false
    }
    
    Copy
    ../../../_images/create-task1.png

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

タスクを取得する

Task API を使用して Snowflake タスクを取得できます。

タスクの詳細を取得するには、次のように:codenowrap:/api/v2/databases/{database}/schemas/{schema}/tasks エンドポイントに、GET リクエストを送ります。

  • Params タブで、databaseschemaname パス変数を設定して、 Snowflake REST APIs チュートリアルの共通設定 チュートリアルで設定した環境変数({{default_db}},:codenowrap:{{default_schema}}、および:codenowrap:{{test_task_name}})を設定します。

    ../../../_images/fetch-task1.png

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

タスクを一覧表示する

タスク API を使用して、Snowflake タスクを一覧表示できます。

利用可能なすべてのタスクを一覧表示するには、次のように:codenowrap:/api/v2/databases/{database}/schemas/{schema}/tasks エンドポイントに、 GET リクエストを送ります。

  • Params タブで、rootOnly パラメーターを:codenowrap:false に設定し、database と:codenowrap:schema パス変数を、 Snowflake REST APIs チュートリアルの共通設定 チュートリアルで設定した環境変数 ({{default_db}} と:codenowrap:{{default_schema}}) を使用するように設定します。

    ../../../_images/list-tasks1.png

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

タスクを削除する

タスク API を使用して Snowflake タスクを削除できます。

タスクを削除するには、次のように:codenowrap:/api/v2/databases/{database}/schemas/{schema}/tasks/{name} エンドポイントに、DELETE リクエストを送ります。

  • Params タブで、databaseschemaname パス変数を設定して、 Snowflake REST APIs チュートリアルの共通設定 チュートリアルで設定した環境変数({{default_db}},:codenowrap:{{default_schema}}、および:codenowrap:{{test_task_name}})を設定します。

    ../../../_images/delete-task.png

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

タスクを実行する

タスク API を使用して Snowflake タスクを実行できます。

失敗しても再試行しないタスクを実行するには、図のように、/api/v2/databases/{database}/schemas/{schema}/tasks/{name}:execute エンドポイントに POST リクエストを送ります。

  • Params タブで、retryLast パラメーターを:codenowrap:false に設定し、database と:codenowrap:schema パス変数を、 Snowflake REST APIs チュートリアルの共通設定 チュートリアルで設定した環境変数 (:codenowrap: ` {{default_db}}` と:codenowrap:{{default_schema}}) を使用するように設定します。

    ../../../_images/execute-task.png

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

完全なグラフ

注釈

このチュートリアルでは、デフォルトのウェアハウスが定義されていることを前提としています。

タスク API を使用して、完了したグラフ実行の詳細を返すことができます。

タスクの完了したグラフ実行の詳細を返すには、図のように /api/v2/databases/{database}/schemas/{schema}/tasks/{name}:execute エンドポイントに、 GET リクエストを送ります。

  • Params タブで、次の操作を実行します。

    • resultLimit と:codenowrap:errorOnly クエリパラメーターをそれぞれ:codenowrap:5 と:codenowrap:false に設定します。

    • databaseschema 、および:codenowrap:name パス変数を設定して、環境変数(Snowflake REST APIs チュートリアルの共通設定 チュートリアルの:codenowrap:{{default_db}}{{default_schema}}、および:codenowrap:{{test_task_name}})を使用するように設定します。

    ../../../_images/complete-graphs.png

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

子タスクの作成

タスク API を使用して、既存の Snowflake タスクの子タスクを作成できます。

子タスクを作成するには、図のように:codenowrap:/api/v2/databases/{database}/schemas/{schema}/tasks エンドポイントに、 POST リクエストを送ります。

  • Params タブで、createMode パラメーターを:codenowrap:orReplace に設定し、database と:codenowrap:schema パス変数を設定して、 Snowflake REST APIs チュートリアルの共通設定 チュートリアルで設定した環境変数({{default_db}} と:codenowrap:`{{default_schema}} `)を使用します。

    ../../../_images/create-task-params.png
  • Body タブで、図のようにリクエスト・ボディを追加します。name パラメーターは子タスクの名前を指定し、predecessors は親タスクの名前を特定します。

    {
      "name": "test_child_task",
      "definition": "SELECT 1",
      "warehouse": "{{default_wh}}",
      "predecessors": "{{test_task_name}}"
    }
    
    Copy
    ../../../_images/create-child-task.png

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

親タスクの従属タスクを取得する

注釈

このチュートリアルでは、デフォルトのウェアハウスが定義されていることを前提としています。

タスク API を使用して、Snowflake タスクの子タスク(従属タスク)を取得できます。

子タスク(従属タスク)の詳細を取得するには、図のように:codenowrap:/api/v2/databases/{database}/schemas/{schema}/tasks/{name}/dependents エンドポイントに GET リクエストを送ります。

  • Params タブで、recursive クエリ・パラメーターを:codenowrap:true に設定し、databaseschema 、および:codenowrap:name パス変数を設定して、 Snowflake REST APIs チュートリアルの共通設定 チュートリアルで設定した環境変数、({{default_db}}{{default_schema}}、および:codenowrap:{{test_task_name}})を使用します。

    ../../../_images/get-task-dependents.png

    結果には親タスクとその子タスクの両方が含まれることにご注意ください。

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

次の内容

おめでとうございます。このチュートリアルでは、 Snowflake REST APIs を使用して Snowflake のウェアハウスとタスクリソースを管理するための基礎を学びました。

概要

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

  • ウェアハウスを作成します。

  • タスクを作成します。

  • タスクを取得します。

  • タスクを削除します。

  • タスクを実行します。

  • グラフを完了します。

  • 子タスクを作成します。

  • 親タスクの従属タスクを取得します。