#python #azure-data-lake #azure-aks #azure-data-lake-gen2
#python #azure-data-lake #azure-aks #azure-data-lake-gen2
Вопрос:
У меня есть модель, размещенная на AKS, которая требует чтения файла в ADLS Gen 2 для разработки функций на Python. Я предоставил AKS управляемую идентификацию и предоставил этому поставщику данных хранилища больших двоичных объектов доступ к ADLS Gen 2.
Учитывая это, как мне подключить мою веб-службу AKS к ADLS Gen 2 в моем коде Python? Я вижу документацию для этого, учитывая секрет клиента и идентификатор клиента здесь, но могу ли я сделать это с помощью управляемой идентификации без явного использования секрета клиента и идентификатора клиента?
Комментарии:
1. пожалуйста, обратитесь к github.com/Azure/azure-sdk-for-python/issues /…
2. Какие-либо обновления по этой проблеме?
3. Пока нет, но я планирую попробовать что-то вроде этого: learn.microsoft.com/en-us/azure/machine-learning /. … Я думаю, что все немного сложнее, поскольку мне нужно назначить идентификатор модуля AAD.
4. Таким образом, вы не можете просто постоянно присоединять adlsgen2 к kubernetes в качестве тома, а затем ссылаться на этот том в своем коде на python? (например, как DataBricks)
Ответ №1:
Чтобы использовать управляемую идентификацию для доступа к ADLS Gen 2, вам просто нужно использовать ManagedIdentityCredential
вместо ClientSecretCredential
предоставленного вами примера кода.
credential = ManagedIdentityCredential()
service_client = DataLakeServiceClient(account_url="{}://{}.dfs.core.windows.net".format("https", storage_account_name), credential=credential)
Примечание: Приведенный выше код применяется только к назначенному системой управляемому удостоверению, если вы используете назначенное пользователем управляемое удостоверение, вам необходимо использовать client_id
параметр.
credential = ManagedIdentityCredential(client_id = "<client-id of your user-assigned managed identity>")