Amazon web services 有没有办法使用SSM参数为CodePipeline中的S3部署提供路径

Amazon web services 有没有办法使用SSM参数为CodePipeline中的S3部署提供路径,amazon-web-services,aws-codepipeline,amazon-systems-manager,Amazon Web Services,Aws Codepipeline,Amazon Systems Manager,所以,我有一个简单的CodePipeline设置,它使用CodeBuild将一些工件放在一起,然后提供一个CloudFormation堆栈 创建的资源之一是用于存储静态文件的S3存储桶。它还创建一个带有bucket名称的SSM参数 目前,为了部署到bucket,我正在使用S3阶段来解压缩初始文件集。不幸的是,我只能知道如何手动设置桶。如果堆栈已设置,则此操作正常,但如果堆栈是从fresh创建并分配了新的bucket名称,则此操作失败 是否有一种方法可以使用SSM参数作为我没有看到的这个阶段的一部

所以,我有一个简单的CodePipeline设置,它使用CodeBuild将一些工件放在一起,然后提供一个CloudFormation堆栈

创建的资源之一是用于存储静态文件的S3存储桶。它还创建一个带有bucket名称的SSM参数

目前,为了部署到bucket,我正在使用S3阶段来解压缩初始文件集。不幸的是,我只能知道如何手动设置桶。如果堆栈已设置,则此操作正常,但如果堆栈是从fresh创建并分配了新的bucket名称,则此操作失败


是否有一种方法可以使用SSM参数作为我没有看到的这个阶段的一部分?

如果我理解正确,您希望在CodePipeline中动态更改S3部署操作的Bucket名称。目前这是不可能的,因为这是管道配置的一部分[1]

相反,您可以自己处理问题,用CodeBuild操作替换S3部署操作,并自己将文件同步到S3 bucket。您可以在buildspec[2]中使用以下语法读入参数存储值:

env:
  parameter-store:
    key: "value"
。。。或按需使用“aws ssm”cli“获取参数”命令[3]

[1]

[2]


[3]

如果我理解正确,您希望在CodePipeline中动态更改S3部署操作的Bucket名称。目前这是不可能的,因为这是管道配置的一部分[1]

相反,您可以自己处理问题,用CodeBuild操作替换S3部署操作,并自己将文件同步到S3 bucket。您可以在buildspec[2]中使用以下语法读入参数存储值:

env:
  parameter-store:
    key: "value"
。。。或按需使用“aws ssm”cli“获取参数”命令[3]

[1]

[2]


[3] 我同意@shariqmaws。您可以将环境变量保存在SSM参数存储中,并可以按如下方式使用该变量:

env:
  parameter-store:
    key: value
完成后,可以按如下方式使用该变量:

aws s3 sync your-s3-files/ "s3://${key}"

我同意@shariqmaws。您可以将环境变量保存在SSM参数存储中,并可以按如下方式使用该变量:

env:
  parameter-store:
    key: value
完成后,可以按如下方式使用该变量:

aws s3 sync your-s3-files/ "s3://${key}"