I can't get the mltable
client to stop using interactive authentication to load or save data. The folowing code:
registered_data_asset = ml_client.data.get(
'Dataset',
label='latest')
tbl = mltable.load(f'azureml:/{registered_data_asset.id}')
Results in the prompt:
Performing interactive authentication. Please follow the instructions on the terminal.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code XXXXXXXX to authenticate.
I can't use interactive authentication for my use case, I need authentication through environment variables. And this should work because mlclient
is able to use environment authentication.
I have AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, AZURE_SUBSCRIPTION_ID
in my environment vars. I also looked at Azure tableclient in console app using interactive authentication and I've made sure that my app registration has the role Storage Table Data Contributor from the store account that I use for mltables.
It seems that the issue arises when a method from the Copier
class from azureml.dataprep.rslex
is called. But this class is a built-in so I can't really determine what is going on.
Does anyone know how to get mltable
to stop using interactive authentication?
Turns out to have been a bug which was fixed in mltable == 1.6.1
https://pypi.org/project/mltable/1.6.1/