diff --git a/azure-kusto-data/azure/kusto/data/wellKnownKustoEndpoints.json b/azure-kusto-data/azure/kusto/data/wellKnownKustoEndpoints.json index d5c244f3..f3ed1bbe 100644 --- a/azure-kusto-data/azure/kusto/data/wellKnownKustoEndpoints.json +++ b/azure-kusto-data/azure/kusto/data/wellKnownKustoEndpoints.json @@ -104,6 +104,28 @@ "adx.loganalytics.azure.fr", "adx.monitor.azure.fr" ] + }, + "https://login.sovcloud-identity.de": { + "AllowedKustoSuffixes": [ + ".kusto.sovcloud-api.de", + ".kustomfa.sovcloud-api.de" + ], + "AllowedKustoHostnames": [ + "adx.applicationinsights.azure.de", + "adx.loganalytics.azure.de", + "adx.monitor.azure.de" + ] + }, + "https://login.sovcloud-identity.sg": { + "AllowedKustoSuffixes": [ + ".kusto.sovcloud-api.sg", + ".kustomfa.sovcloud-api.sg" + ], + "AllowedKustoHostnames": [ + "adx.applicationinsights.azure.sg", + "adx.loganalytics.azure.sg", + "adx.monitor.azure.sg" + ] } } } diff --git a/azure-kusto-data/tests/test_well_known_kusto_endpoints.py b/azure-kusto-data/tests/test_well_known_kusto_endpoints.py index f8a0a72c..958ffcb2 100644 --- a/azure-kusto-data/tests/test_well_known_kusto_endpoints.py +++ b/azure-kusto-data/tests/test_well_known_kusto_endpoints.py @@ -126,10 +126,9 @@ def test_well_known_kusto_endpoints_national_clouds(): "https://kustofrbwrznltavls.kusto.usgovcloudapi.net,https://login.microsoftonline.us", "https://kusto7j53clqswr4he.kusto.core.eaglex.ic.gov,https://login.microsoftonline.eaglex.ic.gov", "https://rpe2e0422132101fct2.kusto.core.microsoft.scloud,https://login.microsoftonline.microsoft.scloud", - "https://kustozszokb5yrauyq.kusto.chinacloudapi.cn,{0}".format(CHINA_CLOUD_LOGIN), - "https://kustofrbwrznltavls.kusto.usgovcloudapi.net,https://login.microsoftonline.us", - "https://kusto7j53clqswr4he.kusto.core.eaglex.ic.gov,https://login.microsoftonline.eaglex.ic.gov", - "https://rpe2e0422132101fct2.kusto.core.microsoft.scloud,https://login.microsoftonline.microsoft.scloud", + "https://abc.kusto.sovcloud-api.fr,https://login.sovcloud-identity.fr", + "https://efg.kusto.sovcloud-api.de,https://login.sovcloud-identity.de", + "https://hij.kusto.sovcloud-api.sg,https://login.sovcloud-identity.sg" ]: cluster_and_login_endpoint = c.split(",") _validate_endpoint(cluster_and_login_endpoint[0], cluster_and_login_endpoint[1]) diff --git a/azure-kusto-ingest/azure/kusto/ingest/managed_streaming_ingest_client.py b/azure-kusto-ingest/azure/kusto/ingest/managed_streaming_ingest_client.py index 942a9faf..8b978371 100644 --- a/azure-kusto-ingest/azure/kusto/ingest/managed_streaming_ingest_client.py +++ b/azure-kusto-ingest/azure/kusto/ingest/managed_streaming_ingest_client.py @@ -9,7 +9,7 @@ from azure.core.tracing import SpanKind from azure.kusto.data import KustoConnectionStringBuilder -from azure.kusto.data.exceptions import KustoApiError, KustoClosedError +from azure.kusto.data.exceptions import KustoApiError, KustoClosedError, KustoThrottlingError from azure.kusto.data._telemetry import MonitoredActivity from . import BlobDescriptor, FileDescriptor, IngestionProperties, StreamDescriptor @@ -99,6 +99,8 @@ def ingest_from_stream(self, stream_descriptor: Union[StreamDescriptor, IO[AnySt if error.permanent: raise buffered_stream.seek(0, SEEK_SET) + except KustoThrottlingError: + _ = buffered_stream.seek(0, SEEK_SET) return self.queued_client.ingest_from_stream(stream_descriptor, ingestion_properties) @@ -127,6 +129,8 @@ def ingest_from_blob(self, blob_descriptor: BlobDescriptor, ingestion_properties error = ex.get_api_error() if error.permanent: raise + except KustoThrottlingError: + pass return self.queued_client.ingest_from_blob(blob_descriptor, ingestion_properties)