我有一个S3存储桶,其中包含数千个文件,文件名始终与模式{hostname}。{contenttype}。{yyyyMMddHH} .zip匹配。我想创建一个脚本,该脚本每天运行一次,以根据文件名中的年和月将这些文件移动到文件夹中。
如果我尝试以下aws-cli命令
aws s3 mv s3://mybucket/*.202001* s3://mybucket/202001/
我收到以下错误:
fatal error: An error occurred (404) when calling the HeadObject operation: Key "*.202001*" does not exist
有没有可以按计划运行的aws-cli命令来实现这一目标?
答案 0 :(得分:3)
我认为前进的道路将是通过--filter parameter used in S3 CLI commands。
对于您的情况,
aws s3 mv s3://mybucket/ s3://mybucket/202001/ --recursive --exclude "*" --include "*.202001*"
应该可以解决问题。
要安排CLI命令每天运行,我认为您可以参考On AWS, run an AWS CLI command daily