Installare e usare l'interfaccia della riga di comando (v1)

SI APPLICA A: Estensione ML dell’interfaccia della riga di comando di Azure v1

Importante

Alcuni comandi dell'interfaccia della riga di comando (CLI) di Azure in questo articolo usano l'estensione azure-cli-ml, o v1, per Azure Machine Learning. L'assistenza per l'estensione v1 terminerà il 30 settembre 2025. Sarà possibile installare e usare l'estensione v1 fino a tale data.

Consigliamo di passare all'estensione ml, o v2, prima del 30 settembre 2025. Per ulteriori informazioni sull'estensione v2, vedere Estensione dell'interfaccia della riga di comando (CLI) di Azure Machine Learning e Python SDK v2.

L'interfaccia della riga di comando di Azure Machine Learning è un'estensione dell'interfaccia della riga di comando di Azure, un'interfaccia della riga di comando multipiattaforma per la piattaforma Azure. Questa estensione offre i comandi per lavorare con Azure Machine Learning. Consente di automatizzare le attività di Machine Learning. L'elenco seguente fornisce alcune azioni di esempio che è possibile eseguire con l'estensione dell'interfaccia della riga di comando:

  • Eseguire gli esperimenti per creare modelli di apprendimento automatico

  • Registrare modelli di Machine Learning per l'uso da parte dei clienti

  • Creare un pacchetto, distribuire e monitorare il ciclo di vita dei modelli di Machine Learning

L'interfaccia della riga di comando non sostituisce Azure Machine Learning SDK. Si tratta di uno strumento complementare ottimizzato per gestire attività altamente con parametri che si adattano bene all'automazione.

Prerequisiti

  • Per usare l'interfaccia della riga di comando, è necessario avere una sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare. Provare la versione gratuita o a pagamento di Azure Machine Learning.

  • Per usare i comandi dell'interfaccia della riga di comando in questo documento dall'ambiente locale, è necessaria l'interfaccia della riga di comando di Azure.

    Se si usa Azure Cloud Shell, l'interfaccia della riga di comando è accessibile tramite il browser e si trova nel cloud.

Documentazione di riferimento completa

Trovare la documentazione di riferimento completa per l'estensione azure-cli-ml dell'interfaccia della riga di comando di Azure.

Connettere l'interfaccia della riga di comando alla sottoscrizione di Azure

Importante

Se si usa Azure Cloud Shell, è possibile ignorare questa sezione. Cloud Shell esegue automaticamente l'autenticazione con l'account usato per accedere alla sottoscrizione di Azure.

È possibile eseguire l'autenticazione della sottoscrizione di Azure dall'interfaccia della riga di comando in diversi modi. Quello più semplice consiste nell'eseguire l'autenticazione interattiva tramite un browser. Per eseguire l'autenticazione in modo interattivo, aprire una riga di comando o un terminale e usare il comando seguente:

az login

Se l'interfaccia della riga di comando può aprire il browser predefinito, eseguirà questa operazione e caricherà una pagina di accesso. In caso contrario, è necessario aprire un browser e seguire le istruzioni nella riga di comando. Le istruzioni prevedono l'individuazione di https://aka.ms/devicelogin e l'immissione di un codice di autorizzazione.

Suggerimento

Dopo l'accesso, viene visualizzato un elenco di sottoscrizioni associate all'account Azure. Le informazioni della sottoscrizione con isDefault: true rappresentano la sottoscrizione attualmente attivata per i comandi dell’interfaccia della riga di comando di Azure. Questa sottoscrizione deve corrispondere a quella che contiene l'area di lavoro Azure Machine Learning. È possibile trovare le informazioni sulla sottoscrizione nella pagina di panoramica per l'area di lavoro nel portale di Azure.

Per selezionare un'altra sottoscrizione da usare per i comandi dell'interfaccia della riga di comando di Azure, usare il comando az account set -s <subscription> e specificare il nome o l'ID sottoscrizione a cui passare. Per altre informazioni sulla selezione delle sottoscrizioni, vedere Usare più sottoscrizioni di Azure.

Per altri metodi di autenticazione, vedere Accedere con l'interfaccia della riga di comando di Azure.

Installare l'estensione

Per installare l'estensione dell'interfaccia della riga di comando (v1):

az extension add -n azure-cli-ml

Aggiornare l'estensione

Per aggiornare l'estensione dell'interfaccia della riga di comando di Azure Machine Learning, usare il comando seguente:

az extension update -n azure-cli-ml

Rimuovere l'estensione

Per rimuovere l'estensione dell'interfaccia della riga di comando, usare il comando seguente:

az extension remove -n azure-cli-ml

Gestione delle risorse

I comandi seguenti illustrano come usare l'interfaccia della riga di comando per gestire le risorse usate da Azure Machine Learning.

  • Se non è già disponibile, creare un gruppo di risorse:

    az group create -n myresourcegroup -l westus2
    
  • Creare un'area di lavoro di Azure Machine Learning:

    az ml workspace create -w myworkspace -g myresourcegroup
    

    Per altre informazioni, vedere az ml workspace create.

  • Allegare una configurazione di un'area di lavoro a una cartella per abilitare la consapevolezza contestuale dell'interfaccia della riga di comando.

    az ml folder attach -w myworkspace -g myresourcegroup
    

    Questo comando crea una .azureml sottodirectory che contiene i file di ambiente runconfig e conda di esempio. Contiene anche un file config.json usato per comunicare con l'area di lavoro di Azure Machine Learning.

    Per altre informazioni, vedere az ml folder attach.

  • Allegare un contenitore BLOB di Azure come archivio dati.

    az ml datastore attach-blob  -n datastorename -a accountname -c containername
    

    Per altre informazioni, vedere az ml datastore attach-blob.

  • Caricare file in un archivio dati.

    az ml datastore upload  -n datastorename -p sourcepath
    

    Per altre informazioni, vedere az ml datastore upload.

  • Allegare un cluster AKS come destinazione di calcolo.

    az ml computetarget attach aks -n myaks -i myaksresourceid -g myresourcegroup -w myworkspace
    

    Per altre informazioni, vedere az ml computetarget attach aks

Cluster di elaborazione

  • Creare un nuovo cluster di calcolo gestito.

    az ml computetarget create amlcompute -n cpu --min-nodes 1 --max-nodes 1 -s STANDARD_D3_V2
    
  • Creare un nuovo cluster di elaborazione gestito con identità gestita

    • Identità gestita assegnata dall'utente

      az ml computetarget create amlcompute --name cpu-cluster --vm-size Standard_NC6 --max-nodes 5 --assign-identity '/subscriptions/<subcription_id>/resourcegroups/<resource_group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user_assigned_identity>'
      
    • Identità gestita assegnata dal sistema

      az ml computetarget create amlcompute --name cpu-cluster --vm-size Standard_NC6 --max-nodes 5 --assign-identity '[system]'
      
  • Aggiungere un'identità gestita a un cluster esistente:

    • Identità gestita assegnata dall'utente

      az ml computetarget amlcompute identity assign --name cpu-cluster '/subscriptions/<subcription_id>/resourcegroups/<resource_group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user_assigned_identity>'
      
    • Identità gestita assegnata dal sistema

      az ml computetarget amlcompute identity assign --name cpu-cluster '[system]'
      

Per altre informazioni, vedere az ml computetarget create amlcompute.

Nota

I cluster di calcolo di Azure Machine Learning supportano solo una identità assegnata dal sistema o più identità assegnate dall'utente, non entrambe contemporaneamente.

Istanza di calcolo

Gestire le istanze di calcolo. In tutti gli esempi seguenti il nome dell'istanza di calcolo è cpu

