Snowflake - カスタムSQLを使用して長時間クエリを実行するアクション
このアクションでは、設定されたタイムアウト内でカスタムSQLクエリを非同期で実行できます。 INSERT、UPDATE、DELETEなどのData Manipulation Language(DML)ステートメントや、CREATE、ALTER、DROPなどのData Definition Language(DDL)コマンドを実行するために使用できます。
カスタムSQLクエリの処理が開始されると、Workatoはクエリ結果を取得できる状態かどうかを定期的に確認します。 結果が正常に取得されると、Workatoはレシピ内の次のステップに進みます。
長時間クエリを使用すべき理由
大規模なデータセットをアップロード(INSERT)または更新(UPDATE)している場合、アクションの応答に時間がかかることがあります。 タイムアウト制限を超えると、タイムアウトエラーによりレシピが失敗します。
SQLクエリを非同期で実行すると、大規模なデータセットに対してクエリを実行できます。 アクションにかけられる最大時間は60分です。 アクションがこの上限を超えると、ジョブはタイムアウトします。
カスタムSQLアクションで長時間クエリを実行
入力
| 入力フィールド | 説明 |
|---|---|
| SQL | このフィールドは必須です。 実行する有効なSQL文字列を指定します。 このSQL文字列は、Snowflakeインスタンスで実行されます。 複数のSQLステートメントが指定されている場合、それらはすべて実行されます。 ただし、最後のステートメントの結果のみが返されます。 各ステートメントが ここでデータピルをマッピングして、動的に変化するSQLステートメントを実行できます。 データピルを一重引用符( |
| パラメーター | このフィールドはSQLステートメントと組み合わせて使用します。 まず、WHERE入力で名前付きバインド変数を宣言します。 次に、この入力フィールドを使用して、これらの変数に値を割り当てます。 パラメーター値には、静的な値またはデータピルを使用できます。 バインド変数に対してデータベースが期待するものに最も近い対応データ型を選択します。 |
| タイムアウト制限(分) | この待機アクションの上限を設定します。 このアクションが指定されたタイムアウトを超えると、ジョブはエラーを返します。 最大タイムアウトは60分です。 |
| 出力フィールド | この入力を使用して、SQLステートメントから想定される列を記述します。 戻り値が想定されない場合、または不要な場合は、この入力フィールドを無視できます。 |
出力
| 出力フィールド | 説明 |
|---|---|
| 行 | SQL実行から返される行のリスト。 このリスト内のフィールドは、出力フィールド入力フィールドによって定義されます。 空白のままにすると、この行はデータツリーで配列データピルとして使用できます。 |
| 影響を受けた行 | Data Manipulation Language(DML)ステートメントの実行によって影響を受けた、または変更された行数を指します。 DDL(CREATE)を実行する場合、値 |
| 行数 | 返された行数を指します。 |
Last updated: