d5027662fa | ||
---|---|---|
.github | ||
data | ||
ingest | ||
quickstart | ||
samples | ||
.gitignore | ||
.travis.yml | ||
CODE_OF_CONDUCT.md | ||
LICENSE | ||
README.md | ||
codecov.yml | ||
kusto-style.xml | ||
pom.xml |
README.md
Microsoft Azure Kusto (Azure Data Explorer) SDK for Java
This is the Microsoft Azure Kusto client library which allows communication with Kusto to bring data in (ingest) and query information already stored in the database. This library contains 3 different modules:
- data: The main client that allows interaction with Kusto, including creating a connection, issuing (control) commands and querying data
- ingest: Provides an easy way to bring data into Kusto
- quickstart: Self-contained, configurable and runnable sample app for easily getting started with the SDK
- samples: Sample code implementing various scenarios
Install
Maven
This method is the easiest to follow, just add the following dependency to your pom.xml (with the right version tag from maven central):
<dependency>
<groupId>com.microsoft.azure.kusto</groupId>
<artifactId>kusto-ingest</artifactId>
<version>[see badge below]</version>
</dependency>
Clone
Download the source code, compile and install locally.
One way to do this is by using maven like in the following example:
git clone git://github.com/Azure/azure-kusto-java.git
cd azure-kusto-java
mvn install
Prerequisites
- A Java Developer Kit (JDK), version 1.8 or later
- Maven
Samples
Using A Proxy
The SDK includes support for the built-in proxy system properties in java.
For example, when the address of your proxy server is 1.2.3.4:8989, you can run:
java -ea -Dhttp.proxyHost=1.2.34 -Dhttp.proxyPort=8989 -Dhttps.proxyHost=1.2.3.4 -Dhttps.proxyPort=8989
And the SDK will know to use these values automatically.
Alternatively, you can define a proxy programmatically when creating a client, using HttpClientProperties
:
HttpClientProperties httpClientProperties = HttpClientProperties.builder()
.proxy(new HttpHost("1.2.3.4", 8989))
.build();
Client = ClientFactory.createClient(<engine_connection_string>, httpClientProperties);
// Or for DM:
IngestClient ingestClient = IngestClientFactory.createClient(<dm_connection_string>, httpClientProperties)
Best Practices
See the SDK best practices guide, which though written for the .NET SDK, applies similarly here.
Need Support?
- Have a feature request for SDKs? Please post it on User Voice to help us prioritize
- Have a technical question? Ask on Stack Overflow with tag "azure-data-explorer"
- Need Support? Every customer with an active Azure subscription has access to support with guaranteed response time. Consider submitting a ticket and get assistance from Microsoft support team
- Found a bug? Please help us fix it by thoroughly documenting it and filing an issue.
Looking for SDKs for other languages/platforms?
Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
Formatting
The code in this project is formatted using formatter-maven-plugin.
Code that isn't formatted will not be accepted.
To format your code, run the following command:
mvn formatter:format
It is also recommended importing the format file kusto-style.xml
into your editor (the file is in the eclipse xml format).