Eseguire esperimenti

  • Avviare un'esecuzione dell'esperimento. Quando si usa questo comando, specificare il nome del file runconfig (il testo prima di *.runconfig se si sta esaminando il file system) rispetto al parametro -c.

    az ml run submit-script -c sklearn -e testexperiment train.py
    

    Suggerimento

    Il comando az ml folder attach crea una sottodirectory .azureml che contiene due file runconfig di esempio.

    Se si dispone di uno script Python che crea un oggetto di configurazione di esecuzione a livello di codice, è possibile usare RunConfig.save() per salvarlo come file runconfig.

    Lo schema runconfig completo è disponibile in questo file JSON. Lo schema è autoesplicativo tramite la chiave description di ogni oggetto. Sono inoltre disponibili enumerazioni per i valori possibili e un frammento di modello alla fine.

    Per altre informazioni, vedere az ml run submit-script.

  • Visualizzare un elenco di esperimenti:

    az ml experiment list
    

    Per altre informazioni, vedere az ml experiment list.

Esecuzione di HyperDrive

È possibile usare HyperDrive con l'interfaccia della riga di comando di Azure per le esecuzioni di ottimizzazione dei parametri. Prima di tutto, creare un file di configurazione di HyperDrive nel formato seguente. Per informazioni dettagliate sui parametri di ottimizzazione degli iperparametri, vedere l'articolo Ottimizzare gli iperparametri per il modello.

# hdconfig.yml
sampling: 
    type: random # Supported options: Random, Grid, Bayesian
    parameter_space: # specify a name|expression|values tuple for each parameter.
    - name: --penalty # The name of a script parameter to generate values for.
      expression: choice # supported options: choice, randint, uniform, quniform, loguniform, qloguniform, normal, qnormal, lognormal, qlognormal
      values: [0.5, 1, 1.5] # The list of values, the number of values is dependent on the expression specified.
policy: 
    type: BanditPolicy # Supported options: BanditPolicy, MedianStoppingPolicy, TruncationSelectionPolicy, NoTerminationPolicy
    evaluation_interval: 1 # Policy properties are policy specific. See the above link for policy specific parameter details.
    slack_factor: 0.2
primary_metric_name: Accuracy # The metric used when evaluating the policy
primary_metric_goal: Maximize # Maximize|Minimize
max_total_runs: 8 # The maximum number of runs to generate
max_concurrent_runs: 2 # The number of runs that can run concurrently.
max_duration_minutes: 100 # The maximum length of time to run the experiment before cancelling.

Aggiungere questo file insieme ai file della configurazione di esecuzione. Inviare quindi un'esecuzione HyperDrive usando il codice seguente:

az ml run submit-hyperdrive -e <experiment> -c <runconfig> --hyperdrive-configuration-name <hdconfig> my_train.py

Si noti la sezione argomenti in runconfig e spazio dei parametri nella configurazione di HyperDrive. Contengono gli argomenti della riga di comando da passare allo script di training. Il valore in runconfig rimane invariato per ogni iterazione, mentre l'intervallo nella configurazione di HyperDrive viene iterato. Non specificare lo stesso argomento in entrambi i file.

Gestione dei set di dati

I comandi seguenti illustrano come usare i set di dati in Azure Machine Learning:

  • Registrare un set di dati:

    az ml dataset register -f mydataset.json
    

    Per informazioni sul formato del file JSON usato per definire il set di dati, usare az ml dataset register --show-template.

    Per altre informazioni, vedere az ml dataset register.

  • Elencare tutti i set di dati in un'area di lavoro:

    az ml dataset list
    

    Per altre informazioni, vedere az ml dataset list.

  • Ottenere dettagli su un set di dati:

    az ml dataset show -n dataset-name
    

    Per altre informazioni, vedere az ml dataset show.

  • Annullare la registrazione di un set di dati:

    az ml dataset unregister -n dataset-name
    

    Per altre informazioni, vedere az ml dataset unregister.

Gestione dell'ambiente

