如何在AWS CDK中的API Gateway部署中使用现有阶段?

情报学

我有一个具有资源和阶段的现有API网关。我通过aws cdk向其中添加新资源。网关配置有deploy:false,因此我必须为其手动创建一个新的部署。我可以导入网关,但是在Stage类中找不到类似的方法(fromLookup?)。我知道我可以创建一个新阶段,但这听起来不像是可扩展的解决方案。

代码如下:

const api = apigateway.RestApi.fromRestApiAttributes(this, 'RestApi', {
  restApiId: 'XXX',
  rootResourceId: 'YYYY',
});

const deployment = new apigateway.Deployment(this, 'APIGatewayDeployment', {
  api,
});

// How to get an existing stage here instead of creating a new one?
const stage = new apigateway.Stage(this, 'test_stage', {
  deployment,
  stageName: 'dev',
});

api.deploymentStage = stage;
卢西亚诺·范托尼

今天,我面临着同样的问题,但是我发现,如果您为部署资源设置stageName属性,它将使用现有的阶段。

如果查看CloudFormation文档中的Deployment资源,则它具有StageName属性(https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html)。

但是如果您检查CDK的Deployment实施,则不支持stageName属性(https://github.com/aws/aws-cdk/blob/master/packages/@aws-cdk/aws-apigateway/ lib / deployment.ts#L71),并按照Deployment类的扩展,它从从CfnResource扩展开始,该CfnResource期望在构造函数中具有stageName值。

因此,我最终通过执行以下操作来迫使Deployment资源选择我想要的值:

const api = apigateway.RestApi.fromRestApiAttributes(this, 'RestApi', {
  restApiId: 'XXX',
  rootResourceId: 'YYYY',
});

const deployment = new apigateway.Deployment(this, 'APIGatewayDeployment', {
  api,
});

deployment.resource.stageName = 'YourStageName';

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在AWS Redshift中向现有表添加排序键

来自分类Dev

如何在Visual Studio 2010中使用DEF文件从现有C ++代码生成DLL

来自分类Dev

在AWS API Gateway中-如何为测试调用阶段设置阶段变量?

来自分类Dev

如何在Windows中的(现有)mySQL名称中使用大写字母

来自分类Dev

如何在AWS API Gateway中创建父资源?

来自分类Dev

如何在travis部署脚本中运行AWS Configure?

来自分类Dev

如何在具有16个以上子网的VPC中使用AWS CDK创建ECS服务

来自分类Dev

如何在AWS CDK中创建侦听器规则?

来自分类Dev

AWS CDK如何在IAM策略中包含主体?

来自分类Dev

如何在AWS CDK中导入现有的VPC?

来自分类Dev

如何在Lambda / Node JS中为API Gateway AWS添加CORS标头

来自分类Dev

使用AWS CDK设置API Gateway和Fargate时“执行失败”

来自分类Dev

如何在AWS RedShift中列出所有存储过程

来自分类Dev

使用AWS CDK部署多个API网关阶段

来自分类Dev

如何在CDK中将API Gateway与s3集成

来自分类Dev

如何在AWS API Gateway中传递查询字符串参数?

来自分类Dev

如何在AWS CDK中使用内在函数!sub方法?

来自分类Dev

如何使用AWS CDK查找现有的ApiGateway

来自分类Dev

如何使用AWS CDK查找现有的ApiGateway

来自分类Dev

如何在mongo中使用$ addFields将元素添加到现有文档中?

来自分类Dev

如何在CDK(AWS)中获取api密钥的值

来自分类Dev

AWS API Gateway,带有CDK的默认基本映射

来自分类Dev

如何在Visual Studio 2010中使用DEF文件从现有C ++代码生成DLL

来自分类Dev

如何在Jmeter中使用现有的Java API测试

来自分类Dev

带有Python-EVE“位置”的AWS API Gateway在已部署的API中不起作用

来自分类Dev

如何在grails中列出所有aws区域

来自分类Dev

如何在 angular 中使用动态加载的模块组件中的现有组件

来自分类Dev

如何在 AWS Lambda 中管理部署

来自分类Dev

如何在 AWS API Gateway 中使用分段 URL?

Related 相关文章

  1. 1

    如何在AWS Redshift中向现有表添加排序键

  2. 2

    如何在Visual Studio 2010中使用DEF文件从现有C ++代码生成DLL

  3. 3

    在AWS API Gateway中-如何为测试调用阶段设置阶段变量?

  4. 4

    如何在Windows中的(现有)mySQL名称中使用大写字母

  5. 5

    如何在AWS API Gateway中创建父资源?

  6. 6

    如何在travis部署脚本中运行AWS Configure?

  7. 7

    如何在具有16个以上子网的VPC中使用AWS CDK创建ECS服务

  8. 8

    如何在AWS CDK中创建侦听器规则?

  9. 9

    AWS CDK如何在IAM策略中包含主体?

  10. 10

    如何在AWS CDK中导入现有的VPC?

  11. 11

    如何在Lambda / Node JS中为API Gateway AWS添加CORS标头

  12. 12

    使用AWS CDK设置API Gateway和Fargate时“执行失败”

  13. 13

    如何在AWS RedShift中列出所有存储过程

  14. 14

    使用AWS CDK部署多个API网关阶段

  15. 15

    如何在CDK中将API Gateway与s3集成

  16. 16

    如何在AWS API Gateway中传递查询字符串参数?

  17. 17

    如何在AWS CDK中使用内在函数!sub方法?

  18. 18

    如何使用AWS CDK查找现有的ApiGateway

  19. 19

    如何使用AWS CDK查找现有的ApiGateway

  20. 20

    如何在mongo中使用$ addFields将元素添加到现有文档中?

  21. 21

    如何在CDK(AWS)中获取api密钥的值

  22. 22

    AWS API Gateway,带有CDK的默认基本映射

  23. 23

    如何在Visual Studio 2010中使用DEF文件从现有C ++代码生成DLL

  24. 24

    如何在Jmeter中使用现有的Java API测试

  25. 25

    带有Python-EVE“位置”的AWS API Gateway在已部署的API中不起作用

  26. 26

    如何在grails中列出所有aws区域

  27. 27

    如何在 angular 中使用动态加载的模块组件中的现有组件

  28. 28

    如何在 AWS Lambda 中管理部署

  29. 29

    如何在 AWS API Gateway 中使用分段 URL?

热门标签

归档