Releases: Azure/azure-kusto-python
Kusto Python version 2.1.2
Fixes:
- Return awaitable object from aio client aexit
- Fix ingestion endpoint format
Improvements:
- Use Azure.Identity AzCliTokenProvider to get a token from AzCli
Kusto Python version 2.1.1
Fixes:
- Fixed imports when aiohttp isn't installed. (Fixes #312)
Kusto Python version 2.1.0
Features:
- Add async io options using aiohttp to azure-kusto-data.
This feature enables asynchronous calls that work with the built-in python coroutines
Use theaio
extra to include the client, and then access it via theazure.kusto.data.aio
namespace. - Add an option to login interactively with MSAL
Fixes:
- Handle possibility of unidentifiable OS or HTTPConnection.default_socket_options being None
- Fix MSAL default scope
- Fix helpers.to_pandas_timedelta conversion
Kusto Python version 2.0.0
The main change in this release is using MSAL instead of ADAL as an authentication library.
BREAKING CHANGES:
- Replace ADAL authentication library with MSAL.
- SDK dependencies have changed.
- Legacy IngestionProperties no longer usable.
- The KustoIngestClient class is now more accurately named QueuedIngestClient.
FEATURES:
- Support norequesttimeout ClientRequestProperty by setting the timeout to its maximum.
- Expose a retry parameter in the KustoClient init function.
- Improve calls to execute query performance by processing the result in a lazy manner.
- Expose raw query result to improve conversion into Pandas DataFrame.
- Add support of w3clogfile format.
FIXES:
- Send TCP Keep-Alive at regular intervals so that connections for long-running queries aren't dropped by the Load Balancer Service.
- Deletion of temporary files in case of an exception.
- Add client-server delta to all request timeouts.
- Add friendly error message when authentication with az_cli_auth and refresh token was expired.
Wrong endpoint detection and minor fixes
BREAKING CHANGES:
- None.
FEATURES:
- Wrong endpoint detection - If the ingest client is constructed with a non-DataManagement endpoint, the user will receive a KustoClientError with a suggestion of the most likely DataManagement endpoint, instead of a generic KustoServiceError.
FIXES:
- Support independent cloud endpoint URLs.
- Fix parsing decimal values in KustoResultRow when using pandas DataFrame.
- Explicit handling of 404 errors.
- Fix an issue where the lack of payload in the response message caused an exception to be thrown.
OTHERS:
- Clean up data (drop created table) after running E2E tests.
Authentication Bug Fixes
FIXES:
- Bug: SNI auth option is ignored
- Bug: Token Provider auth is missing Federated Security flag
Fix break in MSI Auth
FIXES:
- MSI auth throws exception due to change in token result format
Graduate Kusto Python to Version 1.0.0
This release include some miscellaneous changes and features.
BREAKING CHANGES:
- Authentication via Managed Service Identity uses
azure.identity
instead ofmsrestazure
.
This library caches tokens which would resolve some issues for high capacity users.
At the moment however, it only supports obtaining user managed service identities via the client_id hint.
Attempting to provideKustoConnectionStringBuilder
with an object_id or msi_res_id will result in aValueError
exception being thrown.
FEATURES:
- Added an option to authenticate using a certificate subject name and issuer.
KustoConnectionStringBuilder.with_aad_application_certificate_sni_authentication(cluster, client_id, PEM, public_certificate, thumbprint, authority_id)
FIXES:
-
Fix a bug where the exception text description reported to
KustoServiceError
were not saved due to a change in the syntax for explicitly calling a Super class constructor. Please mind that,
-- The exception text description is saved in theargs
field of the Exception class.
-- Themessage
field no long exists in Python 3 -
Raise descriptive exception when az cli token not found when using az cli authentication.
Support Blob Storage API 12.x.x
Release is mostly around changing the dependency for Azure Storage on the azure-kusto-ingest package.
It also includes various changes, which are mostly cosmetic, as well as adding E2E tests and adding them to the build pipeline as a check.
BREAKING CHANGES:
- Upgraded to use Azure Storage v12 (will require dependencies)
- All arguments changed to snake_case to conform to python guidelines.
- Renamed
azure.kusto.data.request
toazure.kusto.data.client
- old import offrom azure.kusto.data.request import KustoClient
will now break. should change them to `rom azure.kusto.data import KustoClient
FEATURES:
None
FIXES:
- fixed breaking test (
test_kusto_streaming_ingest_client.py
)
OTHERS:
- Etoe tests - cleanup, grabbing connection parameters from env, and running inside buildpipeline.
- Added Contrib doc
- Added annotations where possible
Various minor fixes
BREAKING CHANGES:
- None
FEATURES:
- New option to authenticate by providing a function callback to
KustoConnectionStringBuilder
which returns a valid authentication token as a string, e.g.
token_provider = lambda: "{caller token}"
kcsb = KustoConnectionStringBuilder.with_token_provider("http://mykusto.kusto.windows.net", token_provider)
-
When ingesting zip and gzip files, and uncompressed file size is not provided by the caller, attempt to detect uncompressed size from the file metadata.
-
When ingesting, a user can provide inline ingestion mapping in the ingestion command instead of creating it in advance.
We suggest to use the newcolumnMapping
class instead ofCsvColumnMapping
orJsonColumnMapping
.
FIXES:
- When ingesting a file and uncompressed file size is provided by the caller, use provided uncompressed file size instead of estimating the uncompressed size from the file size or file metadata