I comandi seguenti illustrano come creare, registrare ed elencare gli ambienti di Azure Machine Learning per l'area di lavoro in uso:

  • Creare file scaffolding per un ambiente:

    az ml environment scaffold -n myenv -d myenvdirectory
    

    Per altre informazioni, vedere az ml environment scaffold.

  • Registrare un ambiente:

    az ml environment register -d myenvdirectory
    

    Per altre informazioni, vedere az ml environment register.

  • Elencare ambienti registrati:

    az ml environment list
    

    Per altre informazioni, vedere az ml environment list.

  • Scaricare un ambiente registrato:

    az ml environment download -n myenv -d downloaddirectory
    

    Per altre informazioni, vedere az ml environment download.

Schema di configurazione dell'ambiente

Se è stato usato il comando az ml environment scaffold, viene generato un file azureml_environment.json di modello che può essere modificato e usato per creare configurazioni personalizzate dell'ambiente con l'interfaccia della riga di comando. L'oggetto di livello principale viene mappato liberamente alla classe Environment in Python SDK.

{
    "name": "testenv",
    "version": null,
    "environmentVariables": {
        "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE"
    },
    "python": {
        "userManagedDependencies": false,
        "interpreterPath": "python",
        "condaDependenciesFile": null,
        "baseCondaEnvironment": null
    },
    "docker": {
        "enabled": false,
        "baseImage": "mcr.microsoft.com/azureml/openmpi3.1.2-ubuntu18.04:20210615.v1",
        "baseDockerfile": null,
        "sharedVolumes": true,
        "shmSize": "2g",
        "arguments": [],
        "baseImageRegistry": {
            "address": null,
            "username": null,
            "password": null
        }
    },
    "spark": {
        "repositories": [],
        "packages": [],
        "precachePackages": true
    },
    "databricks": {
        "mavenLibraries": [],
        "pypiLibraries": [],
        "rcranLibraries": [],
        "jarLibraries": [],
        "eggLibraries": []
    },
    "inferencingStackVersion": null
}

La tabella seguente illustra in dettaglio ogni campo di primo livello nel file JSON, nel relativo tipo e in una descrizione. Se un tipo di oggetto è collegato a una classe da Python SDK, esiste una corrispondenza 1:1 debole tra ogni campo JSON e il nome della variabile pubblica nella classe Python. In alcuni casi, il campo può eseguire il mapping a un argomento del costruttore anziché a una variabile di classe. Ad esempio, il campo environmentVariables viene mappato alla variabile environment_variables nella classe Environment.

Campo JSON Tipo Descrizione
name string Nome dell'ambiente. Non iniziare con Microsoft o AzureML.
version string Versione dell'ambiente.
environmentVariables {string: string} Una mappa di hash dei nomi e dei valori delle variabili di ambiente.
python PythonSectionhat definisce l'ambiente Python e l'interprete da usare nella risorsa di calcolo di destinazione.
docker DockerSection Definisce le impostazioni per personalizzare l'immagine Docker compilata in base alle specifiche dell'ambiente.
spark SparkSection La sezione configura le impostazioni di Spark. Viene usato solo quando il framework è impostato su PySpark.
databricks DatabricksSection Configura le dipendenze della libreria Databricks.
inferencingStackVersion string Specifica la versione dello stack di inferenza aggiunta all'immagine. Per evitare di aggiungere uno stack di inferenza, lasciare questo campo null. Valore valido: "latest".

Gestione pipeline ML

I comandi seguenti illustrano come usare le pipeline di Machine Learning:

Registrazione, profilatura e distribuzione di un modello

I comandi seguenti illustrano come registrare un modello con training e quindi distribuirlo come servizio di produzione:

  • Registrare un modello con Azure Machine Learning:

    az ml model register -n mymodel -p sklearn_regression_model.pkl
    

    Per altre informazioni, vedere az ml model register.

  • FACOLTATIVO Profilare il modello per ottenere valori ottimali per la CPU e la memoria per la distribuzione.

    az ml model profile -n myprofile -m mymodel:1 --ic inferenceconfig.json -d "{\"data\": [[1,2,3,4,5,6,7,8,9,10],[10,9,8,7,6,5,4,3,2,1]]}" -t myprofileresult.json
    

    Per altre informazioni, vedere az ml model profile.

  • Distribuire il modello nel servizio Azure Kubernetes

    az ml model deploy -n myservice -m mymodel:1 --ic inferenceconfig.json --dc deploymentconfig.json --ct akscomputetarget
    

    Per altre informazioni sullo schema di un file di configurazione dell'inferenza, vedere Schema di configurazione dell'inferenza.

    Per altre informazioni sullo schema di un file di configurazione della distribuzione, vedere Schema di configurazione della distribuzione.

    Per altre informazioni, vedere az ml model deploy.

