Instalowanie i używanie interfejsu wiersza polecenia (wersja 1)

DOTYCZY ROZSZERZENIA ML interfejsu wiersza polecenia platformy Azure w wersji 1

Ważne

Niektóre polecenia interfejsu wiersza polecenia platformy Azure w tym artykule używają azure-cli-mlrozszerzenia , lub v1 dla usługi Azure Machine Edukacja. Obsługa rozszerzenia w wersji 1 zakończy się 30 września 2025 r. Będzie można zainstalować rozszerzenie v1 i używać go do tej daty.

Zalecamy przejście do mlrozszerzenia , lub w wersji 2 przed 30 września 2025 r. Aby uzyskać więcej informacji na temat rozszerzenia w wersji 2, zobacz Rozszerzenie interfejsu wiersza polecenia usługi Azure ML i zestaw Python SDK w wersji 2.

Interfejs wiersza polecenia usługi Azure Machine Edukacja to rozszerzenie interfejsu wiersza polecenia platformy Azure, międzyplatformowego interfejsu wiersza polecenia dla platformy Azure. To rozszerzenie udostępnia polecenia do pracy z usługą Azure Machine Edukacja. Pozwala to zautomatyzować działania uczenia maszynowego. Poniższa lista zawiera kilka przykładowych akcji, które można wykonać za pomocą rozszerzenia interfejsu wiersza polecenia:

  • Uruchamianie eksperymentów w celu tworzenia modeli uczenia maszynowego

  • Rejestrowanie modeli uczenia maszynowego na potrzeby użycia klienta

  • Pakowanie, wdrażanie i śledzenie cyklu życia modeli uczenia maszynowego

Interfejs wiersza polecenia nie zastępuje zestawu Azure Machine Edukacja SDK. Jest to narzędzie uzupełniające, które jest zoptymalizowane pod kątem obsługi wysoce sparametryzowanych zadań, które dobrze pasują do automatyzacji.

Wymagania wstępne

  • Aby korzystać z interfejsu wiersza polecenia, musisz mieć subskrypcję platformy Azure. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto. Wypróbuj bezpłatną lub płatną wersję usługi Azure Machine Edukacja dzisiaj.

  • Aby użyć poleceń interfejsu wiersza polecenia w tym dokumencie ze środowiska lokalnego, potrzebujesz interfejsu wiersza polecenia platformy Azure.

    Jeśli używasz usługi Azure Cloud Shell, interfejs wiersza polecenia jest dostępny za pośrednictwem przeglądarki i znajduje się w chmurze.

Pełna dokumentacja referencyjna

Znajdź pełną dokumentację dotyczącą rozszerzenia azure-cli-ml interfejsu wiersza polecenia platformy Azure.

Połączenie interfejsu wiersza polecenia do subskrypcji platformy Azure

Ważne

Jeśli używasz usługi Azure Cloud Shell, możesz pominąć tę sekcję. Usługa Cloud Shell automatycznie uwierzytelnia się przy użyciu konta, które logujesz się do subskrypcji platformy Azure.

Istnieje kilka sposobów uwierzytelniania w subskrypcji platformy Azure z poziomu interfejsu wiersza polecenia. Najbardziej podstawowym jest interakcyjne uwierzytelnianie przy użyciu przeglądarki. Aby uwierzytelnić się interaktywnie, otwórz wiersz polecenia lub terminal i użyj następującego polecenia:

az login

Jeśli interfejs wiersza polecenia może otworzyć Twoją domyślną przeglądarkę, zrobi to i załaduje stronę logowania. W przeciwnym razie musisz otworzyć przeglądarkę i postępować zgodnie z instrukcjami w wierszu polecenia. Instrukcje obejmują przechodzenie do https://aka.ms/devicelogin i wprowadzanie kodu autoryzacji.

Napiwek

Po zalogowaniu zostanie wyświetlona lista subskrypcji skojarzonych z kontem platformy Azure. Informacje o subskrypcji z isDefault: true programem to aktualnie aktywowana subskrypcja poleceń interfejsu wiersza polecenia platformy Azure. Ta subskrypcja musi być taka sama, która zawiera obszar roboczy usługi Azure Machine Edukacja. Identyfikator subskrypcji można znaleźć w witrynie Azure Portal , odwiedzając stronę przeglądu obszaru roboczego.

