java


Unable to Connect to BigQuery from local App Engine instance in Eclipse


I'm new to Google App Engine and I'm trying to run through some of the tutorials to see how this would work for my organization. We are looking at putting some of our data into BigQuery and converting some of our Web applications to App Engine which would need to access BigQuery data.
I am using the java-docs-samples-master code, specifically bigquery/cloud-client/src/main/java/com/example/bigquery/SimpleApp.java
I can run this from the command line using
mvn exec:java -Dexec.mainClass=com.example.bigquery.SimpleAppMain
I incorporate the code into App Engine, which I'm running in Eclipse and created a wrapper so I could still run it from the command line. It works when running from the command line but I get an error when I run it from App Engine in Eclipse.
Is there something I'm missing to configure my local App Engine to connect to Big Query?
Error:
com.google.cloud.bigquery.BigQueryException: Invalid project ID 'no_app_id'. Project IDs must contain 6-63 lowercase letters, digits, or dashes. IDs must start with a letter and may not end with a dash.
at com.google.cloud.bigquery.spi.v2.HttpBigQueryRpc.translate(HttpBigQueryRpc.java:86)
at com.google.cloud.bigquery.spi.v2.HttpBigQueryRpc.create(HttpBigQueryRpc.java:170)
at com.google.cloud.bigquery.BigQueryImpl$3.call(BigQueryImpl.java:208)
...
Caused by: com.google.api.client.googleapis.json.GoogleJsonResponseException: 400
{ "code" : 400,
"errors" : [ {
"domain" : "global",
"message" : "Invalid project ID 'no_app_id'. Project IDs must contain 6-63 lowercase letters, digits, or dashes. IDs must start with a letter and may not end with a dash.",
"reason" : "invalid"
} ],
"message" : "Invalid project ID 'no_app_id'. Project IDs must contain 6-63 lowercase letters, digits, or dashes. IDs must start with a letter and may not end with a dash."
}
Code:
package com.example.bigquery;
import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.FieldValue;
import com.google.cloud.bigquery.Job;
import com.google.cloud.bigquery.JobId;
import com.google.cloud.bigquery.JobInfo;
import com.google.cloud.bigquery.QueryJobConfiguration;
import com.google.cloud.bigquery.QueryResponse;
import com.google.cloud.bigquery.QueryResult;
import java.util.List;
import java.util.UUID;
public class SimpleApp {
public void runBQ() throws Exception {
// [START create_client]
BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();
// [END create_client]
// [START run_query]
QueryJobConfiguration queryConfig =
QueryJobConfiguration.newBuilder(
"SELECT "
+ "APPROX_TOP_COUNT(corpus, 10) as title, "
+ "COUNT(*) as unique_words "
+ "FROM `publicdata.samples.shakespeare`;")
// Use standard SQL syntax for queries.
// See: https://cloud.google.com/bigquery/sql-reference/
.setUseLegacySql(false)
.build();
// Create a job ID so that we can safely retry.
JobId jobId = JobId.of(UUID.randomUUID().toString());
Job queryJob = bigquery.create(JobInfo.newBuilder(queryConfig).setJobId(jobId).build());
// Wait for the query to complete.
queryJob = queryJob.waitFor();
// Check for errors
if (queryJob == null) {
throw new RuntimeException("Job no longer exists");
} else if (queryJob.getStatus().getError() != null) {
// You can also look at queryJob.getStatus().getExecutionErrors() for all
// errors, not just the latest one.
throw new RuntimeException(queryJob.getStatus().getError().toString());
}
// Get the results.
QueryResponse response = bigquery.getQueryResults(jobId);
// [END run_query]
// [START print_results]
QueryResult result = response.getResult();
// Print all pages of the results.
while (result != null) {
for (List<FieldValue> row : result.iterateAll()) {
List<FieldValue> titles = row.get(0).getRepeatedValue();
System.out.println("titles:");
for (FieldValue titleValue : titles) {
List<FieldValue> titleRecord = titleValue.getRecordValue();
String title = titleRecord.get(0).getStringValue();
long uniqueWords = titleRecord.get(1).getLongValue();
System.out.printf("\t%s: %d\n", title, uniqueWords);
}
long uniqueWords = row.get(1).getLongValue();
System.out.printf("total unique words: %d\n", uniqueWords);
}
result = result.getNextPage();
}
// [END print_results]
}
}
From the looks of your error code, it's probably due to your project ID not being set: "no_app_id". Here is how to set your project ID for app engine: https://developers.google.com/eclipse/docs/appengine_appid_version.

Related Links

Possible overtakes a chess piece can make as a List? One liner java 8
How to move a JFrame when the taskbar position or size change? [duplicate]
Maven Assembly Plugin NoClassDefFoundError
Shared preference value is null in my second acivity
Picasso fail to load image locally
Can I have both Maven and Gradle installed on my machine
Intellij Thymeleaf Syntax highlight not working properly
Maven WebApplication jar launches error
How to get data from sqllite table
I created a password validation and I want to encrypt the password after validation completed.and print that password in console
unreported exception NotBoundException; must be caught or declared to be thrown [duplicate]
binarySearch in int array does not find properly value 0 and less [duplicate]
Polymorphism instead of over-riding method, adding on
Java/Android - Make a button visible after a radio button has been clicked
JVM Crash: relationship with java.awt.Graphics?
Populate list dynamically in Codename one

Categories

HOME
cakephp
deployment
tizen
kde
webstorm
cmd
ckeditor
wamp
azure-media-services
ios-charts
upload
webrequest
python-unittest
google-translate
user-input
numeral.js
leiningen
vaadin7
highlight.js
google-static-maps
database-replication
amazonsellercentral
java-3d
web-sql
jndi
lcd
autosys
trading
dxf
crystal-reports-2010
angular2-aot
sqlcipher
poltergeist
rst2pdf
fluentvalidation
buck
wtx
preg-match
react-chartjs
bcd
oracle-fusion-middleware
winrt-xaml-toolkit
column-family
accelerate-framework
sequential
multilingual
android-browser
tasker
ibpy
eclipse-gef
upstart
return-value
pillow
sqldf
lync-client-sdk
chord-diagram
cubes
abcpdf9
measures
django-debug-toolbar
ready-api
make-install
pickadate
nessus
vstest.console.exe
directoryservices
block-device
modalpopup
file-copying
xcode-6.2
device-manager
google-reader
openexr
eol
navigationservice
phpthumb
transcoding
terminal-services
jsctypes
inbox
ftps
dataadapter
distutils
tinn-r
sublist
propertyeditor
cascalog
mercurial-server
nsobject
invite
oncheckedchanged
radcombobox
web-application-design
substrings
iweb
backcolor

Resources

Database Users
RDBMS discuss
Database Dev&Adm
javascript
java
csharp
php
android
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App