是否有任何 AWS sdk API 可以提供特定 S3 存储桶中可用的对象/键的总数?不使用 isTruncated() , listObjects() 总迭代。
问问题
1884 次
2 回答
1
并不真地。我认为您有三个选择,具体取决于您现在的要求:
- 迭代每个对象。显而易见的答案,但也许是最不受欢迎的。
- 在 DynamoDB 之类的东西中维护您自己的运行状态。您可以在 S3 事件上使用触发器来更新您自己的值或使用 CloudWatch 指标。
- 每天使用S3 Inventory获取列表。
因此,根据紧迫性、一致性要求等,这些至少提供了一些选项。
于 2017-11-09T09:39:37.540 回答
0
我知道你说过没有使用 listObjects() 但我们可能知道你为什么不想使用它。
是因为获取所有对象数据所花费的时间还是因为该方法是异步的?
无论如何,亚马逊现在建议使用新的listObjectsV2(params, callback)方法。也许你可以用它来得到它。
像这样的东西
s3.listObjectsV2(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data.Contents.length);
});
于 2017-11-09T15:22:34.337 回答