Aby wybrać inną subskrypcję, użyj az account set -s <subscription name or ID> polecenia i określ nazwę subskrypcji lub identyfikator, do których chcesz przełączyć się. Aby uzyskać więcej informacji na temat wyboru subskrypcji, zobacz Korzystanie z wielu subskrypcji platformy Azure.

Aby uzyskać informacje na temat innych metod uwierzytelniania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.

Instalowanie rozszerzenia

Aby zainstalować rozszerzenie interfejsu wiersza polecenia (wersja 1):

az extension add -n azure-cli-ml

Aktualizowanie rozszerzenia

Aby zaktualizować rozszerzenie interfejsu wiersza polecenia usługi Machine Edukacja, użyj następującego polecenia:

az extension update -n azure-cli-ml

Usuwanie rozszerzenia

Aby usunąć rozszerzenie interfejsu wiersza polecenia, użyj następującego polecenia:

az extension remove -n azure-cli-ml

Zarządzanie zasobami

Poniższe polecenia pokazują, jak używać interfejsu wiersza polecenia do zarządzania zasobami używanymi przez usługę Azure Machine Edukacja.

  • Jeśli jeszcze go nie masz, utwórz grupę zasobów:

    az group create -n myresourcegroup -l westus2
    
  • Tworzenie obszaru roboczego usługi Azure Machine Edukacja:

    az ml workspace create -w myworkspace -g myresourcegroup
    

    Aby uzyskać więcej informacji, zobacz az ml workspace create.

  • Dołącz konfigurację obszaru roboczego do folderu, aby umożliwić rozpoznawanie kontekstowe interfejsu wiersza polecenia.

    az ml folder attach -w myworkspace -g myresourcegroup
    

    To polecenie tworzy .azureml podkatalog zawierający przykładowe pliki środowiska Runconfig i conda. Zawiera config.json również plik używany do komunikowania się z obszarem roboczym usługi Azure Machine Edukacja.

    Aby uzyskać więcej informacji, zobacz az ml folder attach.

  • Dołączanie kontenera obiektów blob platformy Azure jako magazynu danych.

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

    Aby uzyskać więcej informacji, zobacz az ml datastore attach-blob.

  • Przekazywanie plików do magazynu danych.

    az ml datastore upload  -n datastorename -p sourcepath
    

    Aby uzyskać więcej informacji, zobacz az ml datastore upload.

  • Dołącz klaster usługi AKS jako docelowy obiekt obliczeniowy.

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

    Aby uzyskać więcej informacji, zobacz az ml computetarget attach aks

Klastry obliczeniowe

  • Utwórz nowy zarządzany klaster obliczeniowy.

    az ml computetarget create amlcompute -n cpu --min-nodes 1 --max-nodes 1 -s STANDARD_D3_V2
    
  • Tworzenie nowego zarządzanego klastra obliczeniowego z tożsamością zarządzaną

    • Tożsamość zarządzana przypisana przez użytkownika

      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>'
      
    • Tożsamość zarządzana przypisana przez system

      az ml computetarget create amlcompute --name cpu-cluster --vm-size Standard_NC6 --max-nodes 5 --assign-identity '[system]'
      
  • Dodaj tożsamość zarządzaną do istniejącego klastra:

    • Tożsamość zarządzana przypisana przez użytkownika

      az ml computetarget amlcompute identity assign --name cpu-cluster '/subscriptions/<subcription_id>/resourcegroups/<resource_group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user_assigned_identity>'
      
    • Tożsamość zarządzana przypisana przez system

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

Aby uzyskać więcej informacji, zobacz az ml computetarget create amlcompute.

Uwaga

Usługa Azure Machine Edukacja klastry obliczeniowe obsługują tylko jedną tożsamość przypisaną przez system lub wiele tożsamości przypisanych przez użytkownika, a nie jednocześnie.

Wystąpienie obliczeniowe

Zarządzanie wystąpieniami obliczeniowymi. We wszystkich poniższych przykładach nazwa wystąpienia obliczeniowego to cpu

