使用 CDK 中的默认值填充 dynamodb 表

Djl*_*nux 4 amazon-web-services amazon-dynamodb aws-cdk

我正在开发一个CDK项目,在该项目中我需要使用一些默认项目填充我使用 CDK 创建的 dynamodb 表。如何使用 AWS-CDK 实现这一目标?如果没有,是否有任何选项可以在创建 dynamodb 表后运行辅助脚本。

小智 6

这是有关如何使用自定义资源填充 DynamoDB 表的示例:

import * as cr from '@aws-cdk/custom-resources';

const dynamoDb = new Table(this, 'UserDatabase', {
  partitionKey: { name: 'Name', type: AttributeType.STRING, },
  pointInTimeRecovery: true,
  billingMode: BillingMode.PAY_PER_REQUEST,
  timeToLiveAttribute: 'ttl'
});

new cr.AwsCustomResource(this, 'initTable', {
      onCreate: {
        service: 'DynamoDB',
        action: 'putItem',
        parameters: {
            TableName: dynamoDb.tableName,
            Item: { Name: { S: "User1" } }
        },
        physicalResourceId: cr.PhysicalResourceId.of(dynamoDb.tableName + '_initialization')
      },
      policy: cr.AwsCustomResourcePolicy.fromSdkCalls({ resources: cr.AwsCustomResourcePolicy.ANY_RESOURCE }),
    });
Run Code Online (Sandbox Code Playgroud)

以下文章帮助我让它工作:https://dev.to/elthrasher/exploring-aws-cdk-loading-dynamodb-with-custom-resources-jlf