小编Dan*_*ath的帖子

API调用datastore_v3.Put()需要的配额多于可用配额

如果达到数据存储区写操作限制,如何重置配额?数据存储上的任何操作(来自管理控制台和我的代码)都会报告以下错误:

The API call datastore_v3.Put() required more quota than is available.

我试图禁用应用程序并等待配额重置,但它不起作用.当应用程序启用时,它会产生许多任务,而这些任务又会尝试在数据存储上运行,这显然会消耗配额.

现在,我暂停了任务队列,并将再次尝试等待24小时.

这是正确的解决方案吗?

google-app-engine google-cloud-datastore

14
推荐指数
2
解决办法
6500
查看次数

在oauth2 SignedJwtAssertionCredentials中得到'invalid_grant'

我试图在服务器到服务器JSON API方案中创建oauth2 access_token.但它失败了invalid_grant错误,请帮忙.

from oauth2client.client import SignedJwtAssertionCredentials

KEY_FILE = 'xxxxxxxxxxxx-privatekey.p12'

with open(KEY_FILE, 'r') as fd:
    key = fd.read()

SERVICE_ACCOUNT_EMAIL = 'xxxxxx.apps.googleusercontent.com'

credentials = SignedJwtAssertionCredentials(SERVICE_ACCOUNT_EMAIL, key,
      scope="https://www.googleapis.com/auth/datastore https://www.googleapis.com/auth/userinfo.email",
      token_uri='https://accounts.google.com/o/oauth2/token')


assertion = credentials._generate_assertion()

h = httplib2.Http()
credentials._do_refresh_request(h.request)
Run Code Online (Sandbox Code Playgroud)

我得到了

Traceback (most recent call last):
  File "/Users/pahud/Projects/oauth2client/x.py", line 24, in <module>
    credentials._do_refresh_request(h.request)
  File "/Users/pahud/Projects/oauth2client/oauth2client/client.py", line 710, in _do_refresh_request
    raise AccessTokenRefreshError(error_msg)
oauth2client.client.AccessTokenRefreshError: invalid_grant
[Finished in 0.7s with exit code 1]
Run Code Online (Sandbox Code Playgroud)

http://i.stack.imgur.com/iGGYx.png

oauth2client google-cloud-datastore

14
推荐指数
1
解决办法
6875
查看次数

Beta Firebase Firestore不适用于使用应用引擎的项目

当我尝试将beta firestore添加到我的Google云平台项目时,我收到以下消息.

无法为此项目启用Firestore 目前,在已使用Cloud Datastore或App Engine的项目中无法启用Firestore

这会永远持续下去吗?
我想我想用firestore替换一些但不是全部的数据存储区来获得实时更新.

也许firestore在其后端使用数据存储和appengine?

我应该使用两个GCP项目来解决这个问题吗?

谢谢,内森

google-app-engine firebase google-cloud-datastore google-cloud-platform google-cloud-firestore

14
推荐指数
1
解决办法
2724
查看次数

Firebase Firestore:如何在Android上将文档对象转换为POJO

使用实时数据库,可以这样做:

MyPojo pojo  = dataSnapshot.getValue(MyPojo.Class);
Run Code Online (Sandbox Code Playgroud)

作为一种映射对象的方法,人们如何做到这一点Firestore

代码:

FirebaseFirestore db = FirebaseFirestore.getInstance();
        db.collection("app/users/" + uid).document("notifications").get().addOnCompleteListener(task -> {
            if (task.isSuccessful()) {
                DocumentSnapshot document = task.getResult();
                if (document != null) {
                    NotifPojo notifPojo = document....// here
                    return;
                }

            } else {
                Log.d("FragNotif", "get failed with ", task.getException());
            }
        });
Run Code Online (Sandbox Code Playgroud)

java android firebase google-cloud-firestore

14
推荐指数
2
解决办法
1万
查看次数

是否有任何工具可以备份/恢复Google Datastore实体?

我已经玩了谷歌应用引擎和谷歌数据存储一段时间,我面临着需要定期备份我的东西在云上.

是否有任何通用工具允许您从特定的google-datastore实例下载所有数据并将其还原到另一个?

如果是这样,请赐教,如果没有 - 有人应该这样做!

google-app-engine database-backups google-cloud-datastore

13
推荐指数
1
解决办法
6771
查看次数

