Как записать файл или данные в объект S3 с помощью boto3

в boto 2 Вы можете написать объекту S3, используя следующие методы:

есть ли эквивалент boto 3? Что такое метод boto3 для сохранения данных в объект, хранящийся на S3?

3 ответов


в boto 3, " ключ.методы set_contents_from_ были заменены на


boto3 также имеет метод для загрузки файла напрямую:

s3.Bucket('bucketname').upload_file('/local/file/here.txt','mains3bucket/folder/s3key')

http://boto3.readthedocs.io/en/latest/reference/services/s3.html#S3.Bucket.upload_file


вот хороший трюк, чтобы прочитать JSON из s3:

import json, boto3
s3 = boto3.resource("s3").Bucket("bucket")
json.load_s3 = lambda f: json.load(s3.Object(key=f).get()["Body"])
json.dump_s3 = lambda obj, f: s3.Object(key=f).put(Body=json.dumps(obj))

теперь вы можете использовать json.load_s3 и json.dump_s3 С тем же API, что и load и dump