小编Luc*_*uca的帖子

Google数据存储区查询和最终一致性

我想确认一下我对Google数据存储区中最终一致性的理解.假设我有一个如下定义的实体(使用ndb):

class Record(ndb.Model):
    name = ndb.StringProperty()
    content = ndb.BlobProperty()
Run Code Online (Sandbox Code Playgroud)

我想我理解情景1,但我对情景2和3有疑问,所以一些建议会受到高度赞赏.

场景1: 我插入一个名为"Luca"的新记录和一个给定的内容.然后,我查询数据存储区:

qry = Record.query(name=="Luca")
for r in qry.iter():
    logger.info("I got this content: %r" % r.content)
Run Code Online (Sandbox Code Playgroud)

据我所知,由于最终的一致性,刚刚插入的记录可能不是结果集的一部分.我知道如果需要的话,可以使用祖先查询.

场景2: 我读了一个名为"Luca"的现有记录,更新内容并将其写回.例如,假设我有此记录的密钥"k":

r = k.get()
r.content = "new content"
r.put()
Run Code Online (Sandbox Code Playgroud)

然后,我运行与场景1中相同的查询.当我得到结果时,假设记录是结果集的一部分(例如,因为索引已经包含名为"Luca"和密钥k的记录).我是否保证字段内容将具有新值"新内容"?换句话说,如果我更新记录,单独保留其键和索引字段,我保证会读取最新值吗?

场景3:我的做法与场景2类似,其中k是名为"Luca"的记录的关键字:

r = k.get()
r.content = "new content"
r.put()
Run Code Online (Sandbox Code Playgroud)

但后来我运行了查询的修改版本:

qry = Record.query(name=="Luca")
for k in qry.iter(keys_only=True):
    r = k.get()
    logger.info("I got this content: %r" % r.content)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,逻辑告诉我应该获取内容的最新值,因为按键读取可以保证强一致性.我很感激确认.

google-app-engine app-engine-ndb google-cloud-datastore

6
推荐指数
1
解决办法
1121
查看次数

如何为appengine上的自定义域启用SSL?

如何在Google Appengine上为自定义域激活SSL?

我在https://developers.google.com/appengine/docs/sslhttps://support.google.com/a/answer/2644334?hl=en上阅读的说明似乎是指旧版本Google Apps的管理控制台.

我查看了https://support.google.com/a/answer/2644334?hl=en,但在当前的控制台上,如果我执行安全性>高级设置>设置SSO,则没有地方要求提供AppEngine应用程序ID.

我查看了https://developers.google.com/appengine/docs/ssl.它指示我转到我的App域的管理控制台,并找到"域设置"选项卡,然后转到SSL子选项卡.但是,没有"域设置"选项卡,"域"选项卡只允许我添加域(不提及http/https).

那么,如何为使用自定义域的appengine应用程序设置SSL?

注意:几年前StackOverflow已经提出了这个问题,但谷歌仪表板从那时起已经发生了变化,我找到的信息已经不再适用了.

ssl google-app-engine

5
推荐指数
1
解决办法
1493
查看次数

如何将表单中文本输入字段的宽度设置为页面宽度的百分比?

我试图将文本输入字段的宽度设置为总页面宽度的百分比,如下所示:

<input type="text" id="url" NAME="otherSite" size="70%" value=""/>
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用.我似乎只能用绝对术语指定输入字段的宽度.

没有去javascript,有什么简单的方法吗?我试图让它在桌面和移动设备上看起来都很好,其中窗口的大小可能非常不同.

html javascript forms mobile

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