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

prepared statement varying number of where clauses
How to pass and object from controller to jsp page and then iterate the object to show them in a table?
Web application Path when using maven and Jetty
How do you automate integration testing between an Android app and a Rails application
Eclipse can't create new AVD [duplicate]
Incorrect result of image subtraction
How to append a list to another list in java
Global Web Application Parameter
Junit of equals method
Retrieving Metadata from MusicBrainz Web Service
user input to create object
Java String manipulation — Add spaces or substring
make new view of buttons from arraylist in android [closed]
What is the fastest method to find duplicates from a collection
difference between java.util.Scanner input = new Scanner () and import Scanner in main class [duplicate]
How to compare resultsets of two different databases? [closed]

Categories

HOME
cloud
webpack
deezer
single-sign-on
path-finding
smarty
json.net
relayjs
kalman-filter
jira
paw-app
sharepoint-designer
fsm
alpha
onelogin
iggrid
google-translate
nano-server
google-cloud-spanner
task
phaser
zebra-printers
percona
after-effects
custom-wordpress-pages
jasonette
tokenize
facebook-instant-articles
mmap
cultureinfo
smb
vlsi
centos6.5
apache-commons-io
facebook-access-token
react-css-modules
facebook-apps
vision
google-cloud-nl
code-contracts
html5-fullscreen
wpf-controls
appfabric
hockeyapp
sharefile
unobtrusive-validation
sql-server-agent
http-redirect
businessworks
sencha-touch-2.3
qcombobox
auto-update
logfiles
youcompleteme
multipeer-connectivity
blogengine.net
recursive-datastructures
nativeapplication
nodebb
windows-mobile-6.5
sqlbulkcopy
abcpdf9
setuptools
google-feed-api
dstu2-fhir
plottable.js
lttng
lua-5.1
moveit
prettytensor
sigabrt
hill-climbing
rvest
suffix-tree
independentsoft
netmq
freelancer.com-api
collapse
fouc
tarjans-algorithm
dukescript
muse
appfabric-cache
unity5.2.3
p2
jscript.net
tt-news
fpml
nsbutton
typeof
hyprlinkr
uv-mapping
dbconnection
file-locking
limejs
typoscript2
newtonscript
parametric-equations
chrono
mod-auth
oncheckedchanged
site.master
coda-slider
routedevent
firefox-5
javap
uimenucontroller
msdev

Resources

Encrypt Message