Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
aws python boto:寻找可靠的方法中断get_内容到文件名_Python_Amazon Web Services_Interrupt - Fatal编程技术网

aws python boto:寻找可靠的方法中断get_内容到文件名

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密钥。我注意到的是,偶尔会将\

我有一个python函数,它将文件从S3下载到本地驱动器上的某个临时位置,然后对其进行处理。下载部分如下所示:

 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的小文件中使用过它,而且通常只调用两次—一次在开始时调用,一次在结束时调用

重要的是,它将在传输开始时将文件大小传递给回调函数,然后回调函数可以根据文件大小启动计时器