gpt4 book ai didi

amazon-web-services - 以编程方式取消对 aws s3 中文件的加密

转载 作者:行者123 更新时间:2023-12-04 08:15:00 26 4
gpt4 key购买 nike

我正在通过 aws code build 执行 android 构建.生成的 apk 文件默认应用 server side encryption (aws-kms)我可以通过取消选择 ASW-KMS 从 s3 存储桶中单击如下所示手动取消设置加密


这给出了以下弹出窗口

这里选择None手动选项将使链接可下载。 我想以编程方式实现这一点 .

我已经尝试过添加权限 here .也用 python boto3 做了一些实验。然而,到目前为止没有取得任何成功。
提前致谢!

最佳答案

好的,我收到了 解决方法 为了这。在创建加密(服务器端 aws-kms)工件并上传到 s3(作为 aws 代码构建的一部分)后,使用 'ACL':'public-read' 创建文件副本.以下是步骤:

s3 = boto3.resource('s3',aws_access_key_id='<YOUR ACCESS KEY>', aws_secret_access_key='<YOUR SECRET ACCESS KEY>', region_name = 'ap-southeast-1', config=Config(signature_version='s3v4'))
config=Config(signature_version='s3v4')部分是访问加密文件的技巧。
copy_source = {'Bucket': 'SOURCE BUCKET','Key':'test/app-debug.apk'}
s3.meta.client.copy(copy_source, 'DESTINATION BUCKET', 'app-debug.apk', {'ACL':'public-read'})

从 S3,您将获得一个可下载的 URL。

或者,您可以直接从加密的 S3 项目获取可下载链接,而无需将其复制到另一个存储桶。然而,问题在于 s3v4 加密 最长有效期为 7 天。所以链接最多只能工作 7 天。以下是相同的步骤:
  • s3_client = boto3.client('s3',aws_access_key_id='<YOUR ACCESS KEY>', aws_secret_access_key='<YOUR SECRET KEY>', region_name='ap-southeast-1', config=Config(signature_version='s3v4'))
  • url = s3_client.generate_presigned_url(ClientMethod='get_object', Params={'Bucket':'SOURCE BUCKET', 'Key':'test/app-debug.apk'})
  • 关于amazon-web-services - 以编程方式取消对 aws s3 中文件的加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44229317/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com