0

아래의 코드 스 니펫을 사용하여 Dataflow에서 Cloud Datastore에 액세스하고 있습니다. 데이터 저장소는 내 프로젝트에서 만들어지며 클라우드 저장소에만 액세스하는 데이터 흐름 샘플을 실행할 수 있습니다.com.google.api.services.datastore.client.DatastoreException 발생 : 데이터 흐름에서 Cloud Datastore에 액세스하는 중 백엔드 오류

내가 쿼리를 생성하는 코드 아래 사용하고
Pipeline p = Pipeline.create(options); 
    String datasetId = "myGoogleProjectId"; 
    p.apply(
      Read.from(DatastoreIO.source() 
        .withDataset(datasetId) 
        .withQuery(getQuery()))) 
       .apply(new ParseEntity()) 
       .apply(new ProcessEntity()) 
       .apply(TextIO.Write.named("WriteEntityAttributes").to(options.getOutput()));   
    p.run(); 

,

 Query.Builder q = Query.newBuilder(); 
     q.addKindBuilder().setName("MyKind"); 
     return q.build(); 

그러나 고 당신의 도움을 주셔서 감사합니다 DirectPiplelineRunner

Aug 17, 2016 1:02:15 AM com.google.cloud.dataflow.sdk.runners.DirectPipelineRunner run 
INFO: Executing pipeline using the DirectPipelineRunner. 
Aug 17, 2016 1:06:26 AM com.google.cloud.dataflow.sdk.util.RetryHttpRequestInitializer$LoggingHttpBackoffUnsuccessfulResponseHandler handleResponse 
WARNING: Request failed with code 503, will NOT retry: https://www.googleapis.com/datastore/v1beta2/datasets/myGoogleProjectId/runQuery 
Exception in thread "main" java.lang.RuntimeException: java.io.IOException: com.google.api.services.datastore.client.DatastoreException: Backend Error 
    at com.google.cloud.dataflow.sdk.io.Read$Bounded$1.evaluateReadHelper(Read.java:189) 
    at com.google.cloud.dataflow.sdk.io.Read$Bounded$1.evaluate(Read.java:168) 
    at com.google.cloud.dataflow.sdk.io.Read$Bounded$1.evaluate(Read.java:164) 
    at com.google.cloud.dataflow.sdk.runners.DirectPipelineRunner$Evaluator.visitTransform(DirectPipelineRunner.java:858) 
    at com.google.cloud.dataflow.sdk.runners.TransformTreeNode.visit(TransformTreeNode.java:219) 
    at com.google.cloud.dataflow.sdk.runners.TransformTreeNode.visit(TransformTreeNode.java:215) 
    at com.google.cloud.dataflow.sdk.runners.TransformHierarchy.visit(TransformHierarchy.java:102) 
    at com.google.cloud.dataflow.sdk.Pipeline.traverseTopologically(Pipeline.java:259) 
    at com.google.cloud.dataflow.sdk.runners.DirectPipelineRunner$Evaluator.run(DirectPipelineRunner.java:814) 
    at com.google.cloud.dataflow.sdk.runners.DirectPipelineRunner.run(DirectPipelineRunner.java:526) 
    at com.google.cloud.dataflow.sdk.runners.DirectPipelineRunner.run(DirectPipelineRunner.java:96) 
    at com.google.cloud.dataflow.sdk.Pipeline.run(Pipeline.java:180) 
    at com.google.cloud.dataflow.examples.WordCount.main(WordCount.java:291) 
Caused by: java.io.IOException: com.google.api.services.datastore.client.DatastoreException: Backend Error 
    at com.google.cloud.dataflow.sdk.io.DatastoreIO$DatastoreReader.advance(DatastoreIO.java:920) 
    at com.google.cloud.dataflow.sdk.io.DatastoreIO$DatastoreReader.start(DatastoreIO.java:911) 
    at com.google.cloud.dataflow.sdk.io.Read$Bounded$1.evaluateReadHelper(Read.java:178) 
    ... 12 more 
Caused by: com.google.api.services.datastore.client.DatastoreException: Backend Error 
    at com.google.api.services.datastore.client.RemoteRpc.makeException(RemoteRpc.java:115) 
    at com.google.api.services.datastore.client.RemoteRpc.call(RemoteRpc.java:81) 
    at com.google.api.services.datastore.client.BaseDatastoreFactory$RemoteRpc.call(BaseDatastoreFactory.java:41) 
    at com.google.api.services.datastore.client.Datastore.runQuery(Datastore.java:109) 
    at com.google.cloud.dataflow.sdk.io.DatastoreIO$DatastoreReader.getIteratorAndMoveCursor(DatastoreIO.java:969) 
    at com.google.cloud.dataflow.sdk.io.DatastoreIO$DatastoreReader.advance(DatastoreIO.java:918) 
    ... 14 more 
Caused by: com.google.api.client.http.HttpResponseException: 503 Service Unavailable 
Backend Error 
    at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1070) 
    at com.google.api.services.datastore.client.RemoteRpc.call(RemoteRpc.java:78) 
    ... 18 more 

사용하여 데이터 흐름을 실행하는 동안 오류 아래에 무엇입니까!

+0

프로젝트 ID를 eddavisson @로 보낼 수 있습니까? –

+0

보냈습니다! 덕분에 v 많이 – raserside

답변

0

이 버전의 데이터 흐름을 사용하려면 Cloud Console에서 "Google Cloud Datastore API (v1beta2)"API를 사용하도록 설정해야합니다.

+0

굉장! 효과가있었습니다. 도와 주셔서 대단히 감사합니다! – raserside

관련 문제