使用python从google appengine发出的出站FTP请求

时间:2010-08-30 01:36:53

标签: python google-app-engine ftp

我需要发出一个出站ftp请求来检索一些小的 文件。有6个文件,每个不到10K,我只需要 每隔几个小时检索一次。

当我尝试使用urllib2.urlopen(“ftp://xxx.xxx.xxx”)时,我得到了 一个异常AttributeError:'module'对象没有属性 'FTP_PORT'。

我已经阅读了文档,看到你只被允许 不幸的是,我发了一个来自appengine的http和https请求 应用程序需要使用ftp数据,这个要求意味着什么 我根本不能使用appengine?我真诚地希望不会。

所以这里有其他人找到了一种方法来发出ftp请求,也许是 付费帐户?如果没有其他人选择做什么? azure或ec2是否允许出站ftp请求?

3 个答案:

答案 0 :(得分:5)

你是对的。 Google App Engine不允许您发出FTP请求。甚至没有付费帐户。

我不得不在EC2上使用LAMP实例来处理通过CURL的FTP,并从GAE向它发出http请求。

答案 1 :(得分:2)

这个限制用来驱使我坚果;实现动态实例化EC2 slave worker以中继FTP数据的开销实际上是浪费时间。幸运的是,从April 9 this year (SDK 1.7.7)开始,这不再是问题。出站套接字(例如FTP)通常适用于所有启用结算的应用。

套接字API概述(Python):https://developers.google.com/appengine/docs/python/sockets/

答案 2 :(得分:0)

drivehq.com是另一种选择。它提供了一个web + ftp服务器。因此,我需要与之交互的第三方(仅讲FTP)将通过FTP上传文件。然后我会在appengine上提取它们。