如何根据日期获取s3存储桶中的所有对象?

时间:2018-11-07 14:24:22

标签: bash shell amazon-s3

这是我的用例-存储桶中的对象带有日期后缀,例如: file-2018-10-10file-2018-10-15

如果有人要输入2018-10-12,那么我的工具将来应该下载最近的文件,在这种情况下,文件将为file-2018-10-15

为此,我首先计划列出存储桶并遍历所有S3-Key。

  1. 是否可以列出“反向排序”的键
  2. 是否有任何Shell脚本示例列出“反向排序”列表?

2 个答案:

答案 0 :(得分:1)

不,您不能以相反的顺序列出密钥,但是您不需要这样做。列出存储桶的对象时,可以指定开始键。在您的情况下,您可以将file-2018-10-12 API指定为--start-after作为list-object-v2参数。

https://docs.aws.amazon.com/cli/latest/reference/s3api/list-objects-v2.html

答案 1 :(得分:0)

基本上,这是第一个问题的答案。 您可以在获取结果数组后使用简单的PHP反向数组函数对数组进行反向。

  $files_name = $s3->listObjects(array('Bucket' => $bucketName, 'Prefix' => $prefix));
  $object2 = $files_name['Contents'];
  $object2 = array_reverse($object2);