2017-10-20 17 views
1

S3バケット内のファイルに、私は達成するために何を望むか は、代わりにdata.jsonファイルを開くとS3(sample.json)ファイルへの書き込み書き込みJSONは、このコードは、S3のファイルにJSONを書き込み

方法ですjsonを直接渡してs3のファイルに書き込むのですか?

import boto3 

s3 = boto3.resource('s3', aws_access_key_id='aws_key', aws_secret_access_key='aws_sec_key') 
s3.Object('mybucket', 'sample.json').put(Body=open('data.json', 'rb')) 
+0

はあなたがS3に座っているファイルに直接JSONデータを渡したいことを言っているこのリンクを参照してくださいに行うことができます利用可能な操作のリストについて

? –

+0

はい...単純です。私はいくつかの操作の後にいくつかのjsonデータを取得、私はS3でfilename.jsonファイルを作成し、このファイルにそのjsonを書いてください。 – Learning

答えて

2

Amazon S3は、オブジェクトストア(実際にはファイルストア)です。主な操作はPUTとGETです。 S3の既存のオブジェクトにデータを追加することはできません。オブジェクト全体を置き換えることができます。あなたはS3 S3に新しいファイルをアップロードすることなく、 http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectOps.html

+0

このエラーが発生しました - botocore.exceptions.ClientError:ListObjects操作を呼び出すときにエラー(PermanentRedirect)が発生しました:アクセスしようとしているバケットは、指定されたエンドポイントを使用してアドレス指定する必要があります。将来のすべてのリクエストをこのエンドポイントに送信してください。 – Learning

+0

これが役立つかどうかを確認するhttps://stackoverflow.com/questions/32246149/permanentredirect-when-calling-the-putobject-operation –

関連する問題