Oi, Roberto! Como vai?
Esse problema ocorreu pois, de fato, a integração do BigQuery com o Eclipse não está mais acontecendo nas novas versões.
Felizmente, encontramos uma forma de fazer a conexão com Java utilizando o VSCode! Aqui abaixo vou deixar o passo a passo necessário para acessar um projeto BigQuery com Java.
Configurando o ambiente
Criando o projeto Java
Vamos criar um projeto Maven.
Aperte Control + Shift + P e crie um novo projeto Java
Escolha Maven
Escolha No Archetype para que um projeto básico seja criado
Aperte enter em "com.example"
Aperte enter em "demo"
Escolha uma pasta no seu computador para salvar o projeto
Abra o projeto
Fazendo as configurações
Agora, vamos adicionar a dependência do Google no nosso projeto. Vá até o arquivo pom.xml e adicione o seguinte conteúdo após </properties>
e antes de </project>
:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>libraries-bom</artifactId>
<version>26.20.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-bigquery</artifactId>
</dependency>
</dependencies>
Confira a estrutura do arquivo pom.xml completa na imagem:
Salve o arquivo para que o VSCode baixe as dependências.
Volte ao arquivo main.java. Substituindo o código de exemplo, adicione o código a seguir:
package com.example;
import java.io.FileInputStream;
import com.google.auth.oauth2.ServiceAccountCredentials;
import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.FieldValueList;
import com.google.cloud.bigquery.JobException;
import com.google.cloud.bigquery.QueryJobConfiguration;
public class Main {
public static void main(String[] args) throws Exception {
BigQuery bigquery = BigQueryOptions.newBuilder().setProjectId("ID_DO_SEU_PROJETO")
.setCredentials(
ServiceAccountCredentials.fromStream(new FileInputStream("CAMINHO_ONDE_BAIXOU_O_JSON_DA_AULA"))
).build().getService();
String query = "SELECT * FROM `bigquery-public-data.samples.shakespeare` LIMIT 10";
QueryJobConfiguration queryConfig = QueryJobConfiguration.newBuilder(query).build();
try{
for(FieldValueList row: bigquery.query(queryConfig).iterateAll()){
System.out.println(row.get("word").getStringValue());
}
}catch (JobException | InterruptedException e){
e.printStackTrace();
}
}
}
Note que é necessário substituir as strings ID_DO_SEU_PROJETO
e CAMINHO_ONDE_BAIXOU_O_JSON_DA_AULA
.
Dicas:
- O JSON é o que contém a chave de acesso do projeto do Google Cloud, baixado na aula Ativando API e baixando JSON Segurança
- Copie o caminho completo do arquivo. Use barras tombadas para a direita ( / ) como separador das pastas.
- O ID do projeto é obtido no console do Google Cloud.
Para executar o projeto, clique no ícone que tem uma joaninha e então em Run and debug:
Prontinho!
Nesse código, está um exemplo utilizando uma base de dados pública mas, a partir daqui, pode seguir conforme a aula.
Espero que dê tudo certo, Roberto. Se restar alguma dúvida, é só me avisar.
Abraços.