Постоянный кеш токенов/записей аутентификации для DeviceCodeCredentialsPython

Программы на Python
Anonymous
Постоянный кеш токенов/записей аутентификации для DeviceCodeCredentials

Сообщение Anonymous »

У меня есть программа Python, которая отправляет конвейеры в Azure ML. Этот код обычно выполняется на автономных виртуальных машинах Linux и проходит проверку подлинности в Azure с помощью потока DeviceCodeCredentials. Я хочу кэшировать эти учетные данные, чтобы можно было запускать этот сценарий много раз и проходить повторную аутентификацию только время от времени (например, каждый час).
Согласно документации, TokenCachePersistenceOptions должен решить эту проблему, однако, похоже, это не имеет никакого эффекта, кроме записи бесполезного файла. Вот как выглядит мой код:

Код: Выделить всё

from azure.ai.ml import MLClient
from azure.identity import DeviceCodeCredential, TokenCachePersistenceOptions

from .constants import AML_SUBSCRIPTION_ID, AML_RESOURCE_GROUP, AML_WORKSPACE

cache_path = os.path.expanduser("~/.azure/msal_token_cache.json")

token_cache_options = TokenCachePersistenceOptions(name=cache_path, allow_unencrypted_storage=True)
credential = DeviceCodeCredential(token_cache_persistence_options=token_cache_options)

client = MLClient(
credential=credential,
subscription_id=AML_SUBSCRIPTION_ID,
resource_group_name=AML_RESOURCE_GROUP,
workspace_name=AML_WORKSPACE,
)

# do something useless that requires making requests
jobs = client.jobs.list()
_ = [j.name for j in jobs]
Я ожидаю, что если я запущу этот скрипт, пройду аутентификацию, а затем запущу его во второй раз, он не будет снова запрашивать аутентификацию. Тем не менее, это так.
Я пробовал разные области учетных данных, а также создавал, вручную сериализовал и десериализовал всевозможные «токены» и «записи авторизации», а также передавал эти токены и записи авторизации. на методы, которые могут вообще ничего с ними делать, а могут и не делать, но ничего не работает. Я просмотрел документацию по Python SDK. Я связался с Azure, но они оказались бесполезны.
Есть ли у кого-нибудь предложения?

Подробнее здесь: https://stackoverflow.com/questions/790 ... redentials

Вернуться в «Python»