ステップ4: Snowflakeで GCP 用の外部関数を作成する¶
このトピックでは、Snowflakeで外部関数オブジェクトを作成する手順について説明します。このオブジェクトには、リモートサービスが受け入れるパラメーターなど、リモートサービスに関する情報が保存されます。
注釈
Snowflakeの外部関数はデータベースオブジェクトで、データベースのスキーマに作成する必要があります。外部関数を作成するには、関数を作成するデータベースとスキーマへの適切な権限が必要です。
詳細については、 アクセス制御権限 をご参照ください。
このトピックの内容:
前のステップ¶
外部関数オブジェクトを作成する¶
このタスクは、 Classic Console で Worksheets ページを表示していることを前提としています。
CREATE EXTERNAL FUNCTION ステートメントを入力します。ステートメントは次のようになります。
create or replace external function <external_function_name>(<parameters>) returns variant api_integration = <api_integration_name> as '<function_url>';
<外部関数名>
を一意の関数名(例:echo
)に置き換えます。この名前は オブジェクト識別子 のルールに従う必要があります。さらに、追跡ワークシートの「External Function Name」フィールドに関数名を記録します。
<パラメーター>
を、関数のパラメーターの名前とSQLデータ型に置き換えます(該当する場合)。例:a integer, b varchar
パラメーターは、リモートサービスが期待するパラメーターに対応している必要があります。パラメーター名は一致する必要はありませんが、データ型には互換性が必要です。
さらに、追跡ワークシートの「External Function Name」フィールドにパラメーター名とデータ型を記録します。
<API統合名>
を追跡ワークシートの「API Integration Name」フィールドの値に置き換えます。
<関数 URL>
を、スラッシュ(/
)で区切ったGateway Base URL
フィールドとPath Suffix
フィールドの値に置き換えます。URL は次のようになります。
https://<gateway-base-url>/<path-suffix>
まだ実行していない場合は、入力したCREATE EXTERNAL FUNCTIONコマンドを実行します。
外部関数をテストする¶
これで、外部関数を呼び出して、正しく機能することを確認できるはずです。
注釈
このチュートリアルの ステップ2: コンソールでプロキシサービス(Google Cloud API Gateway)を作成する でゲートウェイを保護するために、セキュリティ定義を構成ファイルに追加した場合は、このチュートリアルの ステップ5: コンソールでプロキシサービスの GCP セキュリティポリシーを作成する で構成ファイルのセキュリティ定義を更新するまで、外部関数をテストすることはできません。
詳細については、 GCP 用の外部関数の呼び出し をご参照ください。