Condividi tramite


Condividere modelli, componenti e ambienti tra aree di lavoro con registri

Il registro di sistema di Azure Machine Learning consente di collaborare tra aree di lavoro all'interno dell'organizzazione. È possibile condividere modelli, componenti e ambienti usando i registri.

Esistono due scenari in cui si desidera usare lo stesso set di modelli, componenti e ambienti in più aree di lavoro:

  • MLOps tra aree di lavoro: si sta eseguendo il training di un modello in un'devarea di lavoro ed è necessario distribuirlo nelle aree di lavoro test e prod. In questo caso, si desidera avere una derivazione dei dati end-to-end tra gli endpoint in cui il modello viene distribuito nelle aree di lavoro test o prod e il processo di training, le metriche, il codice, i dati e l'ambiente usati per eseguire il training del modello nell'area di lavoro dev.
  • Condividere e riutilizzare modelli e pipeline tra team differenti: la condivisione e il riutilizzo migliorano la collaborazione e la produttività. In questo scenario, è possibile pubblicare un modello sottoposto a training e i componenti e gli ambienti associati usati per eseguirne il training in un catalogo centrale. Da qui, i colleghi di altri team possono cercare e riutilizzare gli asset condivisi nei propri esperimenti.

In questo articolo si apprenderà come:

  • Creare un ambiente e un componente nel registro di sistema.
  • Usare il componente dal registro di sistema per inviare un processo di training del modello in un'area di lavoro.
  • Registrare il modello sottoposto a training nel registro di sistema.
  • Distribuire il modello dal registro di sistema a un endpoint online nell'area di lavoro, quindi inviare una richiesta di inferenza.

Prerequisiti

Prima di seguire la procedura descritta in questo articolo, assicurarsi di disporre dei prerequisiti seguenti:

  • Registro di Azure Machine Learning per condividere modelli, componenti e ambienti. Per creare un registro di sistema, vedere Informazioni su come creare un registro di sistema.

  • Un'area di lavoro di Azure Machine Learning. Se non è disponibile, seguire la procedura descritta nell'articolo Avvio rapido: Creare risorse dell'area di lavoro per crearne una.

    Importante

    La regione Azure (percorso) in cui si crea l'area di lavoro deve essere nell'elenco delle aree supportate per il registro di sistema di Azure Machine Learning

  • L'interfaccia della riga di comando di Azure e l'estensione ml oppure Python SDK per Azure Machine Learning v2:

    Per installare l'interfaccia della riga di comando di Azure e l'estensione, vedere Installare, configurare e usare l'interfaccia della riga di comando di Azure (v2).

    Importante

    • Gli esempi dell'interfaccia della riga di comando in questo articolo presuppongono che si usi la shell Bash (o compatibile). Ad esempio, un sistema Linux o un sottosistema Windows per Linux.

    • Gli esempi presuppongono anche che siano state configurate le impostazioni predefinite per l'interfaccia della riga di comando di Azure, in modo che non sia necessario specificare i parametri per la sottoscrizione, l'area di lavoro, il gruppo di risorse o il percorso. Usare i comandi seguenti per specificare le impostazioni predefinite. Sostituire i parametri seguenti con i valori relativi alla configurazione:

      • Sostituire <subscription> con l'ID della sottoscrizione di Azure.
      • Sostituire <workspace> con il nome dell'area di lavoro di Azure Machine Learning.
      • Sostituire <resource-group> con il gruppo di risorse di Azure contenente la propria area di lavoro.
      • Sostituire <location> con l'area di Azure contenente la propria area di lavoro.
      az account set --subscription <subscription>
      az configure --defaults workspace=<workspace> group=<resource-group> location=<location>
      

      È possibile visualizzare le impostazioni predefinite correnti usando il comando az configure -l.

Clonare il repository degli esempi

Gli esempi di codice in questo articolo si basano sull'esempio nyc_taxi_data_regression nel repository degli esempi. Per usare questi file nell'ambiente di sviluppo, usare i comandi seguenti per clonare il repository e modificare le directory nell'esempio:

git clone https://github.com/Azure/azureml-examples
cd azureml-examples

Per l'esempio dell'interfaccia della riga di comando, modificare directory in cli/jobs/pipelines-with-components/nyc_taxi_data_regression nel clone locale del repository degli esempi.

