gpt4 book ai didi

database - 谷歌云数据存储 REST API v1 (gqlQuery)

转载 作者:搜寻专家 更新时间:2023-10-30 20:24:37 25 4
gpt4 key购买 nike

谁能告诉我如何使用 runQuery 方法使用 Google Cloud Datastore REST API v1.1 来执行 gqlQuery 的语法。我只需要了解 REST API 的查询结构方面的帮助,不需要 Google OAUTH 或设置 Cloud Datatore 方面的帮助。我在下面提供了文档链接、要运行的 gqlQuery 示例和 Cloud Datastore 结构。

方法:projects.runQuery https://cloud.google.com/datastore/docs/reference/rest/v1/projects/runQuery

Example gqlQuery = ("Select * From Customer")

示例 Google 数据存储结构

   id = "78090499534213120" 
Address = "888 Fake St"
City = "Fake City"
FirstName = "Name"
LastName = "Name"
State = "CT"

最佳答案

POST https://datastore.googleapis.com/v1/projects/{YOUR_PROJECT_ID}:runQuery?key={YOUR_API_KEY}

{YOUR_PROJECT_ID} 可以在项目的 Cloud Console 主页上找到,它是字母数字。

消息的正文将是一个包含查询详细信息的 JSON 字符串,因此在您的情况下:

{
"gqlQuery":{"queryString": "select * from customer"}
}

如果你想包含条件,你也可以通过使用参数绑定(bind)来实现。下面的例子展示了如何使用位置绑定(bind)来实现这一点:

{
"gqlQuery":
{
"queryString": "select * from Customers where State = @1 AND FirstName = @2",
"positionalBindings": [
{"value": {"stringValue": "CT"}}.
{"value": {"stringValue": "Name"}}
]
}
}

除了位置绑定(bind),您还可以进行命名绑定(bind):

{
"gqlQuery":
{
"queryString": "select * from Customers where State = @State AND FirstName = @FirstName",
"namedBindings": {
"State": {"value": {"stringValue": "CT"}},
"FirstName": {"value": {"stringValue": "Name"}}
}
}
}

最后,不推荐,因为它会导致查询注入(inject)攻击,您可以通过设置适当的标志在查询字符串本身中包含文字:

{
"gqlQuery":
{
"queryString": "select * from Customers where State = 'CT' AND FirstName = 'Name'",
"allowLiterals": true
}
}

关于database - 谷歌云数据存储 REST API v1 (gqlQuery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42089141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com