标签: aws-cdk

在 AWS CDK 上创建 Glue 作业时出现问题

我正在尝试向 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)

amazon-web-services aws-glue aws-cdk

1
推荐指数
1
解决办法
2361
查看次数

通过 CloudFront 将 AppSync 与 CDK 结合使用

我想在 CloudFront 发行版后面部署 AppSync API。

CloudFront 发行版需要 HTTP 源,如何从一个 CDK 堆栈内的 API 对象获取此源?

amazon-cloudfront aws-appsync aws-cdk

1
推荐指数
1
解决办法
794
查看次数

使用 AWS CDK 更新基础设施是否安全

我们计划使用基于AWS CDK的无服务器堆栈工具包部署无服务器后端。

我知道某些 AWS 资源无法更新。例如,无法在现有 dynamodb 表上创建新的排序键。我认为此更新是使用 AWS CDK 自动实现的:要更新的表被销毁,然后使用新架构创建。这可能会对生产中的现有应用程序造成巨大的问题......

我们如何确定哪种更新是安全的,哪种更新是关键的?

如果您使用 AWS CDK,如何管理基础设施更新?

updates amazon-web-services serverless aws-cdk

1
推荐指数
1
解决办法
1486
查看次数

如何设置我的 HostedZone,以便将其委托给另一个 AWS 账户中的父 DNS 记录?

介绍

我有一些使用 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)

amazon-web-services amazon-route53 aws-lambda aws-cdk

1
推荐指数
1
解决办法
6657
查看次数

在 CDKPipeline SynthAction 中配置运行时版本

我们正在通过 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 步骤?

我是否忽略了任何选择,或者这真的是唯一的方法吗?如果是这样,是否值得提出功能请求来将运行时版本配置为合成动作的一部分?

aws-cdk

1
推荐指数
1
解决办法
1207
查看次数

通过 CDK 创建动态 S3 存储桶名称

我尝试使用以下代码通过 CDK 创建 S3 存储桶

const myBucket = new Bucket(this, 'mybucket', {
  bucketName: `NewBucket`
});
Run Code Online (Sandbox Code Playgroud)

由于 S3 存储桶名称是唯一的,当我尝试上传到另一个帐户时,堆栈部署失败。

我可以在每次部署时手动更改存储桶名称,但是有没有办法让我动态添加“NewBucket-${Stack.AWSaccountId}”,以便每当将堆栈部署到任何 aws 帐户存储桶时,都会创建没有任何错误的存储桶名称

amazon-s3 amazon-web-services aws-cdk

1
推荐指数
1
解决办法
5105
查看次数

在 React 中单击按钮时调用 Lambda 函数

首先,我只想说我对 AWS 总体来说还是个新手(1-2 周)。所以我可能从一开始就认为不正确。

我正在开发一个应用程序,我想在 JSX 中单击按钮并触发 Lambda 函数,该函数从 dynamodb 表获取数据并将其显示在 UI 中。

我正在使用 aws cdk 将基础设施编写为代码。我该怎么面对这个?您有我可以遵循的指南吗?

amazon-web-services aws-lambda serverless aws-cdk

1
推荐指数
1
解决办法
5252
查看次数

AWS CDK 给出错误 EISDIR:对目录进行非法操作,读取

我按照以下步骤安装 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)

amazon-web-services aws-cdk

1
推荐指数
1
解决办法
1213
查看次数

创建解析程序以通过 AppSync 更新 dynamoDB 项目 - AWS CDK

因此,我创建了一个解析器来使用以下代码在表中创建一个项目。

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)

我似乎找不到一个可以在更新操作中复制相同内容的方法。任何帮助表示赞赏。谢谢

amazon-dynamodb typescript aws-appsync aws-cdk

1
推荐指数
1
解决办法
1316
查看次数

打字稿错误:无法分配给类型参数(相同类型不同文件夹)

我目前正在开发 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)

amazon-web-services typescript aws-cdk

1
推荐指数
1
解决办法
1235
查看次数