Azure用の外部関数の呼び出し¶
このトピックでは、外部関数のトラブルシューティング方法について説明します。
外部関数は、他の UDF (ユーザー定義関数) と同様に呼び出されます。(そして、他の UDF と同様、外部関数はプラットフォームに関係なく同じ方法で呼び出されます。)
まだ実行していない場合は、セッションが関数を含むデータベースとスキーマを使用していることを確認してください。
(外部関数はデータベースオブジェクトであるため、関数を呼び出す場合は、関数を含むデータベースとスキーマをセッションで使用するか、関数の完全修飾名を指定する必要があります。)
USE DATABASE <database_name>; USE SCHEMA <schema_name>;
必要に応じて、まだ実行していない場合は、外部関数を呼び出す必要がある1つ以上のSnowflakeロールに、外部関数に対する USAGE 権限を付与します。
(ロールは、それを呼び出す外部関数に対する USAGE または OWNERSHIP 権限を持っている必要があります。)
GRANT USAGE ON FUNCTION <external_function_name>(<parameter_data_type>) TO <role_name>;
例:
GRANT USAGE ON FUNCTION echo(INTEGER, VARCHAR) TO analyst_role;
適切なロールを使用して、 SQL ステートメントの一部として外部関数を呼び出します。Snowflakeが提供するサンプル外部関数の1つを作成した場合、以下に示すように関数を呼び出すことができます。
SELECT echo(42, 'Adams');
echo
以外の関数名を使用した場合は、echo
を実際の関数名に置き換えます。戻り値は、次のようになっている必要があります。
[0, 42, "Adams"]
条件:
0
は戻り値の行番号です。42, "Adams"
は戻り値です。
注釈
通常、外部関数は他の UDFs のように呼び出すことができますが、いくつかの例外があります。詳細については、 実行時の制限と問題 をご参照ください。