2016-11-19 5 views
1

Googleスプレッドシートのデータを含むフェデレーションテーブルを照会しました。スコープのジョブはすぐにそれを、挿入した後に失敗したhttps://www.googleapis.com/auth/driveなければBigQuery:ファイルパターンをグロビングしているときにエラーが発生しました

Set<String> scopes = new HashSet<>(); 
    scopes.add(BigqueryScopes.BIGQUERY); 
    scopes.add("https://www.googleapis.com/auth/drive"); 
    scopes.add("https://www.googleapis.com/auth/spreadsheets"); 
    final HttpTransport transport= new NetHttpTransport(); 
    final JsonFactory jsonFactory= new JacksonFactory(); 
    GoogleCredential credential = new GoogleCredential.Builder() 
       .setTransport(transport).setJsonFactory(jsonFactory) 
       .setServiceAccountId(GC_CREDENTIALS_ACCOUNT_EMAIL) 
       .setServiceAccountScopes(scopes) 
       .setServiceAccountPrivateKey(getPrivateKey())  
       .build(); 
    String omgsql = "SELECT * FROM [<myproject>:<mydataset>.failures] LIMIT 1000"; 
    JobReference jobIdomg = startQuery(bigquery, "<myproject>", omgsql); 

    // Poll for Query Results, return result output 
    Job completedJobomg = checkQueryResults(bigquery, "<myproject>", jobIdomg); 
    GetQueryResultsResponse queryResultomg = bigquery.jobs() 
     .getQueryResults(
      "<myproject>", completedJobomg 
       .getJobReference() 
       .getJobId() 
     ).execute(); 
    List<TableRow> rowsomg = queryResultomg.getRows(); 

- 完了に失敗:問題720 https://code.google.com/p/google-bigquery/issues/detail?id=720 の勧告に続いて、私は次のコードを作成しました。

Inserting Query Job: SELECT * FROM [<myproject>:<mydataset>.failures] LIMIT 1000 
Job ID of Query Job is: job_S3-fY5jrb4P3UhVgNGeRkDYQofg 
Job status (194ms) job_S3-fY5jrb4P3UhVgNGeRkDYQofg: RUNNING 
Job status (1493ms) job_S3-fY5jrb4P3UhVgNGeRkDYQofg: RUNNING 
Job status (2686ms) job_S3-fY5jrb4P3UhVgNGeRkDYQofg: RUNNING 
... 
Job status (29881ms) job_S3-fY5jrb4P3UhVgNGeRkDYQofg: DONE 
Exception in thread "main" com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request 
{ 
    "code" : 400, 
    "errors" : [ { 
    "domain" : "global", 
    "location" : "/gdrive/id/1T4qNgi9vFJF4blK4jddYf8XlfT6uDiqNpTExWf1NMyY", 
    "locationType" : "other", 
    "message" : "Encountered an error while globbing file pattern.", 
    "reason" : "invalid" 
    } ], 
    "message" : "Encountered an error while globbing file pattern." 
} 
    at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:145) 

ここで質問すると、他に何が欠けていますか?それともちょうどbigqueryのバグですか?

答えて

3

1日後、Google Credentialを取得するために使用しているアカウントは、外部テーブルが作成されたファイルにアクセスする必要があります。これが誰かを助けることを願っています。

関連する問題