Create or connect to an Azure ML workspace and ensure you have the AzureML Data Scientist role or equivalent.
Define the job using the Azure ML Python SDK v2: instantiate a command() object with the code directory, command string, environment (a curated or custom environment name/version), and compute target name.
Specify inputs and outputs using Input and Output objects pointing to registered data assets or Azure Blob Storage paths.
Submit the job with ml_client.jobs.create_or_update(job) and capture the returned job object.
Stream logs with ml_client.jobs.stream(job.name) or monitor in the Azure ML studio under Experiments.
On completion, access outputs via ml_client.jobs.download(job.name, output_name, download_path) or directly from the linked datastore.
Known gotchas
The compute cluster must be running (not in a deallocated state) or configured to scale from zero; submitting to a stopped cluster queues the job indefinitely.
Environment definitions must pin the base image and package versions; mutable tags like 'latest' can cause reproducibility failures across runs.
The command string runs inside the container and cannot assume local filesystem paths from your dev machine; use the ${{inputs.xxx}} syntax to inject mounted data paths.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp