【发布时间】:2017-10-28 23:38:45
【问题描述】:
我正在通过 aws code build 执行 android 构建。生成的 apk 文件默认应用 server side encryption (aws-kms) 我可以通过取消选择 ASW-KMS 从 s3 存储桶中单击如下所示手动取消加密
给出以下弹出窗口
在此处手动选择None 选项将使链接可下载。 我想以编程方式实现这一目标。
我已经尝试过添加here 中提到的权限。还用 python boto3 做了一些实验。然而到目前为止还没有取得任何成功。 提前致谢!
【问题讨论】:
-
服务器端加密设置不应以任何方式影响下载文件的能力。您要解决的实际问题是什么?
-
感谢您的回复。我基本上是在尝试使用 aws 工具进行构建自动化。我对aws很陌生。我有使用 webhooks 从 github 使用基于 jenkins 的构建自动化的经验。现在,我想使用 aws 实现相同的目的。因此,我创建了一个将其连接到代码管道的代码构建,我可以使用 aws lambda 函数或从 boto3 客户端触发管道(我已经这样做了)。这个想法是在代码构建阶段之后连接另一个 lambda 函数,该函数将发送一封邮件,其中包含构建过程的结果以及生成的 apk 的可下载链接。 (续)
-
当前的问题是,从 aws 代码代码构建上传到 s3 的工件默认情况下是通过 aws-kms 加密的,当单击 s3 存储桶中的该链接时,它会给出错误消息,
Requests specifying Server Side Encryption with AWS KMS managed keys require AWS Signature Version 4. -
您是如何准确获取/生成指向 S3 中文件的链接的?
-
我没有为将工件上传到 s3 做任何事情。该文件是根据 buildspec.yml 文件生成的(工件),并且始终具有相同的名称,并且存储在S3 中的固定位置。 buildspec 只是说明了要上传的工件的位置,在 AWS 代码构建中,我只提到了 S3 存储桶名称。我假设我在 S3 中看到的上传工件的链接是不变的。
标签: amazon-web-services amazon-s3 boto3 aws-codebuild