Přepněte služby pomocí rozevíracího seznamu Verze .
Přečtěte si další informace o navigaci.
Platí pro: ✅ Microsoft Fabric ✅ Azure Data Explorer
V tomto článku se naučíte:
- Vytvoření první klientské aplikace
- Použití interaktivního ověřování
- Spusťte základní dotaz, který vytiskne Hello Kusto!
Požadavky
Nastavte vývojové prostředí tak, aby používalo klientskou knihovnu Kusto.
Vytvoření aplikace
V preferovaném integrovaném vývojovém prostředí nebo textovém editoru vytvořte projekt nebo soubor s názvem hello kusto pomocí konvence vhodné pro váš preferovaný jazyk. Pak přidejte následující kód:
Přidejte třídy klienta Kusto a tvůrce řetězců.
using Kusto.Data;
using Kusto.Data.Net.Client;
from azure.kusto.data import KustoClient, KustoConnectionStringBuilder
import { Client as KustoClient, KustoConnectionStringBuilder } from "azure-kusto-data";
import { InteractiveBrowserCredentialInBrowserOptions } from "@azure/identity";
Poznámka
Pro Node.js aplikace používejte místo InteractiveBrowserCredentialNodeOptionsInteractiveBrowserCredentialInBrowserOptions.
import com.microsoft.azure.kusto.data.Client;
import com.microsoft.azure.kusto.data.ClientFactory;
import com.microsoft.azure.kusto.data.KustoOperationResult;
import com.microsoft.azure.kusto.data.KustoResultSetTable;
import com.microsoft.azure.kusto.data.auth.ConnectionStringBuilder;
Definujte prázdnou funkci s názvem main a volejte ji.
namespace HelloKusto {
class HelloKusto {
static void Main(string[] args) {
}
}
}
def main():
if __name__ == "__main__":
main()
async function main()
{
}
main();
public class HelloKusto
{
public static void main(String[] args) throws Exception {
try {
}
}
}
Vytvořte objekt tvůrce připojovacích řetězců, který definuje identifikátor URI clusteru a nastaví režim ověřování na interaktivní. Další informace o identifikátoru URI clusteru najdete v části Kusto připojovací řetězce.
var clusterUri = "https://help.kusto.windows.net/";
var kcsb = new KustoConnectionStringBuilder(clusterUri).WithAadUserPromptAuthentication();
cluster_uri = "https://help.kusto.windows.net"
kcsb = KustoConnectionStringBuilder.with_interactive_login(cluster_uri)
Pochází z registrace aplikace Microsoft Entra, kterou vytvoříte v části clientIdredirectUri.
const clusterUri = "https://help.kusto.windows.net";
const authOptions = {
clientId: "00001111-aaaa-2222-bbbb-3333cccc4444",
redirectUri: "http://localhost:5173",
} as InteractiveBrowserCredentialInBrowserOptions;
const kcsb = KustoConnectionStringBuilder.withUserPrompt(clusterUri, authOptions);
Poznámka
Pro Node.js aplikace používejte místo InteractiveBrowserCredentialNodeOptionsInteractiveBrowserCredentialInBrowserOptions.
String clusterUri = "https://help.kusto.windows.net/";
ConnectionStringBuilder kcsb = ConnectionStringBuilder.createWithUserPrompt(clusterUri);
Poznámka
K interaktivnímu ověřování potřebujete účet Microsoft nebo identitu uživatele Microsoft Entra. Předplatné Azure není povinné.
V jazyce C# nemusí interaktivní proces ověřování uživatele vyzvat, pokud:
- Uživatel je už na zařízení ověřený.
- Na zařízení existuje existující ověřování webového uživatelského rozhraní Kusto.Explorer nebo Azure Data Explorer.
Vytvořte objekt klienta, který pro připojení ke clusteru používá objekt tvůrce připojovacích řetězců.
Poznámka
Uložte do mezipaměti a znovu použijte instanci klienta Kusto. Často opakované vytváření klientů Kusto může způsobit problémy s výkonem vaší aplikace a zvýšit zatížení clusteru.
using (var kustoClient = KustoClientFactory.CreateCslQueryProvider(kcsb)) {
}
with KustoClient(kcsb) as kusto_client:
const kustoClient = new KustoClient(kcsb);
try (Client kustoClient = ClientFactory.createClient(kcsb)) {
}
Definujte databázi a dotaz, který se má spustit. Dotaz zobrazí Hello Kusto! ve sloupci s názvem Welcome.
var database = "Samples";
var query = "print Welcome='Hello Kusto!'";
database = "Samples"
query = "print Welcome='Hello Kusto!'"
const database = "Samples";
const query = "print Welcome='Hello Kusto!'";
String database = "Samples";
String query = "print Welcome='Hello Kusto!'";
Spusťte dotaz a vytiskněte výsledek.
using (var response = kustoClient.ExecuteQuery(database, query, null)) {
response.Read();
int columnNo = response.GetOrdinal("Welcome");
Console.WriteLine(response.GetString(columnNo));
}
response = kusto_client.execute(database, query)
print(response.primary_results[0][0]["Welcome"])
const response = await kustoClient.execute(database, query);
console.log(response.primaryResults[0][0]["Welcome"].toString());
KustoOperationResult response = kustoClient.execute(database, query);
KustoResultSetTable primary_results = response.getPrimaryResults();
primary_results.next();
System.out.println(primary_results.getString("Welcome"));
Poznámka
Výstup dotazu se vrátí v odpovědi jako objekt, který obsahuje jednu nebo více tabulek tvořených jedním nebo více řádky a sloupci.
Formát objektu závisí na jazyce klientské knihovny.
Výpis kusto dotazu vrátí jednu tabulku s jedním řádkem a sloupcem.
Odpověď je objekt DataReader. Na výsledek můžete odkazovat následujícím způsobem:
- Čtení prvního řádku pomocí metody Read()
- K získání hodnoty prvního sloupce použijte metodu GetString().
Odpověď je primárním objektem JSON výsledků. Objekt obsahuje pole tabulek, které zase obsahuje pole řádků. Každý řádek obsahuje data uspořádaná do slovníku sloupců. Na výsledek můžete odkazovat následujícím způsobem:
- První index pole
[0] odkazuje na první tabulku.
- Druhý index pole
[0] odkazuje na první řádek.
- Klíč slovníku
["Welcome"] odkazuje na sloupec Welcome
Odpověď je KustoOperationResult objekt. Na výsledek můžete odkazovat následujícím způsobem:
- K získání primární tabulky výsledků použijte metodu getPrimaryResults().
- Použití metody next() ke čtení prvního řádku
- Použití metody getString() k získání hodnoty prvního sloupce
Celý kód by měl vypadat takto:
using Kusto.Data;
using Kusto.Data.Net.Client;
namespace HelloKusto {
class HelloKusto {
static void Main(string[] args) {
string clusterUri = "https://help.kusto.windows.net/";
var kcsb = new KustoConnectionStringBuilder(clusterUri).WithAadUserPromptAuthentication();
using (var kustoClient = KustoClientFactory.CreateCslQueryProvider(kcsb)) {
string database = "Samples";
string query = "print Welcome='Hello Kusto!'";
using (var response = kustoClient.ExecuteQuery(database, query, null)) {
response.Read();
int columnNo = response.GetOrdinal("Welcome");
Console.WriteLine(response.GetString(columnNo));
}
}
}
}
}
from azure.kusto.data import KustoClient, KustoConnectionStringBuilder
def main():
cluster_uri = "https://help.kusto.windows.net"
kcsb = KustoConnectionStringBuilder.with_interactive_login(cluster_uri)
with KustoClient(kcsb) as kusto_client:
database = "Samples"
query = "print Welcome='Hello Kusto!'"
response = kusto_client.execute(database, query)
print(response.primary_results[0][0]["Welcome"])
if __name__ == "__main__":
main()
import { Client as KustoClient, KustoConnectionStringBuilder } from "azure-kusto-data/";
import { InteractiveBrowserCredentialInBrowserOptions } from "@azure/identity";
async function main()
{
const clusterUri = "https://help.kusto.windows.net";
const authOptions = {
clientId: "00001111-aaaa-2222-bbbb-3333cccc4444",
redirectUri: "http://localhost:5173",
} as InteractiveBrowserCredentialInBrowserOptions;
const kcsb = KustoConnectionStringBuilder.withUserPrompt(clusterUri, authOptions);
const kustoClient = new KustoClient(kcsb);
const database = "Samples";
const query = "print Welcome='Hello Kusto!'";
const response = await kustoClient.execute(database, query);
console.log(response.primaryResults[0][0]["Welcome"].toString());
}
main();
Poznámka
Pro Node.js aplikace používejte místo InteractiveBrowserCredentialNodeOptionsInteractiveBrowserCredentialInBrowserOptions.
import com.microsoft.azure.kusto.data.Client;
import com.microsoft.azure.kusto.data.ClientFactory;
import com.microsoft.azure.kusto.data.KustoOperationResult;
import com.microsoft.azure.kusto.data.KustoResultSetTable;
import com.microsoft.azure.kusto.data.auth.ConnectionStringBuilder;
public class HelloKusto {
public static void main(String[] args) throws Exception {
try {
String clusterUri = "https://help.kusto.windows.net/";
ConnectionStringBuilder kcsb = ConnectionStringBuilder.createWithUserPrompt(clusterUri);
try (Client kustoClient = ClientFactory.createClient(kcsb)) {
String database = "Samples";
String query = "print Welcome='Hello Kusto!'";
KustoOperationResult response = kustoClient.execute(database, query);
KustoResultSetTable primaryResults = response.getPrimaryResults();
primaryResults.next();
System.out.println(primaryResults.getString("Welcome"));
}
}
}
}
Spuštění aplikace
V příkazovém prostředí spusťte aplikaci pomocí následujícího příkazu:
# Change directory to the folder that contains the hello world project
dotnet run .
V Node.js prostředí použijte následující příkaz:
node hello-kusto.js
V prostředí prohlížeče spusťte aplikaci pomocí příslušného příkazu. Například pro Vite-React:
npm run dev
mvn install exec:java -Dexec.mainClass="<groupId>.HelloKusto"
Měl by se zobrazit výsledek podobný následujícímu výstupu:
Hello Kusto!
Další krok