2017-12-05 17 views
0

ファイルをS3にアップロードしてから、そのファイルをシードしたElasticacheサーバを起動するスクリプトがあります。 Elasticache documentationは、GovCloudや中国以外の地域の正規のIDを表す540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353に読み取りと読み取りのアクセス許可を与えるように指示しています。ここでS3オブジェクトのElasticacheにboto3を使って読み取る

は私のコードです:ここでは

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になることができる被扶養者だから、私は間違って何をしていますか?

+0

GrantRead = 'id = 540804 ...'を試してください。 – jarmod

+0

@jarmodそれでした! [boto3 documentation](https://boto3.readthedocs.io/en/latest/reference/services/s3.html#objectacl)のどこにも、あなたが見つけることができるような方法でパラメータを書式設定する必要があると言われています。それはかなり怒っている。あなたがそれを答えるなら、私はそれを受け入れることができます – Jay

答えて

0

私はあなたが次のいずれかの形式で権限受領者に提供すべきであると信じている:付与者の権限を付与>

  • メール= <メールアドレス>
  • URIの

    • ID = <正規のユーザーID = <受給者グループのURI >
    • displayname = <受賞者の画面名>
    • タイプ=付与者の<タイプ>

    私はawscli put-object-acl文書からこの情報を推測します。

  • 関連する問題