我正在尝试向 AWS CDK 上的粘合作业添加默认参数,特别是启用的书签选项。继续收到同样的错误:
Error: Resolution error: Supplied properties not correct for "CfnJobProps" defaultArguments: "--job-bookmark-option: job-bookmark-enable" should be an 'object'.
我的博德如下:
glueETLJob = _glue.CfnJob(
self,
glueJobName,
command =_glue.CfnJob.JobCommandProperty(
name = glueJobName,
python_version= '3',
script_location = config_bucket_arn + "/code/gluejob.py"
),
role=glueJobRole.role_arn,
glue_version='1.0',
max_retries=0,
timeout=30,
security_configuration=glueSecurityConfiguration.ref,
default_arguments=str("--job-bookmark-option: job-bookmark-enable"),
description="glue job"
)
Run Code Online (Sandbox Code Playgroud) 我想在 CloudFront 发行版后面部署 AppSync API。
CloudFront 发行版需要 HTTP 源,如何从一个 CDK 堆栈内的 API 对象获取此源?
我们计划使用基于AWS CDK的无服务器堆栈工具包部署无服务器后端。
我知道某些 AWS 资源无法更新。例如,无法在现有 dynamodb 表上创建新的排序键。我认为此更新是使用 AWS CDK 自动实现的:要更新的表被销毁,然后使用新架构创建。这可能会对生产中的现有应用程序造成巨大的问题......
我们如何确定哪种更新是安全的,哪种更新是关键的?
如果您使用 AWS CDK,如何管理基础设施更新?
我有一些使用 CDK 创建 API 网关和 Lambda 的 TypeScript 代码。它可以工作并部署到标准 AWS URL。到目前为止,一切都很好。
我现在需要转移 API 网关,以便它在自定义域上运行,以便它可以在 Web 应用程序中设置 cookie。事实证明,这要困难得多,我怀疑我遇到了困难,因为我同时对 TypeScript、AWS 和 CDK 都是新手。网络上有许多文档资源,但大多数都要求我重写我拥有的宝贵的少量工作代码,但我不愿意这样做。
我已经手动创建了一个证书,因为这需要验证,因此在代码中创建它没有意义。除此之外,我希望所有其他资源都由堆栈中的 CDK 代码创建。在我看来,如果我必须手动配置,就违背了 CDK 的目的。
下面的代码部署了我需要的一切gatekeeper.d.aws.example.com- HostedZone、ARecord、LambdaRestApi 和 Function (lambda)。但是它不起作用,因为新分配的 NS 记录与gatekeeper.d.aws.example.com父记录中的记录不匹配d.aws.example.com。
我认为这意味着虽然d.aws.example.com是“已知”的,但gateway子域不能委托给它。
这是我的工作代码:
// Create the lambda resource
const referrerLambda = new lambda.Function(this, 'EisReferrerLambda', {
runtime: lambda.Runtime.NODEJS_14_X,
handler: 'index.handler',
code: lambda.Code.fromAsset(path.join(__dirname, '../../src/lambda')),
environment: env
});
// Set up the domain name on which the API should …Run Code Online (Sandbox Code Playgroud) 我们正在通过 CDKPipeline 构造部署 Go Lambda,并且需要编译 Go 代码作为合成步骤的一部分。
现在我们想要更新到 1.15,这只有使用新的 Codebuild Standard 5.0 才有可能。Codebuild Image 本身可通过 SimpleSynthOptions 字段进行配置environment。但似乎没有直接的方法来传递运行时版本。这是引入的一个字段,它是在install:key下定义的。( https://docs.aws.amazon.com/codebuild/latest/userguide/sample-runtime-versions.html ),但安装步骤在类中完全不可配置SimpleSynthAction。
我目前看到的唯一方法是重写类bind中的函数SimpleSynthAction。从我所见,似乎也没有办法在 Synth 步骤之前引入单独的 Codebuild 步骤?
我是否忽略了任何选择,或者这真的是唯一的方法吗?如果是这样,是否值得提出功能请求来将运行时版本配置为合成动作的一部分?
我尝试使用以下代码通过 CDK 创建 S3 存储桶
const myBucket = new Bucket(this, 'mybucket', {
bucketName: `NewBucket`
});
Run Code Online (Sandbox Code Playgroud)
由于 S3 存储桶名称是唯一的,当我尝试上传到另一个帐户时,堆栈部署失败。
我可以在每次部署时手动更改存储桶名称,但是有没有办法让我动态添加“NewBucket-${Stack.AWSaccountId}”,以便每当将堆栈部署到任何 aws 帐户存储桶时,都会创建没有任何错误的存储桶名称
首先,我只想说我对 AWS 总体来说还是个新手(1-2 周)。所以我可能从一开始就认为不正确。
我正在开发一个应用程序,我想在 JSX 中单击按钮并触发 Lambda 函数,该函数从 dynamodb 表获取数据并将其显示在 UI 中。
我正在使用 aws cdk 将基础设施编写为代码。我该怎么面对这个?您有我可以遵循的指南吗?
我按照以下步骤安装 AWS CDK
npm 安装-g aws-cdk
这有助于在我的计算机中安装 aws-cdk。命令 cdk --version 显示正确的安装版本。但是,当我使用任何其他 cdk 命令时,它会抛出 EISDIR: 对目录非法操作,读取错误。
如果在 stackoverflow 上发现许多问题都有相同的错误,这是特定于节点的。
在这里我很困惑,因为我可以使用 Node.js 运行任何 app.js (Hello world 程序)文件。运行得很好。这说明nodejs是没问题的。
“cdk ls -v”的详细输出如下
D:\Users\ykumar>cdk ls -v
CDK toolkit version: 1.113.0 (build 61e1f65)
Command line arguments: {
_: [ 'ls' ],
v: 1,
verbose: 1,
lookups: true,
'ignore-errors': false,
ignoreErrors: false,
json: false,
j: false,
debug: false,
ec2creds: undefined,
i: undefined,
'version-reporting': undefined,
versionReporting: undefined,
'path-metadata': true,
pathMetadata: true,
'asset-metadata': true,
assetMetadata: true,
'role-arn': undefined,
r: …Run Code Online (Sandbox Code Playgroud) 因此,我创建了一个解析器来使用以下代码在表中创建一个项目。
const configSettingsDS = api.addDynamoDbDataSource('configSettingsDynamoTable', configurationSettingsTable);
configSettingsDS.createResolver({
typeName:'Mutation',
fieldName: 'createConfigSettings',
requestMappingTemplate: appsync.MappingTemplate.dynamoDbPutItem(
appsync.PrimaryKey.partition('id').auto(),
appsync.Values.projecting('configSettings')),
responseMappingTemplate: appsync.MappingTemplate.dynamoDbResultItem(),
});
Run Code Online (Sandbox Code Playgroud)
我似乎找不到一个可以在更新操作中复制相同内容的方法。任何帮助表示赞赏。谢谢
我目前正在开发 aws cdk,其中使用 Typescript 进行设置。我有一个问题,我有相同的库,但它们被称为不同类型。
编译错误:
Argument of type 'import("/Users/Smit/Documents/Dev/aws-cdk/cdk-cloud-formation-appreciation-dashboard/node_modules/@aws-cdk/core/lib/cfn-output").CfnOutput' is not assignable to parameter of type 'import("/Users/Smit/Documents/Dev/aws-cdk/cdk-cloud-formation-appreciation-dashboard/node_modules/@aws-cdk/aws-codestarnotifications/node_modules/@aws-cdk/core/lib/cfn-output").CfnOutput'.
Types have separate declarations of a private property '_description'.
Run Code Online (Sandbox Code Playgroud)
Argument of type 'CdkCloudFormationAppreciationDashboardStage' is not assignable to parameter of type 'Stage'.
Types of property '_assemblyBuilder' are incompatible.
Type 'import("/Users/Smit/Documents/Dev/aws-cdk/cdk-cloud-formation-appreciation-dashboard/node_modules/@aws-cdk/cx-api/lib/cloud-assembly").CloudAssemblyBuilder' is not assignable to type 'import("/Users/Smit/Documents/Dev/aws-cdk/cdk-cloud-formation-appreciation-dashboard/node_modules/@aws-cdk/aws-codestarnotifications/node_modules/@aws-cdk/cx-api/lib/cloud-assembly").CloudAssemblyBuilder'.
Types have separate declarations of a private property 'artifacts'.ts(2345)
Run Code Online (Sandbox Code Playgroud)
代码:
// This is where we add the application stages
const preprod = new CdkCloudFormationAppreciationDashboardStage(this, 'PreProd', {
env: …Run Code Online (Sandbox Code Playgroud) aws-cdk ×10
aws-appsync ×2
aws-lambda ×2
serverless ×2
typescript ×2
amazon-s3 ×1
aws-glue ×1
updates ×1