Maxmind数据库文件对于AppEngine App来说太大了

时间:2013-01-21 21:28:14

标签: java google-app-engine maxmind

我正在尝试将MaxMind geoIP数据库部署为部署在Google AppEngine中的Java应用程序的一部分。当我们使用免费版本时,事情工作正常,但在升级到付费(和更大)数据库时,尝试部署会产生错误:

File /tmp/appcfg4412552511405829763.tmp/WEB-INF/GeoIPCity.dat is too large (limit 32000000 bytes)

据我所知,我启用了jar分裂,但这没有用,因为这不是一个jar(将它重命名为.jar也不会神奇地修复它:)。有没有办法让这个大型文件(~48mb)作为AppEngine应用程序的一部分进行部署?

我的后备计划是将文件推送到云存储中并从那里抓取它。不幸的是,Maxmind的Java代码真的真的想要一个文件 - 不是一个流,不是一个Reader,不是一个byte [],而是一个文件 - 这在AppEngine中很难找到。在我最终重写一堆内容之前,我想我会看到是否有人已经设法解决了这个问题。

2 个答案:

答案 0 :(得分:1)

在GAE上max application file size is 32Mb

AFAIK你无法解决这个问题。如果您可以将其拆分为较小的文件,那将是最好的。

答案 1 :(得分:0)

为什么在appengine请求标题中免费获取地理位置,国家,地区和城市时,请使用第三方geoip数据库文件?

我的建议是分别使用x-appengine-geopoint,-country,-region和-city标题。

这应该可行,但要求您在请求级别捕获thor头,并将其与其他用户数据一起存储在数据存储区中。