在boto 2中,您可以使用以下方法写入S3对象:
- Key.set_contents_from_string()
- Key.set_contents_from_file()
- Key.set_contents_from_filename()
- Key.set_contents_from_stream()
是否有boto 3等效物?将数据保存到存储在S3上的对象的boto3方法是什么
在BOTO3中,“Key.set\u contents\u from\u”方法被替换为
-
Object.put()
-
Client.put_对象()
例如:
导入boto3
some_binary_data=b’这里有一些数据’
more_binary_data=b’这里我们有更多的数据’
#方法1:Object.put()
s3=boto3.resource(’s3’)
object=s3.object(’my\u bucket\u name’,’my/key/include/filename.txt’)
put(Body=一些二进制数据)
#方法2:Client.put\u对象()
client=boto3.client(’s3’)
client.put\u对象(Body=more\u binary\u data,Bucket=’my\u Bucket\u name’,Key=’my/Key/include/anotherfilename.txt’)
或者,二进制数据可以来自读取文件,如比较boto 2和boto 3的官方文件中所述:
存储数据
存储文件、流或字符串中的数据很容易:
#Boto 2.x 从boto.s3.key导入密钥 key=key('hello.txt') key.set_contents_from_文件('/tmp/hello.txt')) #博托3 s3.Object('mybucket','hello.txt').put(Body=open('/tmp/hello.txt','rb'))