Uruchamianie eksperymentów

  • Uruchom przebieg eksperymentu. W przypadku korzystania z tego polecenia określ nazwę pliku runconfig (tekst przed *.runconfig, jeśli patrzysz na system plików) względem parametru -c.

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

    Napiwek

    Polecenie az ml folder attach tworzy .azureml podkatalog zawierający dwa przykładowe pliki runconfig.

    Jeśli masz skrypt języka Python, który programowo tworzy obiekt konfiguracji uruchamiania, możesz użyć polecenia RunConfig.save(), aby zapisać go jako plik runconfig.

    Pełny schemat runconfig można znaleźć w tym pliku JSON. Schemat dokumentuje się samodzielnie za pomocą description klucza każdego obiektu. Ponadto na końcu istnieją wyliczenia dla możliwych wartości i fragment kodu szablonu.

    Aby uzyskać więcej informacji, zobacz az ml run submit-script.

  • Wyświetl listę eksperymentów:

    az ml experiment list
    

    Aby uzyskać więcej informacji, zobacz az ml experiment list.

Uruchamianie funkcji HyperDrive

Dostrajania parametrów można użyć funkcji HyperDrive z interfejsem wiersza polecenia platformy Azure. Najpierw utwórz plik konfiguracji funkcji HyperDrive w następującym formacie. Aby uzyskać szczegółowe informacje na temat parametrów dostrajania hiperparametrów, zobacz Artykuł Dostrajanie hiperparametrów w artykule dotyczącym modelu .

# 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.

Dodaj ten plik wraz z plikami konfiguracji uruchamiania. Następnie prześlij przebieg funkcji HyperDrive przy użyciu:

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

Zwróć uwagę na sekcję argumentów w obszarze runconfig i przestrzeni parametrów w konfiguracji funkcji HyperDrive. Zawierają argumenty wiersza polecenia, które mają zostać przekazane do skryptu szkoleniowego. Wartość w konfiguracji runconfig pozostaje taka sama dla każdej iteracji, podczas gdy zakres w konfiguracji funkcji HyperDrive jest iteracji ponad. Nie należy określać tego samego argumentu w obu plikach.

Zarządzanie zestawami danych

Następujące polecenia pokazują, jak pracować z zestawami danych w usłudze Azure Machine Edukacja:

  • Rejestrowanie zestawu danych:

    az ml dataset register -f mydataset.json
    

    Aby uzyskać informacje na temat formatu pliku JSON używanego do definiowania zestawu danych, użyj polecenia az ml dataset register --show-template.

    Aby uzyskać więcej informacji, zobacz az ml dataset register.

  • Wyświetl listę wszystkich zestawów danych w obszarze roboczym:

    az ml dataset list
    

    Aby uzyskać więcej informacji, zobacz az ml dataset list.

  • Uzyskaj szczegółowe informacje o zestawie danych:

    az ml dataset show -n dataset-name
    

    Aby uzyskać więcej informacji, zobacz az ml dataset show.

  • Wyrejestrowywanie zestawu danych:

    az ml dataset unregister -n dataset-name
    

    Aby uzyskać więcej informacji, zobacz az ml dataset unregister (wyrejestrowywanie zestawu danych az ml).

Zarządzanie środowiskami

Następujące polecenia pokazują, jak utworzyć, zarejestrować i wyświetlić listę środowisk usługi Azure Machine Edukacja dla obszaru roboczego:

  • Utwórz pliki szkieletu dla środowiska:

    az ml environment scaffold -n myenv -d myenvdirectory
    

    Aby uzyskać więcej informacji, zobacz az ml environment rusztowanie.

  • Rejestrowanie środowiska:

    az ml environment register -d myenvdirectory
    

    Aby uzyskać więcej informacji, zobacz az ml environment register.

  • Wyświetlanie listy zarejestrowanych środowisk:

    az ml environment list
    

    Aby uzyskać więcej informacji, zobacz az ml environment list.

  • Pobierz zarejestrowane środowisko:

    az ml environment download -n myenv -d downloaddirectory
    

    Aby uzyskać więcej informacji, zobacz az ml environment download.

Schemat konfiguracji środowiska

Jeśli użyto az ml environment scaffold polecenia, generuje on plik szablonu azureml_environment.json , który można zmodyfikować i użyć do tworzenia niestandardowych konfiguracji środowiska za pomocą interfejsu wiersza polecenia. Obiekt najwyższego poziomu luźno mapuje na klasę Environment w zestawie SDK języka Python.

{
    "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
}

Poniższa tabela zawiera szczegółowe informacje o każdym polu najwyższego poziomu w pliku JSON, jego typie i opisie. Jeśli typ obiektu jest połączony z klasą z zestawu SDK języka Python, istnieje luźne dopasowanie 1:1 między każdym polem JSON a nazwą zmiennej publicznej w klasie Języka Python. W niektórych przypadkach pole może mapować na argument konstruktora, a nie zmienną klasy. Na przykład environmentVariables pole mapuje zmienną environment_variables w Environment klasie.

Pole JSON Type Opis
name string Nazwa środowiska. Nie rozpoczynaj nazwy od firmy Microsoft ani azureML.
version string Wersja środowiska.
environmentVariables {string: string} Mapa skrótu nazw zmiennych środowiskowych i wartości.
python PythonSectionHat definiuje środowisko języka Python i interpreter do użycia w docelowym zasobie obliczeniowym.
docker DockerSection Definiuje ustawienia umożliwiające dostosowanie obrazu platformy Docker utworzonego do specyfikacji środowiska.
spark SparkSection Sekcja konfiguruje ustawienia platformy Spark. Jest używana tylko wtedy, gdy platforma jest ustawiona na PySpark.
databricks DatabricksSection Konfiguruje zależności biblioteki usługi Databricks.
inferencingStackVersion string Określa wersję stosu wnioskowania dodanego do obrazu. Aby uniknąć dodawania stosu wnioskowania, pozostaw to pole null. Prawidłowa wartość: "latest".

Zarządzanie potokami uczenia maszynowego

Następujące polecenia pokazują, jak pracować z potokami uczenia maszynowego:

Rejestracja modelu, profilowanie, wdrażanie

Poniższe polecenia pokazują, jak zarejestrować wytrenowany model, a następnie wdrożyć go jako usługę produkcyjną:

  • Rejestrowanie modelu w usłudze Azure Machine Edukacja:

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

    Aby uzyskać więcej informacji, zobacz az ml model register.

  • OPCJONALNIE Profilowanie modelu w celu uzyskania optymalnych wartości procesora CPU i pamięci na potrzeby wdrożenia.

    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
    

    Aby uzyskać więcej informacji, zobacz az ml model profile.

  • Wdrażanie modelu w usłudze AKS

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

    Aby uzyskać więcej informacji na temat schematu pliku konfiguracji wnioskowania, zobacz Schemat konfiguracji wnioskowania.

    Aby uzyskać więcej informacji na temat schematu pliku konfiguracji wdrożenia, zobacz Schemat konfiguracji wdrożenia.

    Aby uzyskać więcej informacji, zobacz az ml model deploy.

Schemat konfiguracji wnioskowania

Wpisy w dokumencie inferenceconfig.json są mapować na parametry klasy InferenceConfig . W poniższej tabeli opisano mapowanie między jednostkami w dokumencie JSON i parametrami metody :

Jednostka JSON Parametr metody opis
entryScript entry_script Ścieżka do pliku lokalnego zawierającego kod do uruchomienia dla obrazu.
sourceDirectory source_directory Opcjonalny. Ścieżka do folderów, które zawierają wszystkie pliki do utworzenia obrazu, co ułatwia dostęp do dowolnych plików w tym folderze lub podfolderze. Cały folder można przekazać z komputera lokalnego jako zależności dla usługi sieci Web. Uwaga: ścieżki entry_script, conda_file i extra_docker_file_steps są ścieżkami względnymi do ścieżki source_directory.
environment environment Opcjonalny. Środowisko usługi Azure Machine Edukacja.

Pełne specyfikacje środowiska usługi Azure Machine Edukacja można uwzględnić w pliku konfiguracji wnioskowania. Jeśli to środowisko nie istnieje w obszarze roboczym, usługa Azure Machine Edukacja go utworzy. W przeciwnym razie usługa Azure Machine Edukacja zaktualizuje środowisko w razie potrzeby. Oto przykładowy kod JSON:

{
    "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"
    }
}

Możesz również użyć istniejącego środowiska usługi Azure Machine Edukacja w oddzielnych parametrach interfejsu wiersza polecenia i usunąć klucz "środowisko" z pliku konfiguracji wnioskowania. Użyj -e jako nazwy środowiska i --ev dla wersji środowiska. Jeśli nie określisz parametru --ev, zostanie użyta najnowsza wersja. Oto przykład pliku konfiguracji wnioskowania:

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

