如何将 DynamoDB 备份恢复到本地 DynamoDB instance/container?

How can I restore a DynamoDB backup to a local DynamoDB instance/container?

我已经在 AWS 控制台中备份了 DynamoDB table。我能够在本地下载文件。我想将该文件导入本地 dynamodb 实例进行测试。我已经足够创建 table,但是备份 json 格式似乎与 .NET AWS SDK APIs(有很多 TLA)匹配得不好.

示例备份内容:

{"Item":{"Attributes":{"M":{"createdAt":{"N":"1611923095468"},"eventDate":{"S":"2021-01-30T17:00:00.000Z"} }},"PartitionKey":{"S":"1234"},"SortKey":{"S":"1"}}}
{"Item":{"Attributes":{"M":{"createdAt":{"N":"1611923095468"},"eventDate":{"S":"2021-01-30T17:00:00.000Z"} }},"PartitionKey":{"S":"1234"},"SortKey":{"S":"2"}}}

.NET APIs 似乎想要将 JSON 转换为非 dynamodb 属性格式,所以期望它是这样的:

{
    "Item": {
        "Attributes": {
            "createdAt": "1611923095468",
            "eventDate": "2021-01-30T17:00:00.000Z"
        },
        "PartitionKey": "1234",
        "SortKey": "1"
    }
}

所以,我想做类似的事情:

var json = "{}"; // ORIGINAL CONCATENATED JSON FROM ABOVE 
Document.FromJson(json)

有没有我遗漏的 API 可以将其转换成我可以加载到 dynamodb 中的某种格式?同样,使用 .NET,但为此开放任何 tools/utils。

这是我想出的js脚本。似乎成功了:

var DDB = require("@aws-sdk/client-dynamodb");
var fs = require('fs');
const ddb = new DDB.DynamoDB({ region: 'local', endpoint: 'http://localhost:8000' });

(async function test() {
    const text = fs.readFileSync('./bmorer2e5e3pfflf7qmuhhnpwy.json', 'utf8');

    text.toString().split('\n').map(async (line) => {
        if (line) await saveLine(line)
    });
})();

async function saveLine(line) {
    let item = JSON.parse(line);
    item.TableName = 'TABLE_NAME';
    item.ReturnConsumedCapacity = 'TOTAL';

    const res = await ddb.putItem(item);
    console.log(res.ConsumedCapacity);
}