场景: 假设单个 s3 存储桶包含 300 多个对象,所有这些对象的总大小范围为 1GB-2.5GB 我将拥有多个这样的 s3 存储桶。但是,为了简单起见,我只需要 1 个 s3 存储桶即可。
在问这个问题之前,我确实检查了相关链接,例如将 parquet 文件从 S3 加载到 DynamoDB
但是,对于我的用例:
到目前为止我做了什么?
然而,就 DynamoDB 写入花费的资金而言,上述方法的成本也很高。
因此,上面链接中提到的用例非常适合我,即
我只是被困在镶木地板转换上
然后我想出了第二种方法:
但是,我不确定第二种方法是否会消耗任何 WriteCapacity,否则所有这些节省写入成本的努力都将付诸东流。
有什么指示还是我只是想错了方向?
我将在未来 1-2 个月内发布一篇博客文章来解决这个问题,目前正处于草稿阶段。
本质上,您需要做的是从镶木地板数据创建 DDB-JSON。您可以使用 boto3 中的序列化器来做到这一点:
https://boto3.amazonaws.com/v1/documentation/api/1.24.61/_modules/boto3/dynamodb/types.html
创建适合导入所需格式的项目的 S3 文件:
{Item:{....}},