如何以编程方式获取集群的 JDBC/ODBC 参数?

Eme*_*mer 5 jdbc databricks azure-databricks databricks-sql

Databricks 文档展示了如何从 UI 中的 JDBC/ODBC 选项卡获取集群的主机名、端口、HTTP 路径和 JDBC URL 参数。看图片:

Databricks 的 JDBC/ODBC 选项卡
(来源:databricks.com

有没有办法以编程方式获取相同的信息?我的意思是使用 Databricks API 或 Databricks CLI。HTTP path我对包含Workspace Id 的内容特别感兴趣。

Ale*_*Ott 6

您可以使用SQL Analytics REST API 的Get 操作(可能与 一起使用List) - 它返回 JDBC 连接字符串作为响应的一部分(jdbc_url字段):

{
  "id": "123456790abcdef",
  "name": "My SQL endpoint",
  "cluster_size": "Medium",
  "min_num_clusters": 1,
  "max_num_clusters": 10,
  "auto_stop_mins": 30,
  "num_clusters": 5,
  "num_active_sessions": 30,
  "state": "RUNNING",
  "creator_name": "user@example.com",
  "jdbc_url":"jdbc:spark://<databricks-instance>:443/default;transportMode=http;ssl=1;AuthMech=3;httpPath=/sql/protocolv1/o/0123456790abcdef;",
  "odbc_params": {
    "host": "<databricks-instance>",
    "path": "/sql/protocolv1/o/0/123456790abcdef",
    "protocol": "https",
    "port": 443
  }
}
Run Code Online (Sandbox Code Playgroud)

HTTP 路径也在那里,作为对象path的一部分odbc_params