2017-03-25 17 views
1

を使用してS3公の場でファイルを作成します Make a file in s3 public using python and botoこの質問に私はboto3のアップデートを必要とするPythonとboto3

s3.Bucket('gentle-persuader-emoji').put_object(Key=emoji_png_file, Body=image) 
response = s3.object(emoji_png_file).put_object_acl('ACL=public-read') 

あなたがオブジェクト、最も簡単な方法をアップロードしているので、エラー

AttributeError: 's3.ServiceResource' object has no attribute 'object' 
+0

あなたのエラーは 's3.object(emoji_png_file)'が存在しないためです。オブジェクトはバケット内に存在し、単独では存在しません。 –

答えて

4

を与えますアップロードの一部としてアクセスコントロールリスト(ACL)を指定することです:

s3.Bucket('gentle-persuader-emoji').put_object(Key=emoji_png_file, Body=image, ACL='public-read') 

または、個々のオブジェクトごとにポリシーを適用するのではなく、バケット全体(またはバケット内の特定のパス)に適用するBucket Policyを追加することもできます。