问题描述
在使用AWS API Gateway时,用户在创建了两个API名称并将其与Lambda函数集成后,AWS文档建议对此API进行部署。如下图所示:
用户有以下疑问:
1. 部署API是什么意思?创建API网关与部署API有什么不同?
2. 部署API选项是否会在内部创建CloudFormation模板?进而创建一个堆栈并进行部署?
解决方案
在进行以下操作之前,请确保您具备必要的AWS账户权限和了解相关AWS服务的基本概念。
问题1 – 创建API与部署API的区别
在AWS API Gateway中,创建API(Create API)和部署API(Deploy API)是两个不同的步骤,它们分别用于不同的目的。
创建API: 创建API(使用命令行中的
create-rest-api
)只是创建了API Gateway的资源本身,但它并不会为您的API Gateway创建方法、阶段、授权等。部署API: 部署API(使用命令行中的
create-deployment
)将API部署到一个已创建的阶段(stage)中,或者创建一个新的阶段并进行部署。
因此,创建API是为了定义API Gateway的基本结构,而部署API是将您的API置于特定的阶段,使其可以通过公共URL进行访问。
问题2 – 部署API选项是否会创建CloudFormation模板?
不会。 部署API选项不会在您的AWS账户中创建CloudFormation堆栈。CloudFormation是AWS提供的一项服务,用于将基础设施定义编写为模板,并在需要时进行自动化部署。
部署API仅涉及将您的API从API Gateway中的一个阶段部署到另一个阶段,或创建一个新的阶段并将API部署到其中。它不会涉及创建或管理CloudFormation模板。
故障排除
如果您遇到部署API过程中的问题,您可以参考Stack Overflow上的这个问题:How to troubleshoot such issue? 来获取帮助。
请注意,为了进行AWS API Gateway的高效使用,建议您深入了解API创建、部署、管理以及与其他AWS服务的集成方式。
总结: 在使用AWS API Gateway时,首先需要创建API定义,然后将API部署到一个特定的阶段,以便可以通过公共URL访问API。部署API并不涉及创建CloudFormation堆栈。
希望这些解答对您在AWS API Gateway中创建和部署API时有所帮助!如有更多问题,请随时提问。