AWS s3api命令获取上次修改的值大于yyyy-mm-dd HH:MM:SS的列表对象

时间:2018-12-03 09:20:18

标签: amazon-web-services amazon-s3

我正在尝试从最近上传的S3存储桶中获取对象列表。但是只有Contents [?LastModified> ='yyyy-mm-hh']比较有效 在查询中。当我尝试使用Contents [?LastModified> ='yyyy-mm-hh HH:MM:SS']时,它仅比较yyyy-mm-dd给出了当天已更新的列表,并且在尝试获取文件时最近添加了带有时间戳HH:MM:SS的时间戳,它提供了当天添加的所有对象。

echo "###################### Previous Run : $previous_run"
dat2=$(date -d "$previous_run" "+%Y-%m-%d %H:%M:%S")

echo $dat2

get_Latest_Files()
{
        #get new files from s3
        json_var=$(aws s3api list-objects --bucket "$input_bucket" --prefix "$input_prefix" --query "Contents[?LastModified>='$dat2'].{Key: Key,LastModified: LastModified}" --output text)

        echo "$json_var"
        if [ -z "$json_var" ]
        then
            echo "No latest files to Process...!"
            exit
        else
                #grep for tgz files
                echo $json_var  | tr " " "\n" | egrep -i "(\.tgz)|(\.tar\.gz)$" | awk -v prefix="s3://$input_bucket/" '{print prefix $0}' > input_files.txt
                cat input_files.txt
        fi
}

1 个答案:

答案 0 :(得分:1)

解决方案:

尝试使用以下日期格式:

"Contents[?LastModified>='2019-07-26T17:49:00.000Z'][].{Key: Key,LastModified: LastModified}"
相关问题