Ame*_*wan 5 sam aws-api-gateway aws-sam-cli aws-sam aws-cdk
我正在尝试创建一个与 API 网关关联的 lambda 函数。
每当部署新版本时,都会为该函数创建一个新的 lambda 版本,该版本将具有此 ARN arn:lambda_arn:[version]
。
此外,还需要创建一个新的 API 网关阶段并与该 lambda 版本集成。
当我部署 CF 堆栈时:
dev
创建名为与 lambda 别名dev
( ) 集成的API 网关阶段arn:lambda:dev
,并保留此阶段,从 lambda 设置手动管理别名。我已经尝试使用 sam cli yaml 模板以及 aws cdk 来实现此目的,但这是我面临的问题:
http_api = apigwv2.HttpApi(self, "cdk_http_api")
Run Code Online (Sandbox Code Playgroud)
尽管我可以为该 HttpApi 创建多个阶段,但所有阶段都将具有完全相同的集成和路由。
创建部署会很有用,但即使我无法使用不同的集成(使用不同版本的 lambda)创建不同的部署
deployment = apigwv2.CfnDeployment(
self, "first_deployment", api_id=http_api.api_id, stage_name="test"
)
Run Code Online (Sandbox Code Playgroud)
我也无法将它附加到舞台上!与下面提到的 ApiGatewayV1 不同
在 cdk 中,当我部署新的 lambda 版本时,之前的 lambda 版本将被删除。
在 Sam CLI 中,当我将AutoPublishAlias
属性设置为函数时,会创建一个新版本,并且指定的别名将转移到该新版本,但幸运的是,它不会删除旧版本。
我怎样才能实现我想要的
不重复此答案,因为它使用支持部署的 ApiGatewayV1,但遗憾的是 ApiGatewayV2 不支持。
归档时间: |
|
查看次数: |
554 次 |
最近记录: |