如何使用Google App Engine进行不区分大小写的过滤查询?

我正在开发一个GAE Django项目,我必须实现搜索功能,我编写了一个查询,它根据搜索关键字获取数据.

portfolio = Portfolio.all().filter('full_name >=',key).filter('full_name <',unicode(key) + u'\ufffd')
Run Code Online (Sandbox Code Playgroud)

此查询的问题是,它区分大小写.

有没有什么方法可以让它工作,而不依赖于关键字的情况?

请建议.

提前致谢.

django google-app-engine google-cloud-datastore

13
推荐指数
1
解决办法
4660
查看次数

无法将GAE应用程序数据存储备份到GS存储桶

:这里所描述我想备份数据存储GAE对GS桶https://developers.google.com/appengine/docs/adminconsole/datastoreadmin#Backup_And_Restore.我试图在表单中提供存储桶名称:

bucket 
/gs/bucket
/gs/bucket/path
Run Code Online (Sandbox Code Playgroud)

但不是它的工作.每次收到消息时:

There was a problem kicking some off the jobs/tasks:
Invalid bucket name: 'bucket'
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?是否有可能将所有数据(包括blob文件)备份到GS而无需为此编写自定义代码?

google-app-engine database-backups google-cloud-storage google-cloud-datastore

13
推荐指数
2
解决办法
2901
查看次数

应用程序如何安全地存储Google Cloud Datoreore中的机密信息?

我正在构建一个将在Google App Engine(GAE)上运行的应用程序.它需要访问用户在其他系统中存储的数据(例如用户的Nest恒温器,Yahoo邮件).在GAE上运行的应用程序将允许用户为其他系统提供凭据.该应用程序会将这些凭据存储在Google Cloud(数据存储区)中,以供以后代表用户在Google Compute Engine上运行的应用程序使用.该应用程序还允许OAuth允许用户允许应用程序代表用户访问外部系统.该应用程序需要在Google Cloud中存储用户凭据(用户名和密码)或OAuth访问令牌.

应用程序需要在存储密码之前加密密码,并且能够解密数据以将其发送到外部系统.也就是说,系统将需要使用对称加密,因此需要安全地管理密钥.

应用程序如何安全地将这些机密存储在Google Cloud Datastore(数据存储区)中?我想我正在寻找像Google CloudHSM for Google这样的东西.也就是说,我想用种子和密钥id存储每个秘密,并使用密钥id从密钥管理系统获取密钥.此实现还允许密钥轮换和其他标准安全实践.

我想我正在寻找提供秘密管理的Google云服务或Google API,并且只允许具有适当Google应用标识符的应用访问这些机密.

Google Cloud或Google API中是否有可以管理机密的服务?我应该考虑另一种架构吗?

顺便说一下,该应用程序使用Google Identity Toolkit(GitKit)来验证和授权用户使用GAE托管的应用程序.该应用程序允许用户使用联合身份或用户名和密码通过GitKit创建帐户.

谢谢,克里斯

security google-app-engine oauth google-cloud-datastore google-cloud-platform

13
推荐指数
1
解决办法
4772
查看次数

谷歌应用引擎数据存储区中祖先的目的是什么?

我最近一直在玩谷歌应用引擎及其数据存储,并使用参考属性创建了数据模型和关系.

但是我不清楚祖先在数据存储区的概念.他们的目的是什么,我为什么要使用它们?它们如何与数据存储区实体的引用属性相关?

google-app-engine google-cloud-datastore

12
推荐指数
2
解决办法
4208
查看次数

GAE ndb设计,性能和重复属性的使用

假设我有一个图片库,一张图片可能有100k +粉丝.哪种ndb设计更有效?

class picture(ndb.model):
    fanIds = ndb.StringProperty(repeated=True)
    ... [other picture properties]
Run Code Online (Sandbox Code Playgroud)

要么

class picture(ndb.model):
    ... [other picture properties]

class fan(ndb.model):
    pictureId = StringProperty()
    fanId = StringProperty()
Run Code Online (Sandbox Code Playgroud)

您可以添加到ndb重复属性的项目数量是否有任何限制,并且在重复属性中存储大量项目是否有任何性能损失?如果使用重复属性效率较低,它们的用途是什么?

google-app-engine python-2.7 app-engine-ndb google-cloud-datastore

12
推荐指数
2
解决办法
4139
查看次数