cd cli/jobs/pipelines-with-components/nyc_taxi_data_regression

Creare una connessione SDK

Suggerimento

Questo passaggio è necessario solo quando si usa Python SDK.

Creare una connessione client sia all'area di lavoro di Azure Machine Learning che al registro di sistema:

ml_client_workspace = MLClient( credential=credential,
    subscription_id = "<workspace-subscription>",
    resource_group_name = "<workspace-resource-group",
    workspace_name = "<workspace-name>")
print(ml_client_workspace)

ml_client_registry = MLClient(credential=credential,
                        registry_name="<REGISTRY_NAME>",
                        registry_location="<REGISTRY_REGION>")
print(ml_client_registry)

Creare un ambiente nel registro di sistema

Gli ambienti definiscono il contenitore Docker e le dipendenze Python necessarie per eseguire processi di training o distribuire modelli. Per altre informazioni sugli ambienti, vedere gli articoli seguenti:

Suggerimento

Lo stesso comando dell'interfaccia della riga di comando az ml environment create può essere usato per creare ambienti in un'area di lavoro o in un registro. L'esecuzione del comando con il comando --workspace-name crea l'ambiente in un'area di lavoro, mentre l'esecuzione del comando con --registry-name crea l'ambiente nel registro di sistema.

Verrà creato un ambiente che usa l'immagine Docker python:3.8 e installerà i pacchetti Python necessari per eseguire un processo di training usando il framework SciKit Learn. Se è stato clonato il repository di esempi e i suddetti si trovano nella cartella cli/jobs/pipelines-with-components/nyc_taxi_data_regression, dovrebbe essere possibile visualizzare il file di definizione dell'ambiente env_train.yml che fa riferimento al file Docker env_train/Dockerfile. L'oggetto env_train.yml è illustrato di seguito per il riferimento:

$schema: https://azuremlschemas.azureedge.net/latest/environment.schema.json
name: SKLearnEnv
version: 1
build:
  path: ./env_train

Creare l'ambiente usando il az ml environment create come indicato di seguito

az ml environment create --file env_train.yml --registry-name <registry-name>

Se viene visualizzato un errore che indica che un ambiente con questo nome e versione esiste già nel registro di sistema, è possibile modificare il campo version in env_train.yml o specificare una versione differente nell'interfaccia della riga di comando che esegue l'override del valore di versione in env_train.yml.

# use shell epoch time as the version
version=$(date +%s)
az ml environment create --file env_train.yml --registry-name <registry-name> --set version=$version

Suggerimento

version=$(date +%s) funziona solo in Linux. Se non funziona, sostituire $version con un numero casuale.

Annotare name e version dell'ambiente dall'output del comando az ml environment create e usarli con i comandi az ml environment show come indicato di seguito. Saranno necessari name e version nella sezione successiva quando si crea un componente nel registro di sistema.

az ml environment show --name SKLearnEnv --version 1 --registry-name <registry-name>

Suggerimento

Se è stato usato un nome o una versione di ambiente differente, sostituire i parametri --name e --version come pertinente.

È anche possibile usare az ml environment list --registry-name <registry-name> per elencare tutti gli ambienti nel registro di sistema.

È possibile esplorare tutti gli ambienti in Studio di Azure Machine Learning. Assicurarsi di andare all'interfaccia utente globale e cercare la voce Registri.

Screenshot degli ambienti nel Registro di sistema.

Creare un componente nel registro di sistema

I componenti sono i blocchi predefiniti riutilizzabili delle pipeline di apprendimento automatico di Azure Machine Learning. È possibile includere il codice, il comando, l'ambiente, l'interfaccia di input e l'interfaccia di output di un singolo passaggio della pipeline in un componente. È quindi possibile riutilizzare il componente tra più pipeline senza doversi preoccupare di trasferire le dipendenze e il codice ogni volta che si scrive una pipeline differente.

La creazione di un componente in un'area di lavoro consente di usare il suddetto in qualsiasi processo della pipeline all'interno di tale area di lavoro. La creazione di un componente in un registro consente di usare il suddetto in qualsiasi pipeline in qualsiasi area di lavoro all'interno dell'organizzazione. La creazione di componenti in un registro è un ottimo modo per creare utilità riutilizzabili modulari o attività di training condivise che è possibile usare per la sperimentazione da parte di team differenti all'interno dell'organizzazione.

