为 AWS 调用外部函数¶
本主题介绍如何调用外部函数。
外部函数与任何其他 UDF (用户定义函数) 一样被调用。(而且,与任何其他 UDF 一样,无论平台如何,都以相同的方式调用外部函数。)
如果您还没有这样做,请确保您的会话正在使用包含该函数的数据库和架构。
(外部函数是数据库对象;调用函数时,包含函数的数据库和架构必须在会话中使用,或者必须指定函数的完全限定名称)。
USE DATABASE <database_name>; USE SCHEMA <schema_name>;
如果合适,并且如果您还没有这样做,请向需要调用外部函数的一个或多个 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 提供的一个示例外部函数,则可以调用该函数,如下所示:
SELECT echo(42, 'Adams');
如果您使用的函数名称不是
echo
,那么请用实际函数名称替换echo
。返回值应类似于:
[0, 42, "Adams"]
其中:
0
是返回值的行号。42, "Adams"
是返回值。
备注
尽管通常可以像其他 UDFs 一样调用外部函数,但也有少数例外。有关详细信息,请参阅 执行时间限制和问题。