BigQuery
BigQuery ストアドプロシージャの呼び出し
概要
このブロックは、BigQuery のストアドプロシージャを呼び出します。なお、ストアドプロシージャの引数モードは、IN のみをサポートしています(OUT および INOUT が引数に定義されている場合は実行できません)。
ストアドプロシージャの引数に渡す値は、オブジェクトデータとして準備してください。その際、オブジェクトデータのキー名と引き数名を合わせてください。
ストアドプロシージャの呼び出し時、このオブジェクトデータ内を検索し、ストアドプロシージャの引き数名と同名のキー値を引数として渡します。
例えば、以下のようなストアドプロシージャが定義されているとします。
CREATE OR REPLACE PROCEDURE tutorial.example_procedure(IN id INT64, IN name STRING) BEGIN CREATE TABLE IF NOT EXISTS tutorial.example_table AS SELECT id AS customer_id, name AS company_name; END;
このストアドプロシージャの引数は、整数型(INT64)の id という名前の引数と、文字列型(STRING)の name という引数を持ちます。
この場合は、オブジェクトデータを以下のように準備します。
キー名 | データ型 | 値 |
---|---|---|
id | Integer | 183053 |
name | String | "Groovenauts,Inc." |
こうしておくと、ストアドプロシージャの呼び出し時に、id に 183053 を name に "Groovenauts,Inc." を渡します。
warning ストアドプロシージャが途中で失敗した場合、実行に成功したステートメント実行分は課金されます。
プロパティ
プロパティ名 | 説明 |
---|---|
ブロック名 | ブロックの名前を指定します。ブロックに表示されます。 |
GCP サービスアカウント |
このブロックで使用する GCP サービスアカウントを選択します。 |
データセット |
呼び出すストアドプロシージャのデータセット ID を指定します。
例:概要で例示したストアドプロシージャの場合、
[変数展開の指定が可能][% 形式の文字列書式の指定が可能]
|
プロシージャ名 |
呼び出すストアドプロシージャの名前を指定します。
例:概要で例示したストアドプロシージャの場合、
[変数展開の指定が可能][% 形式の文字列書式の指定が可能]
|
引数を探す変数 |
呼び出すストアドプロシージャの引数に渡す値を定義したオブジェクトデータの変数名を指定します。
例:概要で例示したオブジェクトデータをオブジェクト生成ブロックで以下のように定義した場合は、 |
クエリーの優先度 |
クエリーの優先度を選択します。選択できる優先度は、次のいずれかです。
|
ブロックメモ | ブロックに対するコメントを指定します。 |
クエリーキャッシュを有効にする | クエリーキャッシュを有効にするかしないかを指定します。 |
最大料金バイト数 |
クエリーの料金を制限します。クエリーで処理するデータ量が、ここで指定されたバイト数を超える場合は、そのクエリーは実行されません。 warning スクリプト全体で処理するデータ量がこのバイト数を超えていたとしても、このバイト数を超えないデータ量分のステートメントの実行は行われます。このため、その実行分は課金されます。このバイト数を超えそうなデータ量を処理するステートメントがあるとそれ以降は実行されず、その分の課金は行われません。 |