Per altre informazioni sui componenti, vedere gli articoli seguenti:

Assicurarsi di trovarsi nella cartella cli/jobs/pipelines-with-components/nyc_taxi_data_regression. Si troverà il file di definizione del componente train.yml che include uno script di training Scikit Learn train_src/train.py e l'ambiente curatoAzureML-sklearn-0.24-ubuntu18.04-py37-cpu. Si userà l'ambiente Scikit Learn creato al passaggio precedente, anziché l'ambiente curato. È possibile modificare il campo environment in train.yml per fare riferimento all'ambiente Scikit Learn. Il file di definizione del componente train.yml risultante sarà simile all'esempio seguente:

# <component>
$schema: https://azuremlschemas.azureedge.net/latest/commandComponent.schema.json
name: train_linear_regression_model
display_name: TrainLinearRegressionModel
version: 1
type: command
inputs:
  training_data: 
    type: uri_folder
  test_split_ratio:
    type: number
    min: 0
    max: 1
    default: 0.2
outputs:
  model_output:
    type: mlflow_model
  test_data:
    type: uri_folder
code: ./train_src
environment: azureml://registries/<registry-name>/environments/SKLearnEnv/versions/1`
command: >-
  python train.py 
  --training_data ${{inputs.training_data}} 
  --test_data ${{outputs.test_data}} 
  --model_output ${{outputs.model_output}}
  --test_split_ratio ${{inputs.test_split_ratio}}

Se si ha usato un nome o una versione differente, la rappresentazione più generica è simile alla seguente: environment: azureml://registries/<registry-name>/environments/<sklearn-environment-name>/versions/<sklearn-environment-version>, per cui assicurarsi di sostituire <registry-name>, <sklearn-environment-name> e <sklearn-environment-version> come pertinente. Eseguire quindi il comando az ml component create per creare il componente come indicato di seguito.

az ml component create --file train.yml --registry-name <registry-name>

Suggerimento

Lo stesso comando dell'interfaccia della riga di comando az ml component create può essere usato per creare componenti in un'area di lavoro o in un registro. L'esecuzione del comando con il comando --workspace-name crea il componente in un'area di lavoro, mentre l'esecuzione del comando con --registry-name crea il componente nel registro di sistema.

Se si preferisce non modificare train.yml, è possibile eseguire l'override del nome dell'ambiente nell'interfaccia della riga di comando come indicato di seguito:

az ml component create --file train.yml --registry-name <registry-name>` --set environment=azureml://registries/<registry-name>/environments/SKLearnEnv/versions/1
# or if you used a different name or version, replace `<sklearn-environment-name>` and `<sklearn-environment-version>` accordingly
az ml component create --file train.yml --registry-name <registry-name>` --set environment=azureml://registries/<registry-name>/environments/<sklearn-environment-name>/versions/<sklearn-environment-version>

Suggerimento

Se viene visualizzato un errore che indica che il nome del componente esiste già nel registro di sistema, è possibile modificare la versione in train.yml o eseguire l'override della versione nell'interfaccia della riga di comando con una versione casuale.

Annotare name e version del componente dall'output del comando az ml component create e usarli con i comandi az ml component show come indicato di seguito. name e version saranno necessari nella sezione successiva quando si crea un processo di training nell'area di lavoro.

az ml component show --name <component_name> --version <component_version> --registry-name <registry-name>

È anche possibile usare az ml component list --registry-name <registry-name> per elencare tutti i componenti nel registro di sistema.

È possibile esplorare tutti i componenti in Studio di Azure Machine Learning. Assicurarsi di andare all'interfaccia utente globale e cercare la voce Registri.

Screenshot dei componenti nel Registro di sistema.

Eseguire un processo della pipeline in un'area di lavoro usando un componente dal registro di sistema

Quando si esegue un processo della pipeline che usa un componente da un registro, le risorse di calcolo e i dati di training sono locali nell'area di lavoro. Per altre informazioni sull'esecuzione di processi, vedere gli articoli seguenti:

