我有一个python函数,可以将文件从S3下载到本地驱动器上的某个临时位置,然后对其进行处理。下载部分如下所示:
def processNewDataFile(key):
## templocation below is just some temp local path
key.get_contents_to_filename(templocation)
## further processing
这里key
是要下载的文件的AWS密钥。我注意到偶尔{
那么,有没有一种可靠的方法来中断/超时get_contents_to_filename
,而不涉及硬的预定时间限制?在
谢谢
您可以使用带有
get_contents_to_filename
的回调函数http://boto.cloudhackers.com/en/latest/ref/gs.html#boto.gs.key.Key.get_contents_to_file
回调函数需要两个参数:发送的字节数和文件的总大小。 您也可以指定粒度(调用回调的最大次数),尽管我只在小文件(小于10kb)中使用它,并且通常只调用两次-一次在开始时调用,一次在结束时调用。在
重要的是,它将在传输开始时将文件的大小传递给回调函数,然后回调函数可以根据文件的大小启动计时器。在
相关问题 更多 >
编程相关推荐