答案 0 :(得分:1)
事件upload_file()
使用S3Transfer表示呼叫是非阻塞的。您需要跟踪进度(S3Transfer的API)并在确保传输完成后删除该文件。
答案 1 :(得分:1)
无论是阻止还是解除阻止,当事情变得糟糕时,你不应该单独依赖API。如果由于任何原因导致上载失败,您必须添加异常处理(例如,管理员决定在您上传时重新启动路由器)。
Use default settings
将文件上传到S3的另一个好方法是添加其他元数据。
File name glob
将事件添加到S3 Bucket以对成功进行操作PUT操作还允许您创建清理过程,如果上载成功但本地文件删除失败。(想象文件被锁定或文件被赋予只读访问权限。) / p>
答案 2 :(得分:1)
当前的boto3 upload_file
正在阻止。正如mootmoot所说,如果你删除文件,你绝对应该实现一些错误处理。
答案 3 :(得分:1)
答案 4 :(得分:0)
我已经制作了一个异步对象,可以上传到S3并下载到您的计算机上。例如,要确保文件在上传后将被删除,可以使用回调:on_success
。
签出:https://gist.github.com/fherbine/0d4aa473e5cc2c5f6f8a0e1b35a62625
仍然需要改进,但是可以使用。