Вопрос или проблема
Я следую инструкциям в документации, чтобы настроить соединение от нашего приложения Salesforce Data Cloud к Databricks. Документация: https://learn.microsoft.com/en-us/azure/databricks/query-federation/salesforce-data-cloud
В Catalog Explorer я выбираю Salesforce Data Cloud как тип соединения и ввожу свой client_id, client_secret и следующие scopes для соединения в Databricks: cdp_api api cdp_query_api refresh_token offline_access
Когда я тестирую соединение, я вижу следующую ошибку:
CANNOT_VALIDATE_CONNECTION] Validation of UNKNOWN_CONNECTION_TYPE connection is not supported. Please contact Databricks support for alternative solutions, or set "spark.databricks.testConnectionBeforeCreation" to "false" to skip connection testing before creating a connection object. SQLSTATE: 08000, data: {"type":"baseError","stackFrames":["org.apache.spark.SparkUnsupportedOperationException: [CANNOT_VALIDATE_CONNECTION] Validation of UNKNOWN_CONNECTION_TYPE connection is not supported. Please contact Databricks support for alternative solutions, or set \"spark.databricks.testConnectionBeforeCreation\" to \"false\" to skip connection testing before creating a connection object. SQLSTATE: 08000\n\tat org.apache.spark.sql.errors.QueryExecutionErrors$.cannotValidateConnectionError(QueryExecutionErrors.scala:1211)
Я также пытался использовать SQL-инструкции из раздела чуть ниже документации Catalog Explorer здесь: Документация: https://learn.microsoft.com/en-us/azure/databricks/query-federation/salesforce-data-cloud#sql
Я получил код из URL и ввёл его в SQL-запрос ниже:
CREATE CONNECTION sf_test TYPE SALESFORCE OPTIONS ( client_id 'blahblah', client_secret 'blahblah', pkce_verifier 'blahblah', authorization_code 'blahblah', oauth_redirect_uri "https://login.salesforce.com/services/oauth2/success", oauth_scope "api refresh_token cdp_profile_api cdp_query_api", is_sandbox "false" );
Когда я запускаю это, TYPE SALESFORCE в запросе выше показывает следующую ошибку:
ErrorClass=INVALID_PARAMETER_VALUE.CONNECTION_TYPE_NOT_ENABLED] Connection type 'SALESFORCE' is not enabled. Please enable the connection to use it.
Но если я использую TYPE из их инструкций (salesforce_data_cloud), я вижу эту ошибку:
Cannot create connection of type 'salesforce_data_cloud'. Supported connection types: GA4_RAW_DATA, BIGQUERY, POSTGRESQL, WORKDAY_RAAS, REDSHIFT, SNOWFLAKE, MYSQL, SQLDW, SQLSERVER, FABRIC, SERVICENOW, NETSUITE, DATABRICKS, SALESFORCE. SQLSTATE: 42000
Буду благодарен за любую помощь!
Ответ или решение
Ошибка подключения Salesforce Data Cloud к Databricks: CANNOT_VALIDATE_CONNECTION и INVALID_PARAMETER_VALUE.CONNECTION_TYPE_NOT_ENABLED
При попытке установить соединение между приложением Salesforce Data Cloud и Databricks вы столкнулись с двумя основными ошибками: CANNOT_VALIDATE_CONNECTION и INVALID_PARAMETER_VALUE.CONNECTION_TYPE_NOT_ENABLED. Давайте разберем каждую из этих ошибок и предложим шаги для их устранения.
1. Ошибка CANNOT_VALIDATE_CONNECTION
Эта ошибка заявляет, что процесс валидации соединения с типом подключения, который не поддерживается, не может быть выполнен. Сообщение об ошибке также предлагает установить параметр spark.databricks.testConnectionBeforeCreation
в значение false
, чтобы пропустить тестирование соединения перед созданием объекта соединения. Однако, лучшим решением было бы определить, почему тип подключения не распознается.
Шаги по устранению:
-
Проверка конфигурации: Убедитесь, что вы правильно указали все параметры соединения, такие как
client_id
,client_secret
иoauth_scope
. Широкий спектр разрешений (scopes) должен также соответствовать тем, что поддерживает Databricks. Для Salesforce Data Cloud убедитесь, что все необходимые разрешения присутствуют. -
Обновление библиотек: Убедитесь, что используемые вами библиотеки и версии API актуальны и поддерживают интеграцию с Salesforce Data Cloud.
-
Политики безопасности: В некоторых случаях, настройки безопасности платформ могут ограничивать доступ. Проверьте, нет ли ограничений по сети или безопасности для вашего приложения на стороне Salesforce или Databricks.
2. Ошибка INVALID_PARAMETER_VALUE.CONNECTION_TYPE_NOT_ENABLED
Ошибку CONNECTION_TYPE_NOT_ENABLED вызывает использование неподдерживаемого типа подключения. Вы упомянули, что использование TYPE SALESFORCE
вернуло ошибку, а тип salesforce_data_cloud
также не распознан.
Шаги по устранению:
-
Проверка доступных типов подключения: Убедитесь, что тип подключения
salesforce_data_cloud
действительно доступен для вашего аккаунта Databricks или что у вас есть необходимые разрешения для его использования. Проверьте, включен ли этот тип подключения в настройках вашей учетной записи Databricks. -
Документация и поддержка: Убедитесь, что вы используете самую последнюю версию документации от Databricks, а также обратитесь к поддержке Databricks для уточнения информации о том, как активировать тип подключения Salesforce Data Cloud.
-
Контакт с техподдержкой: Если ошибки продолжаются, обратитесь в службу поддержки Databricks с просьбой о помощи в активации и настройки подключения. Пожалуйста, предоставьте все детали конфигурации, которые вы использовали.
Итог
Для эффективного решения проблем подключения между Salesforce Data Cloud и Databricks важно учитывать правильность настройки параметров соединения и доступность типов подключения для вашей учетной записи. Оставайтесь в курсе обновлений документации и версий API, и при необходимости обращайтесь за поддержкой к провайдеру услуг.