Schema di configurazione dell'inferenza

Le voci del documento inferenceconfig.json vengono mappate ai parametri della classe InferenceConfig. La tabella seguente descrive il mapping tra le entità nel documento JSON e i parametri per il metodo:

Entità JSON Parametro per il metodo Descrizione
entryScript entry_script Percorso di un file locale che contiene il codice da eseguire per l'immagine.
sourceDirectory source_directory Facoltativo. Percorso delle cartelle che contengono tutti i file per la creazione dell'immagine, semplificando l'accesso a qualsiasi file all'interno di questa cartella o sottocartella. È possibile caricare un'intera cartella dal computer locale come dipendenze per il servizio Web. Nota: i percorsi your entry_script, conda_file e extra_docker_file_steps sono relativi al percorso source_directory.
environment environment Facoltativo. Ambiente di Azure Machine Learning.

Nei file di configurazione dell'inferenza è possibile includere le specifiche complete di un ambiente di Azure Machine Learning. Se l'ambiente non esiste nell'area di lavoro, Azure Machine Learning lo creerà. In caso contrario, Azure Machine Learning aggiornerà l'ambiente, se necessario. Di seguito è riportato un file JSON di esempio:

{
    "entryScript": "score.py",
    "environment": {
        "docker": {
            "arguments": [],
            "baseDockerfile": null,
            "baseImage": "mcr.microsoft.com/azureml/intelmpi2018.3-ubuntu18.04",
            "enabled": false,
            "sharedVolumes": true,
            "shmSize": null
        },
        "environmentVariables": {
            "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE"
        },
        "name": "my-deploy-env",
        "python": {
            "baseCondaEnvironment": null,
            "condaDependencies": {
                "channels": [
                    "conda-forge"
                ],
                "dependencies": [
                    "python=3.7",
                    {
                        "pip": [
                            "azureml-defaults",
                            "azureml-telemetry",
                            "scikit-learn==0.22.1",
                            "inference-schema[numpy-support]"
                        ]
                    }
                ],
                "name": "project_environment"
            },
            "condaDependenciesFile": null,
            "interpreterPath": "python",
            "userManagedDependencies": false
        },
        "version": "1"
    }
}

È anche possibile usare un ambiente di Azure Machine Learning esistente nei parametri dell'interfaccia della riga di comando separati e rimuovere la chiave "environment" dal file di configurazione dell'inferenza. Usare -e per il nome dell'ambiente e --ev per la versione. Se non si specifica--ev, verrà usata la versione più recente. Ecco un esempio di file di configurazione dell'inferenza:

{
    "entryScript": "score.py",
    "sourceDirectory": null
}

Il comando seguente illustra come distribuire un modello usando il file di configurazione dell'inferenza precedente (denominato myInferenceConfig.json).

Usa inoltre la versione più recente di un ambiente di Azure Machine Learning esistente (denominato AzureML-Minimal).

az ml model deploy -m mymodel:1 --ic myInferenceConfig.json -e AzureML-Minimal --dc deploymentconfig.json

Schema di configurazione della distribuzione

Schema di configurazione della distribuzione locale

Le voci del documento deploymentconfig.json vengono associate ai parametri di LocalWebservice.deploy_configuration. La tabella seguente descrive il mapping tra le entità nel documento JSON e i parametri per il metodo:

Entità JSON Parametro per il metodo Descrizione
computeType N/D La destinazione di calcolo. Per le destinazioni locali, il valore deve essere local.
port port La porta locale su cui esporre l'endpoint HTTP del servizio.

