gpt4 book ai didi

amazon-web-services - AWS CLI 按特定日期列出对象

转载 作者:行者123 更新时间:2023-12-05 06:29:56 25 4
gpt4 key购买 nike

我正在尝试制作一个常规脚本,列出过去三天上传到 AWS S3 上的对象。我在运行脚本的代理上安装了 AWS CLI。我发现按日期列出对象的命令如下:

def cmd = "aws s3api list-objects --bucket (name of bucket) --query \"Contents[?LastModified>= '2018-10-16'].{Key: Key, LastModified: LastModified }\""

当我直接从 putty session 在代理上运行此命令时,它运行良好并正确列出了对象。但是,当我尝试从 groovy 脚本执行相同的命令时,出现以下错误:

Bad value for --query "Contents[?LastModified: Bad jmespath expression: Unclosed " delimiter: "Contents[?LastModified ^

我尝试用单引号替换第一个和最后一个引号,但没有用。我尝试用引号在内容之前和 LastModified 之后做同样的事情,但效果不佳。我尝试将 Contents[?LastModified>= '2018-10-16'].{Key: Key, LastModified: LastModified } 传递给一个字符串变量,并在 - 之后的命令中传递它的值-query 但效果不佳。

最佳答案

请尝试:

然后尝试:

def date = new Date().format('yyyy-MM-dd') 
def cmd = ['aws', 's3api', 'list-objects', '--bucket', 'Bucket-Name', '--query', "Contents[?LastModified>='${date}'].{Key: Key , LastModified: LastModified}"]

请记住始终将命令作为列表而不是字符串传递。

关于amazon-web-services - AWS CLI 按特定日期列出对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52882244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com