Проблемы с подключением к BigQuery с использованием клиентской библиотеки Google Cloud в приложении Spring Boot.JAVA

Программисты JAVA общаются здесь
Anonymous
Проблемы с подключением к BigQuery с использованием клиентской библиотеки Google Cloud в приложении Spring Boot.

Сообщение Anonymous »

Я работаю над приложением Spring Boot и пытаюсь подключиться к Google BigQuery с помощью клиентской библиотеки Google Cloud. У меня есть файл учетных данных JSON сервисной учетной записи, расположенный по адресу src/main/resources/my-todo/vm-dev-393108-80d765f9af09.json в моем проекте.
Я определил путь к своим учетным данным в application.properties следующим образом:

Код: Выделить всё

myapp.google.credentials.path=classpath:vm-dev-393108-80d765f9af09.json
И я использую этот путь для загрузки учетных данных в моей конфигурации Spring:

Код: Выделить всё

@Configuration
public class BigQueryConfig {
@Value("${myapp.google.credentials.path}")
private String googleCredentialsPath;

@Bean
public GoogleCredentials googleCredentials() {
try (FileInputStream serviceAccountStream = new FileInputStream(googleCredentialsPath)) {
return GoogleCredentials.fromStream(serviceAccountStream);
} catch (IOException e) {
throw new RuntimeException("Failed to load BigQuery credentials", e);
}
}

@Bean
public BigQuery bigQuery(GoogleCredentials credentials) {
return BigQueryOptions.newBuilder().setCredentials(credentials).build().getService();
}}
Однако при запуске приложения я сталкиваюсь со следующей ошибкой:

java.io.FileNotFoundException: ресурс пути к классу [vm-dev-393108-80d765f9af09.json] не может быть открыт, поскольку он не существует

Я проверил путь к файлу несколько раз, и это кажется правильным. Я не понимаю, почему Spring не может найти мой файл JSON.
Буду очень признателен за любую помощь. Спасибо!
Я новый разработчик Spring Boot и впервые пытаюсь установить соединение с Google BigQuery из приложения Spring Boot. Я разрабатываю свое приложение в Gitpod, онлайн-среде разработки.
До сих пор я пробовал разные способы определения пути к моему файлу учетных данных JSON:
Сначала я использовал полный путь, например my-todo/src/main/resources/vm-dev-393108-80d765f9af09.json, но это не сработало.
Затем я попытался скопировать относительный путь из контекстного меню в своей IDE и использовал этот путь в файле application.properties, но приложению все равно не удалось найти файл JSON.
Я ожидаю, что когда я запущу приложение Spring Boot, оно сможет использовать предоставленный путь для поиска файла JSON, загрузки учетных данных и успешного подключения к BigQuery.
Однако независимо от того, как я определяю путь к моему JSON файл, я продолжаю сталкиваться с FileNotFoundException, сообщающим, что файл JSON не существует, хотя файл действительно существует в моем проекте.
Я не уверен, что есть что-то конкретное в Spring, Gitpod или моя относительная неопытность, которая вызывает эту проблему. Я подозреваю, что в рабочей области Gitpod могут быть некоторые ограничения или особенности, которые не позволяют ему получить доступ к файлу JSON, расположенному внутри самой рабочей области. Мне очень хочется понять, какую ошибку я совершаю, и научиться ее исправлять.
Помните: чем больше контекста и подробностей вы предоставите, тем легче другим будет вам помочь!

Вернуться в «JAVA»