我正在创建一个CI/CD管道,我使用cloudformation包来打包部署。现在我希望cloudformation将工件上传到一个动态创建的文件夹中,并使用当前的日期时间戳。有什么方法可以做到这一点吗?我的解决方案如下所示,但不起作用。
build.sh
other commands
timestamp=$(date +%s)
aws cloudformation package --template-file template.yaml --output-template-file packaged-template.yaml --s3-bucket bucket name --s3-prefix cfn-deployment/$timestamp
现在,我想在deploy.sh
shell脚本中使用此timestamp
变量,其中使用cloudformation部署命令
1条答案
按热度按时间vltsax251#
Amazon S3中没有"文件夹"或目录的概念。它是一个对象存储。"路径"实际上只是对象名称。路径名称中有正斜杠,Amazon S3控制台将以特殊方式处理,使其看起来像是有目录。实际上,没有。
你想做的事情是没有意义的,也是不可能的。无论何时你需要上传你的工件到S3,只要指定路径,它就会工作,不需要通过CloudFormation做任何事情。
示例
创建空桶
上传密钥包含今天日期的文件:
通过
s3 ls
列出对象(使其看起来像Linux列表):通过API列出对象(
s3api list-objects-v2
):