第 1 步:使用模板创建远程服务(AWS Lambda 函数)和代理服务 (API Gateway)

本主题详细说明了如何使用 Snowflake 提供的 AWS CloudFormation 模板。该模板简化了为外部函数创建 AWS Lambda 函数(用作远程服务)和 Amazon API Gateway(用作代理服务)的任务。

本文档展示了如何使用 CloudFormation 模板在 AWS 上创建示例外部函数。

Snowflake 提供了一个模板,您可以从它开始。此模板隐藏了创建过程的一些细节,并对一些名称(例如暂存区名称)和功能进行了硬编码。在准备好创建自己的自定义外部函数后,您可以自定义模板的副本,也可以按照 在 AWS 上创建外部函数 中更灵活的说明进行操作。

如果您想自定义模板,可以了解有关 AWS CloudFormation (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-whatis-concepts.html) 的更多信息。

备注

这些说明假定您已经熟悉 AWS 管理。这些说明描述了您需要执行的一般步骤,但没有详细描述用户界面,因为界面可能会更改。

本主题内容:

上一步

规划用于 AWS 的外部函数

上传模板

  1. 返回 AWS 管理控制台。

  2. 在顶部搜索栏中,搜索 CloudFormation

  3. 在“服务”下,点击 CloudFormation

  4. 点击 Create stack

    如果要在 With new resources (standard)With existing resources (import resources) 之间进行选择,请选择 With new resources (standard)

  5. Create stack 页面的 Prepare template 下,选择 Template is ready

  6. 选择 Upload a template file

  7. 选择 Choose file

  8. 导航到包含模板副本的目录,然后选择模板。

  9. 点击 Next 进入要在其中输入角色名称等信息的页面。

    备注

    模板对某些资源使用默认名称。您可以对这些名称进行更改。

配置您的选项

模板中包含大多数字段的默认值。但是,您还需要输入一些值,例如您需要区域端点还是专用端点。

  1. 输入堆栈的名称。

  2. 输入您要使用的端点类型:“REGIONAL”或“PRIVATE”。

    如果您不确定要使用哪种类型,请选择“REGIONAL”。

    如果您选择“PRIVATE”,需更新 VPC ID (在模板中标记为“sourceVpcId”)。(有关查找 VPC ID 的说明,请参阅 规划用于 AWS 的外部函数。)

    有关端点的更多信息,包括不同类型端点的描述,请参阅 AWS 端点 (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-basic-concept.html) 和 选择端点类型:区域端点与专用端点

  3. 为 API Gateway IAM 角色(参数 apiGatewayIAMRoleName)输入名称。这是 Snowflake 为 API Gateway 进行授权时所承担的角色。确保该角色尚不存在,因为如果存在,模板将尝试更新该角色。

    在标题为 New IAM Role Name 的跟踪工作表字段中记录角色名称。

  4. 输入 Lambda 执行角色的名称(参数 lambdaExecutionRoleName)。Lambda 服务使用此角色来添加 CloudWatch 日志。确保该角色尚不存在,因为如果存在,模板将尝试更新该角色。

  5. 点击 Next

    此页面有一些用于模板部署的高级选项。

    1. (可选)设置高级选项,例如堆栈策略。(使用 Snowflake 提供的模板创建示例函数时不需要这些。但是,如果您对自定义的函数使用基于模板的部署,那么此时您可能需要自定义高级选项。)

    2. 点击 Next

  6. 在审查页面上,向下滚动到页面底部,并确认 CloudFormation 模板可能会创建具有自定义名称的 IAM 资源。之所以需要这样做,是因为该模板在部署过程中会创建两个 IAM 角色。

  7. 点击 Create stack

部署将需要几秒钟。部署完成后,您应该位于新创建的堆栈的 Events 选项卡上。创建的资源将列在 Resources 选项卡下。

下一步

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

语言: 中文