Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 使用boto3将读取权限授予S3对象上的Elasticache_Amazon S3_Boto3_Amazon Elasticache - Fatal编程技术网

Amazon s3 使用boto3将读取权限授予S3对象上的Elasticache

Amazon s3 使用boto3将读取权限授予S3对象上的Elasticache,amazon-s3,boto3,amazon-elasticache,Amazon S3,Boto3,Amazon Elasticache,我有一个脚本,它将文件上传到S3,然后启动一个带有该文件种子的Elasticache服务器。表示向540804C33A284A299D2547575CE1010F2312EF3DA9B3A053C8BC45BF23E4353提供读取和读取权限,该权限表示任何非GovCloud或中国地区的规范ID 这是我的密码: import boto3 s3_cl = boto3.client('s3') s3_cl.put_object_acl(Bucket='bucket-name', Key='file.

我有一个脚本,它将文件上传到S3,然后启动一个带有该文件种子的Elasticache服务器。表示向
540804C33A284A299D2547575CE1010F2312EF3DA9B3A053C8BC45BF23E4353提供读取和读取权限,该权限表示任何非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

我应该为
grantrade
提供什么参数?我的理解是,它是一个被授权人,可以是一个规范ID,那么我做错了什么?

我认为您应该以以下格式之一提供被授权人:

  • 身份证=
  • 电子邮件=
  • uri=
  • 显示名=
  • 类型=

我从awscli文档中推断出了这些信息。

你能试试Grantrade='id=540804…'@jarmod就是这样!在任何地方,他们都没有提到你必须以这种方式格式化参数,我可以找到。这太令人气愤了。如果你回答我,我可以接受