Verrà eseguito un processo della pipeline con il componente di training Scikit Learn creato nella sezione precedente per eseguire il training di un modello. Verificare che si trovi nella cartella cli/jobs/pipelines-with-components/nyc_taxi_data_regression. Il set di dati di training si trova nella cartella data_transformed. Modificare la sezione component all'interno della sezione train_job del file single-job-pipeline.yml per fare riferimento al componente di training creato nella sezione precedente. Il risultato single-job-pipeline.yml è illustrato di seguito.

$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: nyc_taxi_data_regression_single_job
description: Single job pipeline to train regression model based on nyc taxi dataset

jobs:
  train_job:
    type: command
    component: azureml://registries/<registry-name>/component/train_linear_regression_model/versions/1
    compute: azureml:cpu-cluster
    inputs:
      training_data: 
        type: uri_folder
        path: ./data_transformed
    outputs:
      model_output: 
        type: mlflow_model
      test_data: 

L'aspetto chiave è che questa pipeline verrà eseguita in un'area di lavoro usando un componente che non si trova nell'area di lavoro specifica. Il componente si trova in un registro che può essere usato con qualsiasi area di lavoro nell'organizzazione. È possibile eseguire questo processo di training in qualsiasi area di lavoro a cui si ha accesso senza doversi preoccupare di rendere disponibile il codice di training e l'ambiente in tale area di lavoro.

Avviso

  • Prima di eseguire il processo della pipeline, verificare che l'area di lavoro in cui verrà eseguito il processo si trovi in un'area di Azure supportata dal registro di sistema in cui è stato creato il componente.
  • Verificare che l'area di lavoro abbia un cluster di elaborazione con il nome cpu-cluster o modificare il campo compute in jobs.train_job.compute con il nome del calcolo.

Eseguire il processo della pipeline con il az ml job create comando.

az ml job create --file single-job-pipeline.yml 

Suggerimento

Se l'area di lavoro predefinita e il gruppo di risorse non sono stati configurati come illustrato nella sezione dei prerequisiti, sarà necessario specificare i parametri --workspace-name e --resource-group perché az ml job create funzioni.

In alternativa, ou può ignorare la modifica single-job-pipeline.yml ed eseguire l'override del nome del componente usato dall'interfaccia train_job della riga di comando.

az ml job create --file single-job-pipeline.yml --set jobs.train_job.component=azureml://registries/<registry-name>/component/train_linear_regression_model/versions/1

Poiché il componente usato nel processo di training viene condiviso tramite un registro, è possibile inviare il processo a qualsiasi area di lavoro a cui si ha accesso nell'organizzazione, anche in sottoscrizioni differenti. Ad esempio, se si dispone di dev-workspace, test-workspace e prod-workspace, l'esecuzione del processo di training in queste tre aree di lavoro è semplice quanto l'esecuzione di tre comandi az ml job create.

az ml job create --file single-job-pipeline.yml --workspace-name dev-workspace --resource-group <resource-group-of-dev-workspace>
az ml job create --file single-job-pipeline.yml --workspace-name test-workspace --resource-group <resource-group-of-test-workspace>
az ml job create --file single-job-pipeline.yml --workspace-name prod-workspace --resource-group <resource-group-of-prod-workspace>

In Studio di Azure Machine Learning selezionare il collegamento all'endpoint nell'output del processo per visualizzare il processo. Qui è possibile analizzare le metriche di training, verificare che il processo usi il componente e l'ambiente dal registro di sistema ed esaminare il modello sottoposto a training. Annotare il name del processo dall'output o trovare le stesse informazioni dalla panoramica del processo in Studio di Azure Machine Learning. Queste informazioni saranno necessarie per scaricare il modello sottoposto a training nella sezione successiva sulla creazione di modelli nel registro di sistema.

Screenshot della pipeline in Studio di Azure Machine Learning.

Creare un modello nel registro di sistema

In questa sezione si apprenderà come creare modelli in un registro. Vedere gestire i modelli per altre informazioni sulla gestione dei modelli in Azure Machine Learning. Verranno esaminati due modi diversi per creare un modello in un registro. Il primo è dai file locali. Il secondo consiste nel copiare un modello registrato nell'area di lavoro in un registro.

In entrambe le opzioni si creerà un modello con il formato MLflow, che consentirà di distribuire questo modello per l'inferenza senza scrivere alcun codice di inferenza.

Creare un modello nel registro di sistema da file locali