Il codice JSON seguente è un esempio di configurazione della distribuzione da usare con l'interfaccia della riga di comando:

{
    "computeType": "local",
    "port": 32267
}

Salvare il codice JSON come file denominato deploymentconfig.json.

Schema di configurazione della distribuzione dell'istanza di contenitore di Azure

Le voci del documento deploymentconfig.json vengono mappate ai parametri di AciWebservice.deploy_configuration. La tabella seguente descrive il mapping tra le entità nel documento JSON e i parametri per il metodo:

Entità JSON Parametro per il metodo Descrizione
computeType N/D La destinazione di calcolo. Per Istanze di Azure Container, il valore deve essere ACI.
containerResourceRequirements N/D Contenitore per le entità CPU e memoria.
  cpu cpu_cores Il numero di core di CPU da allocare. Il valore predefinito è 0.1
  memoryInGB memory_gb La quantità di memoria (in GB) da allocare per questo servizio Web. Il valore predefinito è 0.5
location location L'area di Azure in cui distribuire questo servizio Web. Se non specificata, verrà usata la località dell'area di lavoro. Altre informazioni sulle aree disponibili sono disponibili qui: Aree ACI
authEnabled auth_enabled Indica se abilitare o meno l'autenticazione per questo servizio Web. Il valore predefinito è False
sslEnabled ssl_enabled Indica se abilitare o meno SSL per questo servizio Web. Il valore predefinito è False.
appInsightsEnabled enable_app_insights Indica se abilitare o meno AppInsights per questo servizio Web. Il valore predefinito è False
sslCertificate ssl_cert_pem_file Il file cert necessario se SSL è abilitato
sslKey ssl_key_pem_file Il file di chiave necessario se SSL è abilitato
cname ssl_cname Il record CNAME necessario se SSL è abilitato
dnsNameLabel dns_name_label L'etichetta del nome DNS per l'endpoint di assegnazione di punteggi. Se non specificata, per l'endpoint di assegnazione di punteggi verrà generata un'etichetta univoca del nome DNS.

Il codice JSON seguente è un esempio di configurazione della distribuzione da usare con l'interfaccia della riga di comando:

{
    "computeType": "aci",
    "containerResourceRequirements":
    {
        "cpu": 0.5,
        "memoryInGB": 1.0
    },
    "authEnabled": true,
    "sslEnabled": false,
    "appInsightsEnabled": false
}

Schema di configurazione della distribuzione rete del servizio Azure Kubernetes

Le voci del documento deploymentconfig.json vengono mappate ai parametri di AksWebservice.deploy_configuration. La tabella seguente descrive il mapping tra le entità nel documento JSON e i parametri per il metodo:

Entità JSON Parametro per il metodo Descrizione
computeType N/D La destinazione di calcolo. Per il servizio Azure Kubernetes, il valore deve essere aks.
autoScaler N/D Contiene gli elementi di configurazione per la scalabilità automatica. Vedere la tabella sulla scalabilità automatica.
  autoscaleEnabled autoscale_enabled Indica se abilitare o meno la scalabilità automatica per il servizio Web. Se numReplicas = 0, True; in caso contrario, False.
  minReplicas autoscale_min_replicas Il numero minimo di contenitori da usare per la scalabilità automatica di questo servizio Web. Impostazione predefinita: 1.
  maxReplicas autoscale_max_replicas Il numero massimo di contenitori da usare per la scalabilità automatica di questo servizio Web. Impostazione predefinita: 10.
  refreshPeriodInSeconds autoscale_refresh_seconds La frequenza dei tentativi di dimensionamento automatico di questo servizio Web. Impostazione predefinita: 1.
  targetUtilization autoscale_target_utilization L'utilizzo di destinazione (in percentuale su 100) che è necessario provare a mantenere per la scalabilità automatica di questo servizio Web. Impostazione predefinita: 70.
dataCollection N/D Contiene gli elementi di configurazione per la raccolta di dati.
  storageEnabled collect_model_data Indica se abilitare o meno la raccolta di dati del modello per il servizio Web. Impostazione predefinita: False.
