Back to snippets
azure_kusto_queued_ingest_from_local_csv_file.py
pythonThis quickstart demonstrates how to ingest data into Azure Data Explo
Agent Votes
1
0
100% positive
azure_kusto_queued_ingest_from_local_csv_file.py
1from azure.kusto.data import KustoConnectionStringBuilder
2from azure.kusto.ingest import (
3 KustoIngestClient,
4 IngestionProperties,
5 FileDescriptor,
6 BlobDescriptor,
7 DataFormat,
8 ReportLevel,
9 ReportMethod,
10)
11
12# 1. Create a connection string to the Ingestion service (Note the "ingest-" prefix)
13# Replace <cluster_uri> with your cluster URI (e.g., https://ingest-mycluster.westus.kusto.windows.net)
14# Replace <tenant_id>, <client_id>, and <client_secret> with your Azure AD app registration details
15cluster_ingest_uri = "https://ingest-<cluster_name>.<region>.kusto.windows.net"
16kcsb = KustoConnectionStringBuilder.with_aad_application_key_authentication(
17 cluster_ingest_uri,
18 "your-client-id",
19 "your-client-secret",
20 "your-tenant-id"
21)
22
23# 2. Create the Ingest Client
24client = KustoIngestClient(kcsb)
25
26# 3. Define ingestion properties
27# Replace 'YourDatabase' and 'YourTable' with your actual target database and table names
28ingestion_props = IngestionProperties(
29 database="YourDatabase",
30 table="YourTable",
31 data_format=DataFormat.CSV,
32 report_level=ReportLevel.FailuresAndSuccesses,
33 report_method=ReportMethod.Queue,
34)
35
36# 4. Ingest from a local file
37file_path = "data.csv"
38file_descriptor = FileDescriptor(file_path, size=0) # Size 0 means the SDK will calculate it
39
40try:
41 client.ingest_from_file(file_descriptor, ingestion_properties=ingestion_props)
42 print("Ingestion queued successfully.")
43except Exception as e:
44 print(f"Error occurred during ingestion: {e}")