Scaricare il modello, disponibile come output di train_job sostituendo <job-name> con il nome del processo dalla sezione precedente. Il modello insieme ai file di metadati MLflow deve essere disponibile in ./artifacts/model/.

# fetch the name of the train_job by listing all child jobs of the pipeline job
train_job_name=$(az ml job list --parent-job-name <job-name> --query [0].name | sed 's/\"//g')
# download the default outputs of the train_job
az ml job download --name $train_job_name 
# review the model files
ls -l ./artifacts/model/

Suggerimento

Se l'area di lavoro predefinita e il gruppo di risorse non sono stati configurati come illustrato nella sezione dei prerequisiti, sarà necessario specificare i parametri --workspace-name e --resource-group perché az ml model create funzioni.

Avviso

L'output di az ml job list viene passato a sed. Questa operazione funziona solo nelle shell Linux. Se si usa Windows, eseguire az ml job list --parent-job-name <job-name> --query [0].name e rimuovere le virgolette visualizzate nel nome del processo di training.

Se non è possibile scaricare il modello, è possibile trovare il modello MLflow di esempio sottoposto a training dal processo di training nella sezione precedente nella cartella cli/jobs/pipelines-with-components/nyc_taxi_data_regression/artifacts/model/.

Creare il modello nel registro di sistema:

# create model in registry
az ml model create --name nyc-taxi-model --version 1 --type mlflow_model --path ./artifacts/model/ --registry-name <registry-name>

Suggerimento

  • Usare un numero casuale per il parametro version se viene visualizzato un errore che indica che il nome del modello e la versione esistono già.
  • Lo stesso comando dell'interfaccia della riga di comando az ml model create può essere usato per creare modelli in un'area di lavoro o in un registro. L'esecuzione del comando con il comando --workspace-name crea il modello in un'area di lavoro, mentre l'esecuzione del comando con --registry-name crea il modello nel registro di sistema.

Condividere un modello dall'area di lavoro al registro di sistema

In questo flusso di lavoro si creerà prima di tutto il modello nell'area di lavoro e quindi lo si condividerà nel registro di sistema. Questo flusso di lavoro è utile quando si desidera testare il modello nell'area di lavoro prima di condividerlo. Ad esempio, distribuirlo negli endpoint, provare l'inferenza con alcuni dati di test e copiare il modello in un registro se tutto è corretto. Questo flusso di lavoro può essere utile anche quando si sviluppa una serie di modelli che usano tecniche, framework o parametri differenti e si desidera promuovere solo uno di essi al registro di sistema come candidato di produzione.

Assicurarsi di avere il nome del processo della pipeline della sezione precedente e sostituirlo nel comando per recuperare il nome del processo di training riportato di seguito. Successivamente, registrare il modello dall'output del processo di training nell'area di lavoro. Si noti che il parametro --path fa riferimento all'output train_job di output con la sintassi azureml://jobs/$train_job_name/outputs/artifacts/paths/model.

# fetch the name of the train_job by listing all child jobs of the pipeline job
train_job_name=$(az ml job list --parent-job-name <job-name> --workspace-name <workspace-name> --resource-group <workspace-resource-group> --query [0].name | sed 's/\"//g')
# create model in workspace
az ml model create --name nyc-taxi-model --version 1 --type mlflow_model --path azureml://jobs/$train_job_name/outputs/artifacts/paths/model 

Suggerimento

  • Usare un numero casuale per il parametro version se viene visualizzato un errore che indica che il nome del modello e la versione esistono già.
  • Se l'area di lavoro predefinita e il gruppo di risorse non sono stati configurati come illustrato nella sezione dei prerequisiti, sarà necessario specificare i parametri --workspace-name e --resource-group perché az ml model create funzioni.

Prendere nota del nome e della versione del modello. È possibile verificare se il modello è registrato nell'area di lavoro esplorandolo nell'interfaccia utente di Studio o usando il comando az ml model show --name nyc-taxi-model --version $model_version.

Successivamente, si condividerà il modello dall'area di lavoro al registro di sistema.

# share model registered in workspace to registry
az ml model share --name nyc-taxi-model --version 1 --registry-name <registry-name> --share-with-name <new-name> --share-with-version <new-version>

