你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Trino JDBC 驱动程序
注意
我们将于 2025 年 1 月 31 日停用 Azure HDInsight on AKS。 在 2025 年 1 月 31 日之前,你需要将工作负荷迁移到 Microsoft Fabric 或同等的 Azure 产品,以避免工作负荷突然终止。 订阅上的剩余群集会被停止并从主机中移除。
在停用日期之前,仅提供基本支持。
重要
此功能目前以预览版提供。 Microsoft Azure 预览版的补充使用条款包含适用于 beta 版、预览版或其他尚未正式发布的 Azure 功能的更多法律条款。 有关此特定预览版的信息,请参阅 Azure HDInsight on AKS 预览版信息。 如有疑问或功能建议,请在 AskHDInsight 上提交请求并附上详细信息,并关注我们以获取 Azure HDInsight Community 的更多更新。
与 HDInsight on AKS 配合使用的 Trino 提供 JDBC 驱动程序,该驱动程序支持 Microsoft Entra 身份验证,并为它添加几个了参数。
安装
JDBC 驱动程序 jar 包含在 Trino CLI 包(安装适用于 HDInsight on AKS 的 Trino CLI)中。 如果已安装 CLI,可以在文件系统上找到它,路径如下:
Windows:
C:\Program Files (x86)\Microsoft SDKs\Azure\TrinoCli-<version>\lib
Linux:
~/lib/trino-cli
身份验证
Trino JDBC 驱动程序支持各种 Microsoft Entra 身份验证方法。 下表介绍了重要的参数和身份验证方法。 有关详细信息,请参阅身份验证。
参数 | 含义 | 必须 | 说明 |
---|---|---|---|
auth | 身份验证方法的名称 | 否 | 确定如何提供用户凭据。 如果未指定,则使用 AzureDefault 。 |
azureClient | 服务主体/应用程序的客户端 ID | 适用于 AzureClientSecret, AzureClientCertificate 。 |
|
azureTenant | Microsoft Entra 租户 ID | 适用于 AzureClientSecret, AzureClientCertificate 。 |
|
azureCertificatePath | 证书的文件路径 | 适用于 AzureClientCertificate 。 |
包含证书的 pfx/pem 文件的路径。 |
azureUseTokenCache | 是否使用令牌缓存 | 否 | 如果已提供,则会在 AzureDefault, AzureInteractive, AzureDeviceCode 模式下缓存并重复使用访问令牌。 |
azureScope | 令牌范围 | 否 | 用于请求令牌的 Microsoft Entra 范围字符串。 |
password | 服务主体的客户端密码 | 适用于 AzureClientSecret 。 |
使用 AzureClientSecret 模式时,服务主体的机密/密码。 |
accessToken | JWT 访问令牌 | 否 | 如果访问令牌是从外部获取的,可使用此参数提供。 在这种情况下,不允许使用 auth 参数。 |
示例 - 连接字符串
说明 | JDBC 连接字符串 |
---|---|
AzureDefault | jdbc:trino://cluster1.pool1.region1.projecthilo.net |
交互式浏览器身份验证 | jdbc:trino://cluster1.pool1.region1.projecthilo.net?auth=AzureInteractive |
使用令牌缓存 | jdbc:trino://cluster1.pool1.region1.projecthilo.net?auth=AzureInteractive&azureUseTokenCache=true |
具有机密的服务主体 | jdbc:trino://cluster1.pool1.region1.projecthilo.net?auth=AzureClientSecret&azureTenant=11111111-1111-1111-1111-111111111111&azureClient=11111111-1111-1111-1111-111111111111&password=placeholder |
通过 Java 代码使用 JDBC 驱动程序
找到 JDBC jar 文件并将其安装到本地 maven 存储库中:
mvn install:install-file -Dfile=<trino-jdbc-*.jar> -DgroupId=io.trino -DartifactId=trino-jdbc -Dversion=<trino-jdbc-version> -Dpackaging=jar -DgeneratePom=true
使用 JDBC 下载并解压缩连接到 Trino 的示例 java 代码。 有关详细信息和示例,请参阅包含的 README.md。
使用开源 Trino JDBC 驱动程序
还可以从外部获取访问令牌,并将其传递给开源 Trino JDBC 驱动程序,使用此身份验证的示例 java 代码包含在在 java 代码部分使用 JDBC 驱动程序中。