2017-08-01 65 views

回答

2

一个简单的方法在linux做,这是如下:

DATE=$(date +%Y-%m-%d) 
aws s3 ls s3://<your s3 path here>/ | grep $DATE 
2

一个解决办法可能是使用的s3api。如果您的对象少于1000个,它很容易工作,否则您需要使用分页。

s3api可以列出所有对象并且具有s3中导入的密钥的lastmodified属性的属性。然后,它可以进行排序,找到文件后,某日期或之前,匹配的日期......

运行这样的选择

  1. 所有文件对于给定的日期

    DATE=$(date +%Y-%m-%d) 
    aws s3api list-objects-v2 --bucket test-bucket-fh --query 'Contents[?contains(LastModified, `$DATE`)]' 
    
  2. 的例子某一特定日期

    export YESTERDAY=`date -v-1w +%F` 
    aws s3api list-objects-v2 --bucket test-bucket-fh --query 'Contents[?LastModified > `$YESTERDAY`)]' 
    
后的所有文件

s3api将返回few metadata,以便您可以筛选特定元素

DATE=$(date +%Y-%m-%d) 
aws s3api list-objects-v2 --bucket test-bucket-fh --query 'Contents[?contains(LastModified, `$DATE`)].Key' 
相关问题