Poniższe polecenie pokazuje, jak wdrożyć model przy użyciu poprzedniego pliku konfiguracji wnioskowania (o nazwie myInferenceConfig.json).

Używa również najnowszej wersji istniejącego środowiska usługi Azure Machine Edukacja (o nazwie AzureML-Minimal).

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

Schemat konfiguracji wdrożenia

Schemat konfiguracji wdrożenia lokalnego

Wpisy w dokumencie deploymentconfig.json są mapować na parametry dla LocalWebservice.deploy_configuration. W poniższej tabeli opisano mapowanie między jednostkami w dokumencie JSON i parametrami metody :

Jednostka JSON Parametr metody opis
computeType NA Docelowy obiekt obliczeniowy. W przypadku miejsc docelowych lokalnych wartość musi mieć wartość local.
port port Port lokalny, na którym można uwidocznić punkt końcowy HTTP usługi.

Ten kod JSON to przykładowa konfiguracja wdrożenia do użycia z interfejsem wiersza polecenia:

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

Zapisz ten kod JSON jako plik o nazwie deploymentconfig.json.

Schemat konfiguracji wdrożenia usługi Azure Container Instance

Wpisy w dokumencie deploymentconfig.json są mapować na parametry dla AciWebservice.deploy_configuration. W poniższej tabeli opisano mapowanie między jednostkami w dokumencie JSON i parametrami metody :

Jednostka JSON Parametr metody opis
computeType NA Docelowy obiekt obliczeniowy. W przypadku usługi ACI wartość musi mieć wartość ACI.
containerResourceRequirements NA Kontener dla jednostek procesora CPU i pamięci.
  cpu cpu_cores Liczba rdzeni procesora CPU do przydzielenia. Ustawienia domyślne 0.1
  memoryInGB memory_gb Ilość pamięci (w GB) do przydzielenia dla tej usługi internetowej. Domyślny 0.5
location location Region świadczenia usługi Azure do wdrożenia tej usługi internetowej. Jeśli nie określono lokalizacji obszaru roboczego, zostanie użyta. Więcej szczegółów na temat dostępnych regionów można znaleźć tutaj: Regiony ACI
authEnabled auth_enabled Czy włączyć uwierzytelnianie dla tej usługi sieci Web. Wartości domyślne to False
sslEnabled ssl_enabled Czy włączyć protokół SSL dla tej usługi sieci Web. Wartość domyślna to False.
appInsightsEnabled enable_app_insights Czy włączyć aplikację Szczegółowe informacje dla tej usługi sieci Web. Wartości domyślne to False
sslCertificate ssl_cert_pem_file Plik certyfikatu wymagany w przypadku włączenia protokołu SSL
sslKey ssl_key_pem_file Plik klucza wymagany w przypadku włączenia protokołu SSL
cname ssl_cname Nazwa cname dla, jeśli włączono protokół SSL
dnsNameLabel dns_name_label Etykieta nazwy DNS dla punktu końcowego oceniania. Jeśli nie określono unikatowej etykiety nazwy DNS, zostanie wygenerowana dla punktu końcowego oceniania.

Poniższy kod JSON to przykładowa konfiguracja wdrożenia do użycia z interfejsem wiersza polecenia:

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

Schemat konfiguracji wdrożenia usługi Azure Kubernetes Service

Wpisy w dokumencie deploymentconfig.json są mapować na parametry dla AksWebservice.deploy_configuration. W poniższej tabeli opisano mapowanie między jednostkami w dokumencie JSON i parametrami metody :

Jednostka JSON Parametr metody opis
computeType NA Docelowy obiekt obliczeniowy. W przypadku usługi AKS wartość musi mieć wartość aks.
autoScaler NA Zawiera elementy konfiguracji do automatycznego skalowania. Zobacz tabelę autoskalatora.
  autoscaleEnabled autoscale_enabled Czy włączyć skalowanie automatyczne dla usługi internetowej. Jeśli numReplicas = 0, ; Truew przeciwnym razie False.
  minReplicas autoscale_min_replicas Minimalna liczba kontenerów do użycia podczas skalowania automatycznego tej usługi internetowej. Wartość domyślna, 1.
  maxReplicas autoscale_max_replicas Maksymalna liczba kontenerów do użycia podczas skalowania automatycznego tej usługi internetowej. Wartość domyślna, 10.
  refreshPeriodInSeconds autoscale_refresh_seconds Jak często autoskalator próbuje skalować tę usługę internetową. Wartość domyślna, 1.
  targetUtilization autoscale_target_utilization Wykorzystanie docelowe (w procentach na 100), które program autoscaler powinien podjąć próbę utrzymania dla tej usługi internetowej. Wartość domyślna, 70.
