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

本主题提供在 Snowflake 中创建 API 集成对象以与您的代理服务(即 Google Cloud API Gateway)结合使用的说明。

本主题内容:

上一步

第 2 步:在控制台中创建代理服务(Google Cloud API Gateway)

创建 API 集成对象

使用 CREATE API INTEGRATION 命令创建 API 集成对象:

  1. 打开 Snowflake 会话,通常是 Snowflake Web 界面会话。

  2. 执行 USE ROLE 命令以使用 ACCOUNTADMIN 角色或具有 CREATE INTEGRATION 权限的角色。例如:

    use role has_accountadmin_privileges;
    
    Copy
  3. 输入 CREATE API INTEGRATION 语句。该语句应类似于以下内容:

    create or replace api integration <integration_name>
        api_provider = google_api_gateway
        google_audience = '<google_audience_claim>'
        api_allowed_prefixes = ('<url>')
        enabled = true;
    
    Copy

    在该语句中:

    1. <integration_name> 替换为 `` with a unique integration name (e.g. ``my_api_integration_name。名称必须遵循 对象标识符 的规则。

      此外,在跟踪工作表的 API Integration Name 字段中记录集成名称。稍后在创建过程中执行 CREATE EXTERNAL FUNCTION 命令时,将需要该名称。

    2. 对于 google_audience,将 <google_audience_claim> 替换为跟踪工作表中 Managed Service Identifier 字段的值。

      在身份验证期间,Snowflake 向 Google 传递一个 JWT (JSON Web 令牌)。JWT 包含一个“aud”(“audience”)声明,Snowflake 将其设置为 google_audience 的值。

      有关 Google 身份验证的更多信息,请参阅 Google 服务账户 身份验证文档 (https://cloud.google.com/api-gateway/docs/authenticate-service-account#configure_auth)。

    3. 对于 api_allowed_prefixes,将 <url> 替换为跟踪工作表中 Gateway Base URL 字段的值。

      此字段允许您限制可以应用此 API 集成的 URLs。您可以使用比 Gateway Base URL 更严格的值。

  4. 如果尚未执行,请执行您输入的 CREATE API INTEGRATION 语句。

记录 API 集成的 API_GCP_SERVICE_ACCOUNT 信息

  1. 执行 DESCRIBE INTEGRATION 命令。例如:

    describe integration my_api_integration_name;
    
    Copy
  2. 在跟踪工作表的 API_GCP_SERVICE_ACCOUNT 字段中记录 API_GCP_SERVICE_ACCOUNT 的值。

下一步

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

语言: 中文