1

runQuery 메서드를 사용하여 Google Cloud Datastore REST API v1을 사용하여 gqlQuery를 생성하는 방법에 대한 구문을 안내해 줄 사람이 있습니까? REST API의 쿼리 구조를 이해하는 데 도움이 필요하며 Google OAUTH 또는 Cloud Datatore 설정에 도움이 필요하지 않습니다. 문서 링크, 예제 gqlQuery 실행 및 Cloud Datastore 구조를 아래에 포함 시켰습니다.Google Cloud Datastore REST API v1 (gqlQuery)

방법 : projects.runQuery https://cloud.google.com/datastore/docs/reference/rest/v1/projects/runQuery

Example gqlQuery = ("Select * From Customer") 

샘플 구글 데이터 저장소 구조

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

답변

0
POST https://datastore.googleapis.com/v1/projects/{YOUR_PROJECT_ID}:runQuery?key={YOUR_API_KEY} 
{YOUR_PROJECT_ID} 프로젝트에 클라우드 콘솔 홈 페이지에서 볼이고 할 수

영숫자

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

당신이 조건문을 포함 할 경우

, 당신은 바인딩 매개 변수를 사용하여뿐만 아니라이 작업을 수행 할 수 있습니다 귀하의 경우 있도록

메시지 본문, 쿼리의 세부 JSON 문자열이 될 것입니다 . 대신 위치 바인딩, 당신도 이름을 할 수있는 바인딩의

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

:

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

마지막으로, 그리고 을하지 않는 것이 좋습니다로에게이 이어질 수 아래의 예는이 달성 위치 바인딩을 사용하는 방법을 보여줍니다 주입 공격을 쿼리하려면 적절한 플래그를 설정하여 쿼리 문자열 자체에 리터럴을 포함 할 수 있습니다.

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

이 요청을 할 때 적절한 응답을 얻으시겠습니까? "CGA =": 나는 다음과 같은 200 응답을 얻을 수 있지만, 데이터의 내 예상 행

{ "배치"중 하나를 볼 수 없습니다 : { "entityResultType": "프로젝션" "endCursor" "moreResults": "NO_MORE_RESULTS" } }