dataCollection NA Zawiera elementy konfiguracji do zbierania danych.
  storageEnabled collect_model_data Czy włączyć zbieranie danych modelu dla usługi internetowej. Wartość domyślna, False.
authEnabled auth_enabled Określa, czy włączyć uwierzytelnianie za pomocą klucza dla usługi internetowej. Zarówno , jak tokenAuthEnabled i authEnabled nie może być True. Wartość domyślna, True.
tokenAuthEnabled token_auth_enabled Określa, czy włączyć uwierzytelnianie tokenu dla usługi internetowej. Zarówno , jak tokenAuthEnabled i authEnabled nie może być True. Wartość domyślna, False.
containerResourceRequirements NA Kontener dla jednostek procesora CPU i pamięci.
  cpu cpu_cores Liczba rdzeni procesora CPU do przydzielenia dla tej usługi internetowej. Ustawienia domyślne 0.1
  memoryInGB memory_gb Ilość pamięci (w GB) do przydzielenia dla tej usługi internetowej. Domyślny 0.5
appInsightsEnabled enable_app_insights Czy włączyć rejestrowanie Szczegółowe informacje aplikacji dla usługi internetowej. Wartość domyślna, False.
scoringTimeoutMs scoring_timeout_ms Limit czasu wymuszany dla wywołań oceniania do usługi internetowej. Wartość domyślna, 60000.
maxConcurrentRequestsPerContainer replica_max_concurrent_requests Maksymalna liczba współbieżnych żądań na węzeł dla tej usługi internetowej. Wartość domyślna, 1.
maxQueueWaitMs max_request_wait_time Maksymalny czas, przez jaki żądanie pozostanie w kolejce (w milisekundach), zanim zostanie zwrócony błąd 503. Wartość domyślna, 500.
numReplicas num_replicas Liczba kontenerów do przydzielenia dla tej usługi internetowej. Brak wartości domyślnej. Jeśli ten parametr nie jest ustawiony, autoskalator jest domyślnie włączony.
keys NA Zawiera elementy konfiguracji kluczy.
  primaryKey primary_key Podstawowy klucz uwierzytelniania do użycia dla tej usługi sieci Web
  secondaryKey secondary_key Pomocniczy klucz uwierzytelniania do użycia dla tej usługi sieci Web
gpuCores gpu_cores Liczba rdzeni procesora GPU (replika na kontener) do przydzielenia dla tej usługi sieci Web. Wartość domyślna to 1. Obsługuje tylko wartości liczb całkowitych.
livenessProbeRequirements NA Zawiera elementy konfiguracji dla wymagań sondy liveness.
  periodSeconds period_seconds Jak często (w sekundach) wykonać sondę liveness. Wartość domyślna to 10 sekund. Wartość minimalna to 1.
  initialDelaySeconds initial_delay_seconds Liczba sekund po uruchomieniu kontenera przed zainicjowanym sondami aktualności. Wartość domyślna to 310
  timeoutSeconds timeout_seconds Liczba sekund, po których upłynął limit czasu sondy liveness. Wartość domyślna to 2 sekundy. Wartość minimalna to 1
  successThreshold success_threshold Minimalna liczba kolejnych sukcesów sondy liveness, która ma zostać uznana za pomyślną po niepowieść. Wartość domyślna to 1. Wartość minimalna to 1.
  failureThreshold failure_threshold Po uruchomieniu zasobnika i niepowodzeniu sondy liveness platforma Kubernetes spróbuje niepowodzenieThreshold razy przed rezygnacją. Wartość domyślna to 3. Wartość minimalna to 1.
namespace namespace Przestrzeń nazw platformy Kubernetes wdrożona w usłudze WebService. Maksymalnie 63 małe litery alfanumeryczne ('a'-'z', '0'-'9') i łącznik ('-'). Pierwsze i ostatnie znaki nie mogą być łącznikami.

Poniższy kod JSON to przykładowa konfiguracja wdrożenia do użycia z interfejsem wiersza polecenia:

{
    "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
    }
}

Następne kroki