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

本主题说明如何在 Snowflake 中创建 API 集成对象,以便与代理服务(即 Amazon API Gateway)一起使用。无论您使用的是管理控制台还是 CloudFormation 模板,说明都是相同的。

本主题内容:

上一步

AWS 管理控制台:

第 2 步:在 AWS 管理控制台中创建代理服务 (Amazon API Gateway)

AWS CloudFormation 模板:

第 2 步:记录 Amazon API Gateway URL 和新 IAM 角色 ARN

先决条件

需要以下信息才能在 Snowflake 中为 AWS 创建 API 集成:

  • New IAM Role ARN (来自跟踪工作表)。

  • Resource Invocation URL (来自跟踪工作表)。

创建 API 集成对象

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

  2. 使用具有 ACCOUNTADMIN 权限或 CREATE INTEGRATION 权限的 Snowflake 角色,例如:

    use role <has_accountadmin_privileges>;
    
    Copy
  3. 键入 CREATE API INTEGRATION 命令以创建 API 集成。该命令应类似于以下内容:

    CREATE OR REPLACE API INTEGRATION my_api_integration_01
      api_provider = aws_api_gateway
      api_aws_role_arn = '<new_IAM_role_ARN>'
      api_allowed_prefixes = ('https://')
      enabled = true;
    
    Copy

    自定义命令:

    • 应根据端点类型设置 api_provider 子句:

      • 如果您使用的是专用端点,则应将 api_provider 子句设置为 aws_private_api_gateway

      • 如果您使用的是美国政府 GovCloud 端点,则应将 api_provider 子句设置为 aws_gov_api_gatewayaws_gov_private_api_gateway

      • 对于大多数其他用户,应将 api_provider 子句设置为 aws_api_gateway

    • <new_IAM_role_ARN> 应该是跟踪工作表中 New IAM Role ARN 字段中的值。

    • api_allowed_prefixes 字段应包含您之前记录的资源调用 URL。

    以下是完整的 CREATE API INTEGRATION 语句的示例:

    create or replace api integration demonstration_external_api_integration_01
        api_provider=aws_api_gateway
        api_aws_role_arn='arn:aws:iam::123456789012:role/my_cloud_account_role'
        api_allowed_prefixes=('https://xyz.execute-api.us-west-2.amazonaws.com/production/')
        enabled=true;
    
    Copy
  4. 在标题为 API Integration Name 的跟踪工作表字段中,记录您创建的 API 集成的名称。稍后执行 CREATE EXTERNAL FUNCTION 命令时需要该 API 集成名称。

  5. 执行您在上面输入的 CREATE API INTEGRATION 命令。

记录 API_AWS_IAM_USER_ARN 和 API_AWS_EXTERNAL_ID

  1. 执行 DESCRIBE INTEGRATION 命令。

    DESCRIBE INTEGRATION <my_integration_name>;
    
    Copy

    例如:

    DESCRIBE INTEGRATION my_api_integration_01;
    
    Copy
  2. 查找名为 API_AWS_IAM_USER_ARN 的属性,然后在跟踪工作表中记录该属性的 property_value

  3. 找到名为 API_AWS_EXTERNAL_ID 的属性并在跟踪工作表中记录该属性的 property_value

    请注意,API_AWS_EXTERNAL_IDproperty_value 通常以等号(“=”)结尾。等号是值的一部分;请确保将等号与 property_value 的其余部分一起剪切并粘贴。

在接下来的几个步骤中,您将返回到 AWS 管理窗口。不要立即关闭 Snowflake 管理窗口;您必须稍后再返回该窗口。

下一步

第 4 步:在管理控制台中将面向 AWS 的 API 集成链接到代理服务

语言: 中文