Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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
File 在Google应用程序引擎Python上下载大文件_File_Google App Engine_Csv_Download_Google App Engine Python - Fatal编程技术网

File 在Google应用程序引擎Python上下载大文件

File 在Google应用程序引擎Python上下载大文件,file,google-app-engine,csv,download,google-app-engine-python,File,Google App Engine,Csv,Download,Google App Engine Python,在我的appspot网站上,我使用第三方API查询大量数据。然后,用户以CSV格式下载数据。我知道如何生成csv并下载它。问题是,因为文件很大,我得到了deadlineExceederRor 我已尝试将提取截止日期增加到60(urlfetch.set_default_fetch_detaild(60))。再增加一点似乎是不合理的 在Google App Engine上解决这个问题的合适方法是什么?这是我必须使用任务队列的地方吗 谢谢。deadlineexceederror表示您的传入请求花费的时

在我的appspot网站上,我使用第三方API查询大量数据。然后,用户以CSV格式下载数据。我知道如何生成csv并下载它。问题是,因为文件很大,我得到了deadlineExceederRor

我已尝试将提取截止日期增加到60(urlfetch.set_default_fetch_detaild(60))。再增加一点似乎是不合理的

在Google App Engine上解决这个问题的合适方法是什么?这是我必须使用任务队列的地方吗


谢谢。

deadlineexceederror表示您的传入请求花费的时间超过60秒,而不是您的UrlFetch调用

部署代码以将CSV文件生成到使用其进行设置的其他模块中。下载CSV的URL将变为


请求可以在具有基本或手动缩放功能的模块上无限期运行。

DeadlineExceededError意味着传入请求花费的时间超过60秒,而不是UrlFetch调用

部署代码以将CSV文件生成到使用其进行设置的其他模块中。下载CSV的URL将变为


请求可以无限期地运行在基本或手动缩放的模块上。

交替地,考虑在您的CSV内容中动态地在谷歌云存储(GCS)中创建文件。此时,文件驻留在GCS中,您可以生成一个URL,他们可以从该URL直接下载文件。对于不同的身份验证方法,还有其他选项

您可以在以下位置查看有关执行此操作的文档:

重要提示:不要使用文件API(这是在blobstore/gcs中动态创建文件的常用方法),因为它已被取消权限。请改用上面提到的Google云存储客户端API

当然,您可以在成功下载生成的文件后删除这些文件,和/或运行cron作业,使链接/文件在特定时间段后过期


根据您的特定用例,这可能是一条更有效的路径。

交替地,考虑在您的CSV内容中动态地在谷歌云存储(GCS)中创建文件。此时,文件驻留在GCS中,您可以生成一个URL,他们可以从该URL直接下载文件。对于不同的身份验证方法,还有其他选项

您可以在以下位置查看有关执行此操作的文档:

重要提示:不要使用文件API(这是在blobstore/gcs中动态创建文件的常用方法),因为它已被取消权限。请改用上面提到的Google云存储客户端API

当然,您可以在成功下载生成的文件后删除这些文件,和/或运行cron作业,使链接/文件在特定时间段后过期


根据您的具体用例,这可能是一种更有效的方法。

我尝试了您的方法。我有几个问题。一个是,当我部署一个手动缩放模块时,Google App Engine会将其检测为后端实例。后端不是很快就会被完全弃用吗?此外,我似乎无法将请求路由到新的/不同的模块。对此有何指导?我在这里遵循了教程@andy7586,您如何判断GAE将其检测为后端?这种情况不应该发生,除非-也许-您需要先迁移到模块,您可以从旧的appengine.google.com控制台在“应用程序设置”下执行此操作。我知道它会将其检测为后端,因为它使用后端实例。另外,在“应用程序设置”下我该怎么做?非常感谢你的帮助。我真的很感激。不相信这真的意味着它会将其检测为后端,可能是因为您将实例设置为B0-8类型。在“实例”部分,您是否有选择模块的下拉列表?如果您仍在使用前端/后端,则在“应用程序设置”中可以找到迁移说明,否则您将使用模块。我确实在新开发人员控制台中看到了其他模块版本。但是当我映射url调度时,我无法访问我想要的网页。我将我的代码附加到下面的部分,我尝试了你的方法。我有几个问题。一个是,当我部署一个手动缩放模块时,Google App Engine会将其检测为后端实例。后端不是很快就会被完全弃用吗?此外,我似乎无法将请求路由到新的/不同的模块。对此有何指导?我在这里遵循了教程@andy7586,您如何判断GAE将其检测为后端?这种情况不应该发生,除非-也许-您需要先迁移到模块,您可以从旧的appengine.google.com控制台在“应用程序设置”下执行此操作。我知道它会将其检测为后端,因为它使用后端实例。另外,在“应用程序设置”下我该怎么做?非常感谢你的帮助。我真的很感激。不相信这真的意味着它会将其检测为后端,可能是因为您将实例设置为B0-8类型。在“实例”部分,您是否有选择模块的下拉列表?如果您仍在使用前端/后端,则在“应用程序设置”中可以找到迁移说明,否则您将使用模块。我确实在新开发人员控制台中看到了其他模块版本。但是当我映射url调度时,我无法访问我想要的网页。我在下面的部分附上我的代码