azure 使用旧的java版本连接到Kusto

apeeds0o  于 2023-06-24  发布在  Java
关注(0)|答案(2)|浏览(88)

我试图从我的仓库和它使用java 8连接到kusto。文档中的先决条件是java 11或更早版本:https://github.com/Azure/azure-kusto-java
如果我使用Java 8,连接到kusto的方法是什么?

ConnectionStringBuilder csb = ConnectionStringBuilder.createWithAadApplicationCredentials(clusterPath, appId, appKey, authorityId);
Client kustoClient = ClientFactory.createClient(csb);
3vpjnl9f

3vpjnl9f1#

Java 11的要求是在4.0.0版本中引入的,请使用之前的任何版本。示例:

<dependency>
            <groupId>com.microsoft.azure.kusto</groupId>
            <artifactId>kusto-ingest</artifactId>
            <version>(,4.0.0)</version>
        </dependency>
qoefvg9y

qoefvg9y2#

如MSDoc中所述,

  • 您需要Java 11或更高版本才能使用Java连接到kusto。
  • 此外,您必须使用Maven 3.6.3或更高版本。
  • 我尝试用Java 8复制,但得到以下错误:*

代码段:

我尝试了Java 11,并得到了预期的结果:

public static void main(String[] args)
  {
    try {
      String clusterURI = "https://pravucluster.eastus.kusto.windows.net";
      ConnectionStringBuilder stringbuilder = ConnectionStringBuilder.createWithUserPrompt(clusterURI);

      try (Client kusto_client = ClientFactory.createClient(stringbuilder)) {
        String database = "sampledb";
        String query = "print dbcolumn='Hello Pravallika!'";
        KustoOperationResult kustoresponse = kusto_client.execute(database, query);

        KustoResultSetTable kustoresults = kustoresponse.getPrimaryResults();
        kustoresults.next();
        System.out.println(kustoresults.getString("dbcolumn"));
      } catch (Exception e) {
        System.out.println("Error: " + e.getMessage());
      }
    } catch (Exception e) {
      System.out.println("Error: " + e.getMessage());
    }
  }

pom.xml:

<dependency>
    <groupId>com.microsoft.azure.kusto</groupId>
    <artifactId>kusto-data</artifactId>
    <version>4.0.4</version>
</dependency>
<dependency>
    <groupId>com.microsoft.azure.kusto</groupId>
    <artifactId>kusto-ingest</artifactId>
    <version>4.0.4</version>
</dependency>

鉴权:

回复:

相关问题