gpt4 book ai didi

amazon-dynamodb - 通过 CDK 或 cloudformation 创建 DynamoDB 或其他有状态资源的标准方法

转载 作者:行者123 更新时间:2023-12-03 07:28:55 25 4
gpt4 key购买 nike

我正在尝试创建一个 CDK 包,其中需要一个 SNS、一个 lambda 和一个 DynamoDB。现在,可以使用CDK包生成无状态的SNS和lambda。

因此,这意味着代码的更改需要重新部署整个包,这意味着需要再次创建 SNS。

如果我对 DynamoDB 执行此操作,我认为我将丢失存储在其中的数据,因为它将被重新创建。

想要了解使用 CDK 创建有状态资源的标准方法。

最佳答案

在这种情况下,您希望在 DynamoDb 资源上使用 removalPolicy: RemovalPolicy.RETAIN。假设您的表名称是 mytable。那么 JavaScript 中的 CDK 实现(将其调整为您最喜欢的语言)可能如下所示:

const { RemovalPolicy } = require("aws-cdk-lib");
const { AttributeType, Table } = require("aws-cdk-lib/aws-dynamodb");
const { Construct } = require("constructs");

class Database extends Construct {

constructor(scope, id) {
super(scope, id);
this.myTable = this.createMyTable();
}

createMyTable() {
const myTable = new Table(this, 'myTable', {
partitionKey: {
name: 'id',
type: AttributeType.STRING
},
tableName: 'myTable',
removalPolicy: RemovalPolicy.RETAIN, // <----- Make sure to retain your old table on destroy
});

return myTable;
};
}

module.exports = { Database };

关于amazon-dynamodb - 通过 CDK 或 cloudformation 创建 DynamoDB 或其他有状态资源的标准方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73164921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com