authEnabled auth_enabled Indica se abilitare o meno l'autenticazione della chiave per il servizio Web. tokenAuthEnabled e authEnabled non possono essere entrambi True. Impostazione predefinita: True.
tokenAuthEnabled token_auth_enabled Indica se abilitare o meno l'autenticazione del token per il servizio Web. tokenAuthEnabled e authEnabled non possono essere entrambi True. Impostazione predefinita: False.
containerResourceRequirements N/D Contenitore per le entità CPU e memoria.
  cpu cpu_cores Il numero di core di CPU da allocare per questo servizio Web. Il valore predefinito è 0.1
  memoryInGB memory_gb La quantità di memoria (in GB) da allocare per questo servizio Web. Il valore predefinito è 0.5
appInsightsEnabled enable_app_insights Indica se abilitare o meno la registrazione di Application Insights per il servizio Web. Impostazione predefinita: False.
scoringTimeoutMs scoring_timeout_ms Il timeout da applicare per l'assegnazione del punteggio alle chiamate al servizio Web. Impostazione predefinita: 60000.
maxConcurrentRequestsPerContainer replica_max_concurrent_requests Il numero massimo di richieste simultanee per nodo per questo servizio Web. Impostazione predefinita: 1.
maxQueueWaitMs max_request_wait_time Il tempo massimo di permanenza di una richiesta nella coda (in millisecondi) prima che venga restituito un errore 503. Impostazione predefinita: 500.
numReplicas num_replicas Il numero di contenitori da allocare per questo servizio Web. Nessun valore predefinito. Se questo parametro non è impostato, la scalabilità automatica è abilitata per impostazione predefinita.
keys N/D Contiene gli elementi di configurazione per le chiavi.
  primaryKey primary_key Una chiave di autenticazione primaria da usare per questo servizio Web
  secondaryKey secondary_key Una chiave di autenticazione secondaria da usare per questo servizio Web
gpuCores gpu_cores Il numero di core di GPU (replica per contenitore) da allocare per questo servizio Web. Il valore predefinito è 1. Supporta solo valori numerici interi.
livenessProbeRequirements N/D Contiene gli elementi di configurazione per i requisiti del probe di attività.
  periodSeconds period_seconds La frequenza (in secondi) con cui eseguire il probe di attività. Il valore predefinito è 10 secondi. Il valore minimo è 1.
  initialDelaySeconds initial_delay_seconds Il numero di secondi dopo l'avvio del contenitore prima che vengano avviati i probe di attività. Il valore predefinito è 310
  timeoutSeconds timeout_seconds Il numero di secondi trascorsi i quali si verifica il timeout del probe di attività. Il valore predefinito è 2 secondi. Il valore minimo è 1
  successThreshold success_threshold Il numero minimo di successi consecutivi perché il probe di attività venga considerato riuscito dopo un errore. Assume il valore predefinito 1. Il valore minimo è 1.
  failureThreshold failure_threshold Quando un pod viene avviato e il probe di attività non riesce, Kubernetes continuerà a provare per il numero di volte indicato in failureThreshold prima di rinunciare. Il valore predefinito è 3. Il valore minimo è 1.
namespace namespace Lo spazio dei nomi di Kubernetes in cui è distribuito il servizio Web. Fino a 63 caratteri alfanumerici minuscoli ('a'-'z', '0'-'9') e trattini ('-'). Il primo e l'ultimo carattere non possono essere trattini.

Il codice JSON seguente è un esempio di configurazione della distribuzione da usare con l'interfaccia della riga di comando:

{
    "computeType": "aks",
    "autoScaler":
    {
        "autoscaleEnabled": true,
        "minReplicas": 1,
        "maxReplicas": 3,
        "refreshPeriodInSeconds": 1,
        "targetUtilization": 70
    },
    "dataCollection":
    {
        "storageEnabled": true
    },
    "authEnabled": true,
    "containerResourceRequirements":
    {
        "cpu": 0.5,
        "memoryInGB": 1.0
    }
}

Passaggi successivi