From b0867804daaaf3e8516d3bb587f8c0515355072a Mon Sep 17 00:00:00 2001 From: Saanika Gupta Date: Mon, 2 Feb 2026 15:37:12 +0530 Subject: [PATCH 1/3] Skip list_secrets for identity-based datastores to prevent noisy telemetry traces --- .../azure/ai/ml/_artifacts/_artifact_utilities.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sdk/ml/azure-ai-ml/azure/ai/ml/_artifacts/_artifact_utilities.py b/sdk/ml/azure-ai-ml/azure/ai/ml/_artifacts/_artifact_utilities.py index c225a73e0d86..e7c5ca3ecd9e 100644 --- a/sdk/ml/azure-ai-ml/azure/ai/ml/_artifacts/_artifact_utilities.py +++ b/sdk/ml/azure-ai-ml/azure/ai/ml/_artifacts/_artifact_utilities.py @@ -42,6 +42,7 @@ from azure.ai.ml.constants._common import SHORT_URI_FORMAT, STORAGE_ACCOUNT_URLS from azure.ai.ml.entities import Environment from azure.ai.ml.entities._assets._artifacts.artifact import Artifact, ArtifactStorageInfo +from azure.ai.ml.entities._credentials import NoneCredentialConfiguration from azure.ai.ml.entities._datastore._constants import WORKSPACE_BLOB_STORE from azure.ai.ml.exceptions import ErrorTarget, MlException, ValidationException from azure.ai.ml.operations._datastore_operations import DatastoreOperations @@ -106,8 +107,12 @@ def get_datastore_info( ) try: - credential = operations._list_secrets(name=name, expirable_secret=True) - datastore_info["credential"] = credential.sas_token + if isinstance(datastore.credentials, NoneCredentialConfiguration): + module_logger.debug("Identity-based datastore detected. Skipping _list_secrets call") + datastore_info["credential"] = operations._credential + else: + credential = operations._list_secrets(name=name, expirable_secret=True) + datastore_info["credential"] = credential.sas_token except HttpResponseError: datastore_info["credential"] = operations._credential From 1f0ee7dcdc6a8022fd41be1c6e385fb8e1bfc20e Mon Sep 17 00:00:00 2001 From: Saanika Gupta Date: Mon, 2 Feb 2026 15:44:54 +0530 Subject: [PATCH 2/3] Update CHANGELOG --- sdk/ml/azure-ai-ml/CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sdk/ml/azure-ai-ml/CHANGELOG.md b/sdk/ml/azure-ai-ml/CHANGELOG.md index 948d478b446b..e19534fa451b 100644 --- a/sdk/ml/azure-ai-ml/CHANGELOG.md +++ b/sdk/ml/azure-ai-ml/CHANGELOG.md @@ -6,6 +6,8 @@ ### Bugs Fixed +- Skip _list_secrets for identity-based datastores to prevent noisy telemetry traces. + ### Other Changes From b4b7eb92b8b4d9819f93555d5db73cc9f7d3c543 Mon Sep 17 00:00:00 2001 From: Saanika Gupta Date: Mon, 2 Feb 2026 16:31:06 +0530 Subject: [PATCH 3/3] Handle both NoneCredentialConfiguration and AadCredentialConfiguration as identity-based datastores --- .../azure-ai-ml/azure/ai/ml/_artifacts/_artifact_utilities.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/ml/azure-ai-ml/azure/ai/ml/_artifacts/_artifact_utilities.py b/sdk/ml/azure-ai-ml/azure/ai/ml/_artifacts/_artifact_utilities.py index e7c5ca3ecd9e..77fc69879521 100644 --- a/sdk/ml/azure-ai-ml/azure/ai/ml/_artifacts/_artifact_utilities.py +++ b/sdk/ml/azure-ai-ml/azure/ai/ml/_artifacts/_artifact_utilities.py @@ -42,7 +42,7 @@ from azure.ai.ml.constants._common import SHORT_URI_FORMAT, STORAGE_ACCOUNT_URLS from azure.ai.ml.entities import Environment from azure.ai.ml.entities._assets._artifacts.artifact import Artifact, ArtifactStorageInfo -from azure.ai.ml.entities._credentials import NoneCredentialConfiguration +from azure.ai.ml.entities._credentials import AadCredentialConfiguration, NoneCredentialConfiguration from azure.ai.ml.entities._datastore._constants import WORKSPACE_BLOB_STORE from azure.ai.ml.exceptions import ErrorTarget, MlException, ValidationException from azure.ai.ml.operations._datastore_operations import DatastoreOperations @@ -107,7 +107,7 @@ def get_datastore_info( ) try: - if isinstance(datastore.credentials, NoneCredentialConfiguration): + if isinstance(datastore.credentials, (NoneCredentialConfiguration, AadCredentialConfiguration)): module_logger.debug("Identity-based datastore detected. Skipping _list_secrets call") datastore_info["credential"] = operations._credential else: