从 AWS 代码构建制作 public s3 工件

Making public s3 artifacts from AWS code build

如何默认将工件作为 aws code build public 的一部分上传到 s3?我正在试验构建自动化。目前构建成功;但是,创建的工件不是 public,因此我无法共享 link(作为邮件的一部分)。默认情况下,服务器端加密设置在 Using AWS KMS master key: aws/s3 (default). 当尝试从 aws 代码构建配置的 advanced settings 部分删除 encryption key 时,出现错误。我计划 运行 一个 aws lambda 函数,该函数将在构建结束时发送带有工件 link 的邮件作为 aws 代码管道的一部分。

编辑: 我尝试添加以下内容作为权限,但没有帮助:

{
  "Version":"2012-10-17",
  "Statement":[
   {
    "Sid":"AddPerm",
    "Effect":"Allow",
    "Principal": "*",
    "Action":["s3:GetObject"],
    "Resource":["arn:aws:s3:::examplebucket/*"]
   }
  ]
}

如前所述here

从 S3 如果我手动去 select none 作为加密,link 确实可以下载。但是,我需要一种编程方式来执行此操作,因为我正在尝试将整个过程作为构建自动化的一部分进行自动化。到目前为止,我也无法通过 boto3 实现这一点。

提前致谢!

好的!我在aws developer forum得到回复如下:

Thank you for this feature request, I have passed it to the team for further review. Your feedback is very much appreciated.

这意味着该功能现在可能不存在。

这是 AWS 开发论坛的link。 无论如何,暂时有一个解决方法。您也可以在 link 或 中看到更多详细信息。