是否可以使用 aws-cdk 部署到 localstack?想过从无服务器切换到 cdk,但除了 aws SAM 之外找不到任何其他本地测试选项。
有时,当我运行时cdk deploy,它会创建一个 ECS 服务,然后挂起,因为我的配置做了“某些”错误 -
55/57 Currently in progress: MyServiceFA17513E
Run Code Online (Sandbox Code Playgroud)
有没有什么方法可以深入了解问题所在?似乎需要很长时间才能超时(小时+?)
我的CDK文件中有以下代码块:
\nconst artifactBucket = new s3.Bucket(this, "MyBucket", {\n bucketName: "cdk-cws-pipeline-artifacts",\n removalPolicy: cdk.RemovalPolicy.DESTROY,\n versioned: true, // a bucket used as a source in CodePipeline must be versioned\n});\n\n// code omitted for brevity\n\nconst pipeline = new codepipeline.Pipeline(this, "Pipeline", {\n artifactBucket: artifactBucket,\n // code omitted for brevity\n});\nRun Code Online (Sandbox Code Playgroud)\n一切都工作正常,直到我尝试删除堆栈。我收到这个错误:
\nAre you sure you want to delete: cdk-staging-CwsPipeline (y/n)? y\ncdk-staging-CwsPipeline: destroying...\n6:11:42 PM | DELETE_FAILED | AWS::S3::Bucket | MyBucketF68F3FF0\nThe bucket you tried to delete is not empty. You must delete all versions …Run Code Online (Sandbox Code Playgroud) AWS Step Functions 可以使用Step Functions Local Docker在本地 Docker 环境中运行。但是,需要使用基于 JSON 的Amazon States Language定义步骤函数。如果您的 AWS 基础设施(Step Functions 加 lambda)是使用 AWS CDK/CloudFormation 定义的,那么这根本不方便。
\n有没有办法从 CDK 或 CloudFormation 输出创建状态机的 Amazon States Language 定义,以便可以在本地运行步骤函数?
\n目前,我的开发周期需要 30 分钟才能在 AWS 中构建/部署/运行基于 Lambda 的步骤函数,以便对其进行测试,并且肯定有比这更好/更快的测试方法。
\namazon-web-services aws-cloudformation aws-step-functions aws-cdk
我有一个非常简单的 cdk 项目:
import * as cdk from '@aws-cdk/core';
import { TestStack } from '../lib/test-stack';
const app = new cdk.App();
new TestStack(app, 'TestStack');
Run Code Online (Sandbox Code Playgroud)
我可以使用 cdk deploy 轻松部署堆栈,并且堆栈的名称在 AWS 上为“TestStack”。到目前为止,一切都很好。但是我想控制cloudformation中堆栈的名称。有什么方法可以 fdo cdk 部署并更改 AWS 中堆栈的默认名称吗?
像 cdk deploy --stack-name SomeName 这样的东西?((堆栈名称是一个组成的命令))
我想知道这一点,因为我希望能够构建一个部署系统,该系统可以从单个 cdk 项目构建多个堆栈。根据输入参数,每个堆栈都会略有不同。就像是
cdk deploy --stackName Stack1 --parameters parameters1
cdk deploy --stackName Stack2 --parameters parameters2
cdk deploy --stackName Stack3 --parameters parameters3
Run Code Online (Sandbox Code Playgroud)
我最终将在 AWS 中同时拥有 Stack1、Stack2 和 Stack3。
我是 AWS 的 python 新手。我最初接触到了boto3,后来有人推荐了cdk。aws cdk 和 boto3 之间有什么区别?
app.synth()AWS CDK 应用程序中该行的用途是什么?例如,可以在第 29 行看到:
https: //github.com/aws-samples/aws-cdk-examples/blob/master/typescript/ecs/fargate-application-load-balanced-service/index.ts
我查看了 CDK 文档,但找不到该函数的实际用途。据我了解,该应用程序是在cdk deploy或上自动合成的cdk synth。我还采用了上面链接的存储库中显示的示例,注释掉该app.synth()行,部署它,它似乎按预期工作。因此我想知道当谈到 app.synth() 的目的时我是否遗漏了一些东西
javascript amazon-web-services aws-cloudformation typescript aws-cdk
我正在尝试通过 CDK 提供 lambda 并发性。我有几个 CfnFunctions,我需要配置它们。
只能在别名上进行配置。因此,当我将 autoPublishAlias 添加到 CfnFunction 时,APIG 触发器不起作用。
如何通过 CDK 实现(配置)供应?
谢谢,维诺德。
我一直在尝试使用 AWS CDK 以编程方式构建 CloudFormation 堆栈模板,但在使用CfnParameters 参数化模板时遇到问题。
当我在 json/yaml 中手动编写模板时,我ParameterGroups使用嵌套Parameters列表进行声明,并定义各个参数,包括类型、描述、AllowedPattern 等。然后在资源的定义中,我可以通过Ref值引用这些参数,例如
"CidrBlock": {
"Ref": "MyVpcCidr"
}
Run Code Online (Sandbox Code Playgroud)
我的问题是如何通过 CDK 使用此功能、定义参数并稍后在模板中引用它?
我尝试使用以下方法software.amazon.awscdk.core.CfnParameter,但收到错误
final CfnParameter myVpcCidrParameter =
CfnParameter.Builder.create(this, "MyVpcCidr")
.type("String")
.description("The CIDR block for the VPC")
.build();
final Vpc vpc =
Vpc.Builder.create(this, "vpc")
.cidr(myVpcCidrParameter.getValueAsString()) // <-- error on this line
.enableDnsSupport(true)
.enableDnsHostnames(true)
.build();
...
Run Code Online (Sandbox Code Playgroud)
错误指出
JsiiException:“cidr”属性必须是具体的 CIDR 字符串,已获得令牌
这似乎很合理,因为myVpcCidrParameter.getValueAsString()返回"${Token[TOKEN.10]}".
但是,我没有看到任何其他方法CfnParameter或Vpc.Builder允许我使用参数引用来指定属性值作为对我的参数的引用。
使用 CDK 构建包含参数和使用这些参数定义的资源的模板的正确方法是什么?
我有这个 CDK 代码:
const logGroup = new LogGroup(this, 'MyAppLogGroup', {
logGroupName: 'myapp',
retention: RetentionDays.ONE_DAY
});
Run Code Online (Sandbox Code Playgroud)
当我运行 时cdk deploy,会在 CloudWatch 中创建日志组,但当我运行 时cdk destroy,它不会被删除。有什么方法可以启用此功能吗?
aws-cdk ×10
amazon-s3 ×1
aws-lambda ×1
boto3 ×1
javascript ×1
parameters ×1
python ×1
serverless ×1
typescript ×1