
[英]AWS CDK : how to get 'Arn' of an already created role or policy by their names
[英]How to export already created (via web console) services to CDK locally and be able to deploy/update them?
现在的情况:
我有一个 AWS API 网关引用一些 AWS Lambdas,一些 Lambdas 查询 DynamoDB 实例。
以上所有内容都是通过 AWS web 控制台手动创建和处理的。 没有 cloudformation 模板。
^ 我也希望能够使用 CDK 在本地拥有它:
我想应用一些健康的开发人员程序并在本地创建一个 CDK 文件系统,用于测试、管理部署、通过 GitHub 或 AWS 在该领域提供的任何内容(尚未涉及该部分)管理版本控制。
我注意到关于如何做到这一点的信息为 0%。 大多数教程遵循以下情况:
请帮我想出最好的方法来做到这一点。 一些出现但实际上没有做的事情:
您必须将现有资源导入 CDK。
TL;DR使用cdk import
获取支持的资源。 从导出的 OpenApi 定义重新创建 RestApi。
cdk import
CDK 具有实验性的导入功能,可以将现有的控制台创建的资源置于 CDK 管理之下。 cdk import CLI 命令搭载了相关的 CloudFormation 资源导入操作。
并非所有资源都支持导入操作。 支持AWS::Lambda::Function
和AWS::DynamoDB::Table
资源。 您还必须考虑辅助资源,例如 Lambda 的执行角色(支持导入AWS::IAM::Role
)。
资源导入从手动配置与现有云端配置相匹配的 CDK 堆栈开始。 为了指导您的工作,例如,在 CDK 中重新创建dynamodb.Table
,请考虑运行DescribeTable API 以获取当前配置的转储。 由于涉及手动工作,将导入的精力集中在有状态资源上并考虑简单地销毁和重建无状态资源是明智的。
应用程序完成后,运行cdk import
命令。 之后,可以像修改任何其他 CDK 资源一样修改导入的资源。
AWS::ApiGateway::RestApi
不在 import 1支持的资源列表中。 Api 网关的 B 计划是将 API 导出为 OpenAPI 定义2 。 然后使用ApiDefinition.fromAsset方法将 JSON 作为 API 定义传递给 CDK RestApi 构造。 这将创建一个新的 API,而不是导入它本身。
AWS::ApiGateway
资源是支持导入的,比如Resource, Stage, Model和Method。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.