共用方式為


Trino JDBC 驅動程式

重要

此功能目前為預覽功能。 適用於 Microsoft Azure 預覽版的補充使用規定包含適用於 Beta 版、預覽版或尚未發行至正式運作之 Azure 功能的更合法條款。 如需此特定預覽的相關信息,請參閱 AKS 預覽資訊的 Azure HDInsight。 如需問題或功能建議,請在 AskHDInsight提交要求,並提供詳細數據,並遵循我們在 Azure HDInsight 社群取得更多更新。

在 AKS 上使用 HDInsight 的 Trino 提供 JDBC 驅動程式,其支援 Microsoft Entra 驗證,並為其新增幾個參數。

安裝

JDBC 驅動程式 jar 包含在 Trino CLI 套件中, 在 AKS 上安裝 HDInsight 的 Trino CLI。 如果已安裝 CLI,您可以在檔案系統上找到它,路徑如下:

Windows:C:\Program Files (x86)\Microsoft SDKs\Azure\TrinoCli-<version>\lib

Linux:~/lib/trino-cli

驗證

Trino JDBC 驅動程式支援各種 Microsoft Entra 驗證方法。 下表描述重要的參數和驗證方法。 如需詳細資訊,請參閱 驗證

參數 意義 必要 描述
auth 驗證方法的名稱 No 決定如何提供用戶認證。 如果未指定,請使用 AzureDefault
azureClient 服務主體/應用程式的用戶端識別碼 是的 AzureClientSecret, AzureClientCertificate
azureTenant Microsoft Entra 租用戶識別碼 是的 AzureClientSecret, AzureClientCertificate
azureCertificatePath 憑證的檔案路徑 是的 AzureClientCertificate 具有憑證的 pfx/pem 檔案路徑。
azureUseTokenCache 使用令牌快取或不使用 No 如果提供,存取令牌會在模式中 AzureDefault, AzureInteractive, AzureDeviceCode 快取並重複使用。
azureScope 權杖範圍 No Microsoft Entra 範圍字串,用來要求令牌。
password 服務主體的客戶端密碼 是的 AzureClientSecret 使用 AzureClientSecret 模式時服務主體的秘密/密碼。
accessToken JWT 存取令牌 No 如果從外部取得存取令牌,可以使用此參數來提供。 在此情況下, 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 驅動程式中。