第 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 管理控制台。
在顶部搜索栏中,搜索 CloudFormation。
在“服务”下,点击 CloudFormation。
点击 Create stack。
如果要在 With new resources (standard) 或 With existing resources (import resources) 之间进行选择,请选择 With new resources (standard)。
在 Create stack 页面的 Prepare template 下,选择 Template is ready。
选择 Upload a template file。
选择 Choose file。
导航到包含模板副本的目录,然后选择模板。
点击 Next 进入要在其中输入角色名称等信息的页面。
备注
模板对某些资源使用默认名称。您可以对这些名称进行更改。
配置您的选项¶
模板中包含大多数字段的默认值。但是,您还需要输入一些值,例如您需要区域端点还是专用端点。
输入堆栈的名称。
输入您要使用的端点类型:“REGIONAL”或“PRIVATE”。
如果您不确定要使用哪种类型,请选择“REGIONAL”。
如果您选择“PRIVATE”,需更新 VPC ID (在模板中标记为“sourceVpcId”)。(有关查找 VPC ID 的说明,请参阅 规划用于 AWS 的外部函数。)
有关端点的更多信息,包括不同类型端点的描述,请参阅 AWS 端点 (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-basic-concept.html) 和 选择端点类型:区域端点与专用端点。
为 API Gateway IAM 角色(参数 apiGatewayIAMRoleName)输入名称。这是 Snowflake 为 API Gateway 进行授权时所承担的角色。确保该角色尚不存在,因为如果存在,模板将尝试更新该角色。
在标题为
New IAM Role Name
的跟踪工作表字段中记录角色名称。输入 Lambda 执行角色的名称(参数 lambdaExecutionRoleName)。Lambda 服务使用此角色来添加 CloudWatch 日志。确保该角色尚不存在,因为如果存在,模板将尝试更新该角色。
点击 Next。
此页面有一些用于模板部署的高级选项。
(可选)设置高级选项,例如堆栈策略。(使用 Snowflake 提供的模板创建示例函数时不需要这些。但是,如果您对自定义的函数使用基于模板的部署,那么此时您可能需要自定义高级选项。)
点击 Next。
在审查页面上,向下滚动到页面底部,并确认 CloudFormation 模板可能会创建具有自定义名称的 IAM 资源。之所以需要这样做,是因为该模板在部署过程中会创建两个 IAM 角色。
点击 Create stack。
部署将需要几秒钟。部署完成后,您应该位于新创建的堆栈的 Events 选项卡上。创建的资源将列在 Resources 选项卡下。