英文:
Allowing an App Engine app to access another App Engine app's datastore
问题
我有一个情况,一个现有的GAE应用(我们称之为应用A)正在运行,但由于非技术原因无法进行修改。随着用户迁移到新的客户端版本,我们需要将他们的数据从应用A迁移到一个新的GAE应用(我称之为应用B)。
有没有一种方法可以在不修改应用A的情况下,让应用B访问应用A的实时数据存储?我所说的不修改是指不需要部署新代码。在Cloud Console中更改设置或权限是可以的。
如果有关系的话,我所提到的这两个应用都是用Go语言编写的。
英文:
I have a situation where an existing GAE App (let's call it app A) is running, but for non-technical reasons can't be modified. As users migrates to a new client version, we need to migrate their data from app A to a new GAE app (which I'll call app B).
Is there a way that I can grant app B access to app A's live datastore without modifying app A? My not modifying I mean not having to deploy new code. Changing setting or permissions in the Cloud Console is fine.
In case it matters, both apps that I'm referring to are written in Go.
答案1
得分: 1
可能无法使用Google App Engine标准环境客户端库在多个GAE应用程序之间共享数据存储。至少对于Python而言,这是不可能的,关于Go语言我不确定。
但是,可以使用Cloud Datastore客户端库在许多应用程序之间共享数据存储,甚至可以从Google Cloud之外的位置进行访问。
无论旧应用程序如何访问数据存储(语言/库等),都可以从Cloud Console进行配置,以允许远程应用程序访问。具体的步骤可以在https://stackoverflow.com/questions/42051453/how-do-i-use-google-datastore-for-my-web-app-which-is-not-hosted-in-google-app-e/42060551#42060551中找到。
新应用程序将使用上述提到的客户端库和旧应用程序的服务帐号凭据(在上一段中获取)来访问旧应用程序的数据存储。
英文:
It might not be possible to share the datastore across multiple GAE apps using the Google App Engine Standard Environment Client Libraries. At least for python it's not possible, donno about go.
But the Cloud Datastore Client Libraries can be used to share a datastore across many apps, even from outside Google Cloud.
Regardless of the particular way the old app accesses the datastore (language/library/etc.) it can be configured from the Cloud Console to allow access to a remote app. The exact procedure steps are captured in https://stackoverflow.com/questions/42051453/how-do-i-use-google-datastore-for-my-web-app-which-is-not-hosted-in-google-app-e/42060551#42060551
The new app would be using the above-metioned client library with the old app's service account credentials (obtained in the above paragraph procedure) to access the old app's datastore.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论