[Python3] jsonを生成してS3にuploadする

strのところは、mufj, 1375で作ってますが、本来はpython3で処理した値をuploadする想定です。

import boto3
import json

accesskey = ""
secretkey = ""
region = ""

// 機械学習等の処理

str = {
	"三菱UFJフィナンシャル・グループ":668.3,
	"日経ダブルインバース上場投信":367
}

with open("stock.json", "w") as f:
	json.dump(str, f, ensure_ascii=False)

 
s3 = boto3.client('s3', aws_access_key_id=accesskey, aws_secret_access_key= secretkey, region_name=region)
 
filename = "stock.json"
bucket_name = "speech-dnn"
 
s3.upload_file(filename,bucket_name,filename, ExtraArgs={'ACL':'public-read'})
print("upload {0}".format(filename))

result
{“三菱UFJフィナンシャル・グループ”: 668.3, “日経ダブルインバース上場投信”: 367}

OK これをreactと接続して、インタラクティブに表示されるか確認する

### 修正
‘ContentType’: “application/json”で指定しないと、jsonファイルとして保存されない

s3.upload_file(filename,bucket_name,filename, ExtraArgs={'ContentType': "application/json",'ACL':'public-read'})