我的用例是使用databricks笔记本中的spn凭据连接到sql服务器。因为我没有用户名和密码,也不能生成访问令牌,所以我只能借助spn来完成。直到现在我什么也没找到。如果有人以前做过或有想法,请帮助如何做。提前感谢:)
xxe27gdn1#
是的,这是可能的,在sqlspark连接器的存储库和文档中都有描述。先决条件是安装azure activedirectory library for java库。安装这两个依赖项后,以下代码应该可以工作:
context = adal.AuthenticationContext(authority) token = context.acquire_token_with_client_credentials( resource_app_id_url, service_principal_id, service_principal_secret) access_token = token["accessToken"] jdbc_db = spark.read \ .format("com.microsoft.sqlserver.jdbc.spark") \ .option("url", url) \ .option("dbtable", table_name) \ .option("accessToken", access_token) \ .option("encrypt", "true") \ .option("hostNameInCertificate", "*.database.windows.net") \ .load()
1条答案
按热度按时间xxe27gdn1#
是的,这是可能的,在sqlspark连接器的存储库和文档中都有描述。先决条件是安装azure activedirectory library for java库。安装这两个依赖项后,以下代码应该可以工作: