我读了"Best option for Google App Engine Datastore and external database" ,而且我已经考虑过 SDC(我们已经将它用于某些事情)。但是,我需要能够每 15 分钟左右自动更新一次数据存储。在 AppEngine 中使用 cronjob 时,没有用户附加到操作,因此它无法向 SDC 进行身份验证。请注意,外部数据库位于防火墙后面(如果上面的 SDC 语句不明显的话)。
有没有办法让 SDC 与某种预定+自动操作一起工作?如果没有,推荐的替代方案是什么?
最佳答案
我知道回答你自己的问题有点傻,但我想我也可以发布我的解决方案,因为这里没有答案。
Nick 留下的评论绝对是解决问题的一种选择,但我发现更容易,并且在当前情况下会起作用的是将数据推出,而不是担心确保访问点安全带身份验证的防火墙。
我使用了远程 API 并创建了一个位于防火墙后面的 Python 应用程序。在计划的 cron 上,我从 SQL Server 查询数据,从应用程序的数据存储区查询数据,然后添加/更新/删除数据存储区,其中仅包含自上次运行应用程序以来更改的内容。此时,我将数据推送回数据存储区。为了提高效率,您也可以将其设置为分批推送(正如 Datastore 文档所宣传的那样)。
此解决方案适用于当前的应用程序,但我肯定会看到设置带有身份验证的 RESTful 服务,以应对这不是最佳攻击计划的情况。
关于python - 从外部源自动更新谷歌应用引擎数据存储的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6815939/