aws python boto:寻找可靠的方法中断get_内容到文件名
我有一个python函数,它将文件从S3下载到本地驱动器上的某个临时位置,然后对其进行处理。下载部分如下所示:aws python boto:寻找可靠的方法中断get_内容到文件名,python,amazon-web-services,interrupt,Python,Amazon Web Services,Interrupt,我有一个python函数,它将文件从S3下载到本地驱动器上的某个临时位置,然后对其进行处理。下载部分如下所示: def processNewDataFile(key): ## templocation below is just some temp local path key.get_contents_to_filename(templocation) ## further processing 这里的密钥是要下载的文件的AWS密钥。我注意到的是,偶尔会将\
def processNewDataFile(key):
## templocation below is just some temp local path
key.get_contents_to_filename(templocation)
## further processing
这里的密钥是要下载的文件的AWS密钥。我注意到的是,偶尔会将\u内容\u发送到\u文件名似乎会冻结。在我的代码的其他部分中,我有一些解决方案,它会中断代码块,并在这些代码块未在指定的时间内完成时引发异常。这个解决方案在这里很难使用,因为我需要下载的文件大小差异很大,有时S3的响应速度比其他时间慢
那么,有没有可靠的方法可以中断/超时get_内容到文件名,而不涉及硬的预定时间限制
谢谢您可以使用带有get\u contents\u to\u filename的回调函数 回调函数需要两个参数:发送的字节数和文件的总大小。 您还可以指定调用回调的最大粒度次数,尽管我只在小于10kb的小文件中使用过它,而且通常只调用两次—一次在开始时调用,一次在结束时调用 重要的是,它将在传输开始时将文件大小传递给回调函数,然后回调函数可以根据文件大小启动计时器