[azureml python sdk v2] access files in URI_FOLDER output after job has finished?
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- azure, jupyter-notebook, python
- Domain
- data, machine-learning
Research direction
Start with the Azure ML v2 SDK job and NodeOutput APIs shown in the issue, then compare them with the MlflowClient access path. Done means documenting or demonstrating a programmatic way to list, retrieve, and download the URI_FOLDER files after job ivory_octopus_yd6by49kxf finishes.
Written by the indexing model from the issue text.
Description
I have a training job that persists some files in an URI_FOLDER output.
How can I access those through the v2 SDK API after the job has finished?
1. job setup
The output is set up like this in the command:
job = command(
# ...
outputs=dict(
outputs=Output(type=AssetTypes.URI_FOLDER, mode='rw_mount'),
),
command="python training_script.py " +
"--outputs_dir ${{outputs.outputs}} " +
# ...other arguments...
)
This seems to work fine, the corresponding folder is mounted correctly and accessible in the training script.
2. training script
In the training script, I persist a dataframe like this:
parser.add_argument("--outputs_dir", dest="outputs_dir", default=DEFAULT_MODEL_DIR)
# ...
some_dataframe.to_csv(os.path.join(args.outputs_dir, 'some_dataframe.csv'), index=True)
This works fine.
3. resulting dataset
After the job has finished, the outputs are available as a dataset.
This is what is shown in Azure ML Studio in the "Overview" tab for job ivory_octopus_yd6by49kxf:

The dataset is successfully stored in the workspaceblobstore datastore. I checked it in the Azure ML Studio and it looks fine.
4. accessing the persisted data
After the job has finished, I access the run using a MlflowClient()
MLFLOW_TRACKING_URI = ml_client.workspaces.get(name=ml_client.workspace_name).mlflow_tracking_uri
mlflow.set_tracking_uri(MLFLOW_TRACKING_URI)
mlflow_client = MlflowClient()
mlflow_run = mlflow_client.get_run("ivory_octopus_yd6by49kxf")
or
run = ml_client.jobs.get('ivory_octopus_yd6by49kxf')
# returns NodeOutput class
How can I programmatically list / get / download the outputs connected to the job?
Thanks!
- Dominant language
- Jupyter Notebook
- Stars
- 4.4k
- Forks
- 2.6k
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Azure/MachineLearningNotebooks
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Azure/MachineLearningNotebooks#1975 · 1 comment ·
-
duplicates Open
Difficulty 1/5 Under an hour Newbie friendliness 68/100
Azure/MachineLearningNotebooks#1960 ·
-
machine Open
Difficulty 5/5 Over a week Newbie friendliness 10/100
Azure/MachineLearningNotebooks#1987 ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
Azure/MachineLearningNotebooks#1985 · 1 comment ·
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
Azure/MachineLearningNotebooks#1981 · 1 reaction ·
All issues in Azure/MachineLearningNotebooks
Similar issues
-
bug triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
fivetran/great_expectations#12253 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
correction metadata
Difficulty 1/5 Under an hour Newbie friendliness 78/100
acl-org/acl-anthology#10071 · 1 comment ·
-
data:css needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
mdn/browser-compat-data#30618 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
basedosdados/pipelines#2095 ·