Hi community,
I had a very serious error with gradle because gradle used an other bigquery account.
I encountered this error :
Error executing BigQuery query: Access Denied: Project compte-nickel-datastg: User does not have bigquery.jobs.create permission in project compte-nickel-datastg.
We investigated with the Bigquery team at my company and they tell me that Gradle sends the “compte-nickel-dataprod” account instead of sending “compte-nickel-dataprod”.
So, Gradle use “compte-nickel-dataprod” but does not use the “compte-nickel-dataprod” account.
In my java code, i have just this line and it’s work on my personal computer :
package Keywords
import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.QueryJobConfiguration;
import com.google.cloud.bigquery.TableResult;
public class BigQueryReadData {
private static final String projectid = "compte-nickel-datastg";
private static final String tableid = "RAW_qualif_eco_sepa";
private static final String datasetid = "KAFKA";
private static final String file_path = "C:\\Users\\soukna\\Katalon Studio\\BG\\BG_secret3.json";
//private static final String file_path = "C:\\Users\\soukna\\Katalon Studio\\BG\\BG_secret.json";
public static void main(String[] args) {
System.setProperty("GOOGLE_APPLICATION_CREDENTIALS", file_path);
BigQuery bigQuery = BigQueryOptions.getDefaultInstance().getService();
String query = String.format("SELECT * FROM `%s.%s.%s` LIMIT 5;", projectid, datasetid, tableid);
QueryJobConfiguration queryConfig = QueryJobConfiguration.newBuilder(query).build();
try {
TableResult result = bigQuery.query(queryConfig);
for (com.google.cloud.bigquery.FieldValueList row : result.iterateAll()) {
System.out.println(row);
}
} catch (Exception e) {
System.err.println("Error executing BigQuery query: " + e.getMessage());
}
}
}
So, I repeat that Gradle use “compte-nickel-dataprod” account and I wish to set up Gradle to use the “compte-nickel-datastg” account.
Someone can help me please ?
This is my Build.gradle :
plugins {
id 'groovy'
}
group = 'org.example'
version = '1.0-SNAPSHOT'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.apache.groovy:groovy:4.0.2'
implementation 'com.google.cloud:google-cloud-bigquery:2.29.0'
implementation 'com.google.oauth-client:google-oauth-client-jetty:1.34.1'
}
sourceSets {
main {
groovy {
srcDirs = ['Keywords'] // Add the 'Keywords' folder here
}
}
}
test {
useJUnitPlatform()
}
tasks.register('run', JavaExec) {
mainClass = 'Keywords.BigQueryReadData'
classpath = sourceSets.main.runtimeClasspath + files('Keywords')
}
Thank u