簡體   English   中英

如何附加到 AWS S3 上的 json 文件

[英]How to append to json file on AWS S3

我需要附加到 aws S3 上的 json 文件,python 代碼在 EC2 實例上運行。

在本地設置中,我可以輕松地執行以下操作:

import json

#example data
json_data = {"id": "123", "name": "XYZ", "transaction": [20.0, 30.0]}
# path
local_path = '/home/ubuntu/test.json'

with open(local_path, 'a', encoding='utf-8-sig') as file:
    json.dump(json_data, file)
    file.write('\n')
    file.close()

在 EC2 上,我可以按如下方式連接到 S3:

import boto
s3_open = boto.connect_s3(host='s3.eu-central-1.amazonaws.com')

我定義了 S3 的路徑:

s3_path = 's3://my-bucket/test.json'

如何使用上述邏輯附加到此文件?

S3 沒有附加操作,您可以做的是下載文件,自己附加,然后將其作為同一對象的新版本上傳。

沿着這些路線的東西。

import json
import boto3

s3_path = '/some/s3/path'
bucket = 'somebucket'
local_data = {"id": "123", "name": "XYZ", "transaction": [20.0, 30.0]}

s3 = boto3.client('s3')
resp=s3.get_object(Bucket=bucket, Key=s3_path)
data=resp.get('Body')

json_data = json.loads(data)
json_data.append(local_data)
s3.put_object(Bucket=bucket, Key=s3_path, Body=json.dumps(json_data).encode())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM