Search code examples
pythonazure-machine-learning-service

Azure Machine Learning Studio Designer Error: code_expired


I am trying to register a data set via the Azure Machine Learning Studio designer but keep getting an error. Here is my code, used in a "Execute Python Script" module:

import pandas as pd
from azureml.core.dataset import Dataset
from azureml.core import Workspace

def azureml_main(dataframe1 = None, dataframe2 = None):
    ws = Workspace.get(name = <my_workspace_name>, subscription_id = <my_id>, resource_group = <my_RG>)
    ds = Dataset.from_pandas_dataframe(dataframe1)
    ds.register(workspace = ws,
                name = "data set name",
                description = "example description",
                create_new_version = True)
    return dataframe1, 

But I get the following error in the Workspace.get line:

Authentication Exception: Unknown error occurred during authentication. Error detail: Unexpected polling state code_expired.

Since I am inside the workspace and in the designer, I do not usually need to do any kind of authentication (or even reference the workspace). Can anybody offer some direction? Thanks!


Solution

  • when you're inside a "Execute Python Script" module or PythonScriptStep, the authentication for fetching the workspace is already done for you (unless you're trying to authenticate to different Azure ML workspace.

    from azureml.core import Run
    run = Run.get_context()
    
    ws = run.experiment.workspace
    

    You should be able to use that ws object to register a Dataset.