Подключайтесь к базам данных Azure через odbc с помощью python и Azure AD

#python #azure-active-directory #odbc #databricks #simba

Вопрос:

Не могли бы вы дать мне некоторые инструкции или ресурсы (поскольку я не могу найти ничего, что потенциально могло бы указать мне правильное направление) с информацией о том, как подключиться к базам данных Azure с помощью odbc (драйвер python simba) и учетных данных участника службы Azure AD?

Я уже пытался использовать такого рода связь:

 driver = os.getenv("SIMBA_DRIVER", "path to libsparkodbc_sb64.so")

context = adal.AuthenticationContext(f"https://login.microsoftonline.com/{tenant_id}"
token = context.acquire_token_with_client_credentials(resource, cliend_id, client_secret)

odbc_conn_str = f"Driver={driver};Host=urlfordatabricks;PORT=443;HTTPPath=sqlpathforcluster;AuthMech=11;Auth_Flow=0;Auth_AccessToken={token.get('accessToken');SSL=1;"

with pyodbc.connect(odbc_conn_str, autocommit=True) as conn:
    logic...
 

К сожалению, я получаю следующую ошибку: [Simba][DSI] Произошла ошибка при попытке получить сообщение об ошибке для ключа»DSCurlRecvError».

Я могу подключиться к платформе databricks, используя свой личный токен и AuthMech=3 с UID и PWD, но это не то, что желательно.

Спасибо за любой намек.

Комментарии:

1. Эта ошибка означает, что искомый ключ не был найден. Вы пробовали получить маркер Azure Active Directory с помощью субъекта — службы и подключить pyodbc к хранилищам данных Azure-здесь замените значение маркера доступа Azure AD для рабочей области Azure Databricks <personal-access-token> .