Ограничение для компаний. Мне приходится использовать разные учетные записи служб для разных служб Google.
Одна из учетных записей предназначена для pubsub, а вторая - для bigquery.
У меня есть учетные записи. получил аутентификацию pubsub для работы с пружиной.
Фрагмент
@Autowired
private ClientConfiguration clientConfiguration;
private Context context = new Context();
.
.
.
context.setClientConfiguration(clientConfiguration);
String projectId = clientConfiguration.getSubscriptionProjectDefault();
List<ReceivedMessage> receivedMessageList = getPubSubMessages(projectId, clientConfiguration.getSubscriptionNameDefault(), Integer.parseInt(clientConfiguration.getNumMaxOfMessages()));
При выполнении этих шагов для bigquery путь к секрету - "/ secret / secret_name" , Делая то, что говорит URL, я получаю nullpointerexception в файле. Вот фрагмент:
log.debug("PATH_BIG_QUERY_CREDENTIALS:"+System.getenv("PATH_BIG_QUERY_CREDENTIALS"));
String pathBigQueryCredentials = System.getenv("PATH_BIG_QUERY_CREDENTIALS");
File credentialsPath = new File(pathBigQueryCredentials);
FileInputStream serviceAccountStream = new FileInputStream(credentialsPath);
GoogleCredentials credentials = ServiceAccountCredentials.fromStream(serviceAccountStream);
BigQuery bigquery = BigQueryOptions.newBuilder().setCredentials(credentials).build().getService();
Как правильно использовать вторую учетную запись службы? Это не подлежит обсуждению: (