Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services API来了解特定S3存储桶中可用的对象/键的数量?_Amazon Web Services_Amazon S3_Aws Sdk_Amazon Cloudwatch_Amazon Cloudwatch Metrics - Fatal编程技术网

Amazon web services API来了解特定S3存储桶中可用的对象/键的数量?

Amazon web services API来了解特定S3存储桶中可用的对象/键的数量?,amazon-web-services,amazon-s3,aws-sdk,amazon-cloudwatch,amazon-cloudwatch-metrics,Amazon Web Services,Amazon S3,Aws Sdk,Amazon Cloudwatch,Amazon Cloudwatch Metrics,是否有任何AWS sdk API可以提供特定S3存储桶中可用对象/密钥的总数? 在不使用isTruncated()的情况下,listObjects()将完成整个迭代。不太可能。我认为根据您目前的要求,您有三种选择: 迭代每个对象。答案显而易见,但可能是最不受欢迎的 在DynamoDB中保持自己的运行状态。您可以在S3事件上使用触发器来更新自己的值或使用CloudWatch度量 使用获取每天的列表 因此,根据紧迫性、一致性要求等,这些至少提供了一些选项 我知道您说过没有使用listObjects(

是否有任何AWS sdk API可以提供特定S3存储桶中可用对象/密钥的总数?
在不使用isTruncated()的情况下,listObjects()将完成整个迭代。

不太可能。我认为根据您目前的要求,您有三种选择:

  • 迭代每个对象。答案显而易见,但可能是最不受欢迎的
  • 在DynamoDB中保持自己的运行状态。您可以在S3事件上使用触发器来更新自己的值或使用CloudWatch度量
  • 使用获取每天的列表

  • 因此,根据紧迫性、一致性要求等,这些至少提供了一些选项

    我知道您说过没有使用listObjects(),但我们可以知道您为什么不想使用它

    这是因为获取所有对象数据所花费的时间,还是因为该方法是异步的

    无论如何,亚马逊现在建议使用新方法。也许你可以用它来得到它

    像这样的

    s3.listObjectsV2(params, function(err, data) {
        if (err) console.log(err, err.stack); // an error occurred
        else console.log(data.Contents.length); 
    });
    

    让我告诉你我正在努力构建什么。我正在构建dashboad之类的东西,它将显示一个bucket中所有可用对象的计数(它可以有一百万个小尺寸的对象)。实际上,我不需要对象的任何其他细节。这就是我寻找listObjects()替代方法的原因,它将遍历所有对象,然后找到计数。顺便问一下,您是否有任何方便的链接来描述listObjects()和listObjectsV2()之间的差异为了了解两者之间的区别以及性能如何提高等等,请向我推荐满足我要求的最佳方法。@Swaroop我发现以下内容与S3 List Objects API的版本1不同,版本2默认情况下不获取对象所有者信息,S3A无论如何都不需要这些信息。通过切换到v2,传输/处理的数据将减少。此外,当列出具有“大量删除标记”的版本化存储桶时,它应该更加健壮