Я пытаюсь использовать поток данных Google с использованием шаблона JDB C до BigQuery
для извлечения информации из Salesforce
в BigQuery
. Драйвер JDB C, который я использую, - это Progress 'DataDirect JDB C Драйвер для Salesforce .
Я подтвердил, что могу подключиться к Salesforce с помощью драйвера локально.
К сожалению, когда я создаю задание в потоке данных с помощью драйвера, я получаю следующее исключение:
java .lang.RuntimeException: org. apache .beam.sdk.util. UserCodeException: java. sql .SQLException: Невозможно получить соединение, ошибка пула Невозможно активировать объект
Я могу предоставить трассировку стека при необходимости.
У меня есть настроил шаблон следующим образом (где значения в <> установлены соответствующим образом):
Regional endpoint: us-central1
JDBC connection URL string: jdbc:datadirect:sforce://path.to.salesforce.com;SecurityToken=<Security Token>;User=<User>;Password=<Password>
JDBC driver class name: com.ddtek.jdbc.sforce.SForceDriver
JDBC source SQL query: SELECT Email FROM LEAD;
BigQuery output table: <project>:<dataset>.<table_name>
GCS paths for JDBC drivers: gs://<some_bucket>/sforce.jar
Temporary directory for BigQuery loading process: gs://<some_bucket>/staging
Temporary location: gs://<some_bucket>/tmp
Я надеюсь, что кто-то, знакомый с этим вариантом использования, сможет помочь мне определить, почему я получаю это исключение и как я могу go о ее решении. Мои рабочие предположения заключаются в том, что я неправильно использую драйвер, мне нужно добавить дополнительные драйверы в GCS или возникла проблема с подключением к Salesforce через Dataflow.
Редактировать:
JDB * Драйвером 1034 * от Progress, который я использую, является версия 6.0. Я не уверен, какая версия Dataflow SDK используется при использовании пользовательского интерфейса, но когда я попробовал работать с Google Dataflow SDK локально, похоже, что я использую версию 2.5.0 на основе pom. xml.