Suggerimento

  • Se si hanno apportato delle modifiche nel comando az ml model create verificare di usare il nome del modello e la versione corretti.
  • Il comando precedente ha due parametri facoltativi "--share-with-name" e "--share-with-version". Se non vengono forniti, il nuovo modello avrà lo stesso nome e la stessa versione del modello condiviso. Annotare name e version del modello dall'output del comando az ml model create e usarli con i comandi az ml model show come indicato di seguito. name e version saranno necessari nella sezione successiva quando si distribuisce il modello in un endpoint online per l'inferenza.
az ml model show --name <model_name> --version <model_version> --registry-name <registry-name>

È anche possibile usare az ml model list --registry-name <registry-name> per elencare tutti i modelli nel registro di sistema o esplorare tutti i componenti nell'interfaccia utente di Studio di Azure Machine Learning. Assicurarsi di andare all'interfaccia utente globale e cercare l'hub Registri.

Lo screenshot seguente mostra un modello in un registro in Studio di Azure Machine Learning. Se si ha creato un modello dall'output del processo e lo si ha copiato dall'area di lavoro al registro di sistema, si noterà che il modello ha un collegamento al processo che ha eseguito il suo training. È possibile usare tale collegamento per andare al processo di training per esaminare il codice, l'ambiente e i dati usati per eseguire il training del modello.

Screenshot dei modelli nel Registro di sistema.

Distribuire il modello dal registro di sistema all'endpoint online nell'area di lavoro

Nell'ultima sezione si distribuirà un modello dal registro di sistema a un endpoint online in un'area di lavoro. È possibile scegliere di distribuire qualsiasi area di lavoro a cui si ha accesso nell'organizzazione, purché il percorso dell'area di lavoro sia uno dei percorsi supportati dal registro di sistema. Questa funzionalità è utile se è stato eseguito il training di un modello in un'area di lavoro dev e ora è necessario distribuire il modello in test o nell'area di lavoro prod, mantenendo al tempo stesso le informazioni di derivazione relative al codice, all'ambiente e ai dati usati per eseguire il training del modello.

Gli endpoint online consentono di distribuire modelli e inviare richieste di inferenza tramite le API REST. Per altre informazioni, vedere Come distribuire e assegnare punteggi a un modello di Machine Learning usando un endpoint online.

Creare un endpoint online.

az ml online-endpoint create --name reg-ep-1234

Aggiornare la model: riga deploy.yml disponibile nella cartella cli/jobs/pipelines-with-components/nyc_taxi_data_regression per fare riferimento al nome e alla versione del modello dal passaggio precedente. Creare una distribuzione online all'endpoint online. Di seguito deploy.yml è riportato per riferimento.

$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: demo
endpoint_name: reg-ep-1234
model: azureml://registries/<registry-name>/models/nyc-taxi-model/versions/1
instance_type: Standard_DS2_v2
instance_count: 1

Creare la distribuzione online. La distribuzione richiede alcuni minuti.

az ml online-deployment create --file deploy.yml --all-traffic

Recuperare l'URI di assegnazione dei punteggi e inviare una richiesta di assegnazione dei punteggi di esempio. I dati di esempio per la richiesta di assegnazione dei punteggi sono disponibili in scoring-data.json nella cartella cli/jobs/pipelines-with-components/nyc_taxi_data_regression.

ENDPOINT_KEY=$(az ml online-endpoint get-credentials -n reg-ep-1234 -o tsv --query primaryKey)
SCORING_URI=$(az ml online-endpoint show -n reg-ep-1234 -o tsv --query scoring_uri)
curl --request POST "$SCORING_URI" --header "Authorization: Bearer $ENDPOINT_KEY" --header 'Content-Type: application/json' --data @./scoring-data.json

Suggerimento

  • Il comando curl funziona solo in Linux.
  • Se l'area di lavoro predefinita e il gruppo di risorse non sono stati configurati come illustrato nella sezione dei prerequisiti, sarà necessario specificare i parametri --workspace-name e --resource-group perché i comandi az ml online-endpoint e az ml online-deploymentfunzionino.

Pulire le risorse

Se non si usa la distribuzione, è consigliabile eliminarla per ridurre i costi. Nell'esempio seguente vengono eliminati l'endpoint e tutte le distribuzioni sottostanti:

az ml online-endpoint delete --name reg-ep-1234 --yes --no-wait

Passaggi successivi