第 4 步:在 Snowflake 中为 GCP 创建的外部函数

本主题提供有关在 Snowflake 中创建外部函数对象的说明。此对象存储有关远程服务的信息,例如远程服务接受的参数。

备注

Snowflake 中的外部函数是数据库对象,这意味着它们必须在数据库的架构中创建。若要创建外部函数,必须对创建函数的数据库和架构具有适当的权限。

有关更多详细信息,请参阅 访问控制权限

本主题内容:

上一步

第 3 步:在 Snowflake 中为 GCP 创建 API 集成

创建外部函数对象

此任务假定您位于 Classic Console 的 Worksheets Worksheet 选项卡 页面中:

  1. 输入 CREATE EXTERNAL FUNCTION 语句。该语句应类似于以下内容:

    create or replace external function <external_function_name>(<parameters>)
        returns variant
        api_integration = <api_integration_name>
        as '<function_url>';
    
    Copy
  2. 替换 <external_function_name> with a unique function name (e.g. echo)。此名称必须遵循 对象标识符 的规则。

    此外,在跟踪工作表的“外部函数名称”字段中记录函数名称。

  3. <parameters> 替换为函数的参数的名称和 SQL 数据类型(如果有)。例如:

    a integer, b varchar
    
    Copy

    参数必须与远程服务所需的参数相对应。参数名称不需要一致,但数据类型需要兼容。

    此外,在跟踪工作表的“外部函数名称”字段中记录参数名称和数据类型。

  4. <api_integration_name> 替换为跟踪工作表中“API 集成名称”字段中的值。

  1. <function_URL> 替换为 Gateway Base URLPath Suffix 字段中的值,用正斜杠 (/) 分隔。

    URL 应类似于:

    https://<gateway-base-url>/<path-suffix>
    
    Copy
  2. 如果尚未执行,请执行您输入的 CREATE EXTERNAL FUNCTION 命令。

测试外部函数

现在,您应该能够调用外部函数来验证它是否正常工作。

备注

如果您在本教程的 第 2 步:在控制台中创建代理服务(Google Cloud API Gateway) 中将安全定义添加到配置文件中以保护网关,则在更新本教程 第 5 步:在控制台中为代理服务创建 GCP 安全策略 中配置文件中的安全定义之前,您将无法测试外部函数。

有关详细信息,请参阅 为 GCP 调用外部函数

下一步

第 5 步:在控制台中为代理服务创建 GCP 安全策略

语言: 中文