我有一个脚本,用于将文件上传到 S3,然后启动使用该文件作为种子的 Elasticache 服务器。 Elasticache documentation表示向 540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353
提供读取和读取权限,它代表除 GovCloud 或中国以外的任何区域的规范 ID。
这是我的代码:
import boto3
s3_cl = boto3.client('s3')
s3_cl.put_object_acl(Bucket='bucket-name', Key='file.rdb', GrantRead='540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353')
这是我得到的错误:
ClientError: An error occurred (InvalidArgument) when calling the PutObjectAcl operation: Argument format not recognized
我应该向 GrantRead
提供什么参数?我的理解是它是一个受让人,可以是一个规范的 ID,那么我做错了什么?
最佳答案
我认为您应该采用以下格式之一提供受资助者:
- id=<受让人的规范用户 ID>
- email=<受助者的电子邮件地址>
- uri=<受让人组的 URI>
- displayname=<受让人的屏幕名称>
- type=<受资助者类型>
我从 awscli put-object-acl 推断出此信息文档。
关于amazon-s3 - 使用 boto3 授予对 S3 对象上的 Elasticache 的读取权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47644068/