2017-08-01 5 views

Répondre

2

Une façon simple de le faire dans linux est comme suit:

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

Une solution serait probablement d'utiliser le s3api. Cela fonctionne facilement si vous avez moins de 1000 objets, sinon vous devez travailler avec la pagination.

s3api peut lister tous les objets et possède une propriété pour l'attribut lastmodified des clés importées dans s3. Il peut ensuite trier, trouver des fichiers avant ou après une date, correspondant à une date ...

Des exemples de cette option en cours d'exécution

  1. tous les fichiers pour une date donnée

    DATE=$(date +%Y-%m-%d) 
    aws s3api list-objects-v2 --bucket test-bucket-fh --query 'Contents[?contains(LastModified, `$DATE`)]' 
    
  2. tous les fichiers après une certaine date

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

s3api renverra un few metadata afin que vous puissiez filtrer pour des éléments spécifiques

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