Aktualizace nasazené webové služby (v1)

PLATÍ PRO:Rozšíření Azure CLI ml v1Sada Python SDK azureml v1

V tomto článku se dozvíte, jak aktualizovat webovou službu nasazenou pomocí služby Azure Machine Learning.

Požadavky

  • Tento článek předpokládá, že jste už nasadili webovou službu pomocí služby Azure Machine Learning. Pokud potřebujete zjistit, jak nasadit webovou službu, postupujte podle těchto kroků.

  • Fragmenty kódu v tomto článku předpokládají, že ws proměnná již byla inicializována do vašeho pracovního prostoru pomocí konstruktoru Workflow() nebo načtení uložené konfigurace pomocí Workspace.from_config(). Následující fragment kódu ukazuje použití konstruktoru:

    PLATÍ PRO:Sada Python SDK azureml v1

    from azureml.core import Workspace
    ws = Workspace(subscription_id="mysubscriptionid",
                   resource_group="myresourcegroup",
                   workspace_name="myworkspace")
    

Důležité

Některé příkazy Azure CLI v tomto článku používají azure-cli-mlrozšíření , nebo v1 pro Azure Machine Learning. Podpora rozšíření v1 skončí 30. září 2025. Do tohoto data budete moct nainstalovat a používat rozšíření v1.

Doporučujeme přejít na mlrozšíření , nebo v2 do 30. září 2025. Další informace o rozšíření v2 najdete v tématech Rozšíření Azure ML CLI a Python SDK v2.

Aktualizace webové služby

Pokud chcete aktualizovat webovou službu, použijte metodu update . Webovou službu můžete aktualizovat tak, aby používala nový model, nový vstupní skript nebo nové závislosti, které lze zadat v konfiguraci odvozování. Další informace najdete v dokumentaci k webservice.update.

Viz Metoda aktualizace služby AKS.

Viz Metoda aktualizace služby ACI.

Důležité

Když vytváříte novou verzi modelu, musíte ručně aktualizovat každou službu, kterou chcete použít.

Sadu SDK nemůžete použít k aktualizaci webové služby publikované z návrháře Azure Machine Learning.

Důležité

Azure Kubernetes Service používá ovladač Blobfuse FlexVolume pro verze <=1.16 a ovladač Blob CSI pro verze >=1.17.

Proto je důležité po upgradu clusteru webovou službu znovu nasadit nebo aktualizovat, aby bylo možné provést nasazení na správnou metodu blobfuse pro verzi clusteru.

Poznámka

Pokud už nějaká operace probíhá, každá nová operace ve stejné webové službě bude reagovat konfliktní chybou 409. Pokud například probíhá operace vytvoření nebo aktualizace webové služby a aktivujete novou operaci Odstranění, vyvolá se chyba.

Použití sady SDK

Následující kód ukazuje, jak pomocí sady SDK aktualizovat model, prostředí a vstupní skript pro webovou službu:

PLATÍ PRO:Sada Python SDK azureml v1

from azureml.core import Environment
from azureml.core.webservice import Webservice
from azureml.core.model import Model, InferenceConfig

# Register new model.
new_model = Model.register(model_path="outputs/sklearn_mnist_model.pkl",
                           model_name="sklearn_mnist",
                           tags={"key": "0.1"},
                           description="test",
                           workspace=ws)

# Use version 3 of the environment.
deploy_env = Environment.get(workspace=ws,name="myenv",version="3")
inference_config = InferenceConfig(entry_script="score.py",
                                   environment=deploy_env)

service_name = 'myservice'
# Retrieve existing service.
service = Webservice(name=service_name, workspace=ws)



# Update to new model(s).
service.update(models=[new_model], inference_config=inference_config)
service.wait_for_deployment(show_output=True)
print(service.state)
print(service.get_logs())

Použití rozhraní příkazového řádku

Webovou službu můžete také aktualizovat pomocí rozhraní příkazového řádku ML. Následující příklad ukazuje registraci nového modelu a aktualizaci webové služby tak, aby používala nový model:

PLATÍ PRO:Rozšíření Azure CLI ml v1

az ml model register -n sklearn_mnist  --asset-path outputs/sklearn_mnist_model.pkl  --experiment-name myexperiment --output-metadata-file modelinfo.json
az ml service update -n myservice --model-metadata-file modelinfo.json

Tip

V tomto příkladu se k předání informací o modelu z registračního příkazu do příkazu update používá dokument JSON.

Pokud chcete službu aktualizovat tak, aby používala nový vstupní skript nebo prostředí, vytvořte konfigurační soubor odvozování a zadejte ho pomocí parametru ic .

Další informace najdete v dokumentaci k příkazu az ml service update .

Další kroky