Azure RegisterModel

Azure RegisterModel

Certified

Register a model version in the Azure Machine Learning model registry

Creates a new version of a model, capturing lineage back to the training job (JOB_OUTPUT), a file uploaded to the workspace's default datastore (INTERNAL_STORAGE), or an existing datastore path (DATASTORE_URI). Model versions are immutable: set modelVersion explicitly to control it, or leave it empty to auto-increment from the model's latest version.

yaml
type: io.kestra.plugin.azure.ml.RegisterModel

Register a model produced by a training job.

yaml
id: azure_ml_register_model_from_job
namespace: company.team

tasks:
  - id: train
    type: io.kestra.plugin.azure.ml.SubmitCommandJob
    tenantId: "{{ secret('AZURE_TENANT_ID') }}"
    clientId: "{{ secret('AZURE_CLIENT_ID') }}"
    clientSecret: "{{ secret('AZURE_CLIENT_SECRET') }}"
    subscriptionId: "{{ secret('AZURE_SUBSCRIPTION_ID') }}"
    resourceGroupName: ml-rg
    workspaceName: ml-workspace
    computeName: cpu-cluster
    environmentId: "azureml:AzureML-sklearn-1.5:1"
    command: "python train.py"
    outputs:
      model_dir: "azureml://datastores/workspaceblobstore/paths/outputs/model"

  - id: register
    type: io.kestra.plugin.azure.ml.RegisterModel
    tenantId: "{{ secret('AZURE_TENANT_ID') }}"
    clientId: "{{ secret('AZURE_CLIENT_ID') }}"
    clientSecret: "{{ secret('AZURE_CLIENT_SECRET') }}"
    subscriptionId: "{{ secret('AZURE_SUBSCRIPTION_ID') }}"
    resourceGroupName: ml-rg
    workspaceName: ml-workspace
    modelName: fraud-detector
    source: JOB_OUTPUT
    jobName: "{{ outputs.train.jobName }}"
    jobOutputName: model_dir

Register a model file stored in Kestra's internal storage.

yaml
id: azure_ml_register_model_from_storage
namespace: company.team

inputs:
  - id: model_file
    type: FILE

tasks:
  - id: register
    type: io.kestra.plugin.azure.ml.RegisterModel
    tenantId: "{{ secret('AZURE_TENANT_ID') }}"
    clientId: "{{ secret('AZURE_CLIENT_ID') }}"
    clientSecret: "{{ secret('AZURE_CLIENT_SECRET') }}"
    subscriptionId: "{{ secret('AZURE_SUBSCRIPTION_ID') }}"
    resourceGroupName: ml-rg
    workspaceName: ml-workspace
    modelName: fraud-detector
    source: INTERNAL_STORAGE
    from: "{{ inputs.model_file }}"
Properties

Model name

Name of the model to register a new version for

Resource group name

Resource group containing the Machine Learning workspace

Possible Values
JOB_OUTPUTINTERNAL_STORAGEDATASTORE_URI

Model source

Origin of the model artifact being registered

Subscription ID

Azure subscription GUID that owns the Machine Learning workspace

Azure AD tenant ID (GUID)

Workspace name

Name of the Azure Machine Learning workspace

Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.

Definitions
assetFailureBehaviorstring
Possible Values
IGNOREFAILWARN

Asset failure behavior

Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.

enableAutobooleanstring

Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.

inputsarray

The assets consumed as inputs.

id*string
Min length1
typestring
outputs

The assets produced as outputs.

id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*string
Min length1

Custom asset type

descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150

Client ID of the Azure AD application

Application (client) ID used for service principal authentication.

Client secret for the Azure AD application

Secret value associated with the client ID; store in a Kestra secret.

Datastore URI

Required when source=DATASTORE_URI: an existing azureml://datastores/<name>/paths/<path> (or plain storage) URI for the model artifact

Internal storage file

Required when source=INTERNAL_STORAGE: a kestra:// internal storage URI for the model artifact to upload

Job name

Required when source=JOB_OUTPUT: the Azure Machine Learning job that produced the model artifact

Job output name

Required when source=JOB_OUTPUT: the named job output pointing to the model artifact

Description

Free-text description stored with the model version

Defaultcustom_model

Model type

Model framework flavor, e.g. custom_model, mlflow_model, triton_model; defaults to custom_model

Model version

Explicit version to register; when not set, the next version is computed automatically from the model's current latest version

PEM-encoded certificate content for client authentication

PEM text for certificate-based auth; alternative to clientSecret.

Model name

Formaturi

Model URI

Storage URI backing this model version

Studio URL

Deep link to the model version in Azure ML Studio

Model version

Version registered, either the explicit version or the auto-incremented one