2017-08-01 68 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' 
相關問題