Anwendung der Arbeitsbereichsdiagnose

Azure Machine Learning stellt eine Diagnose-API bereit, mit der Probleme mit Ihrem Arbeitsbereich identifiziert werden können. Im Diagnosebericht zurückgegebene Fehler enthalten Informationen zum Beheben des Problems.

Sie können die Arbeitsbereichsdiagnose aus Azure Machine Learning Studio oder dem Python SDK verwenden.

Voraussetzungen

Stellen Sie vor dem Ausführen der Schritte in diesem Artikel sicher, dass Sie über die folgenden erforderlichen Komponenten verfügen:

  • Ein Azure Machine Learning-Arbeitsbereich. Wenn keiner vorliegt, führen Sie die Schritte unter Schnellstart: Erstellen von Arbeitsbereichsressourcen aus, um einen Arbeitsbereich zu erstellen.

  • Verwenden Sie zum Installieren des Python SDK v2 den folgenden Befehl:

    pip install azure-ai-ml azure-identity
    

    Verwenden Sie den folgenden Befehl, um eine vorhandene Installation des SDK auf die neueste Version zu aktualisieren:

    pip install --upgrade azure-ai-ml azure-identity
    

    Weitere Informationen finden Sie unter Installieren des Python SDK v2 für Azure Machine Learning.

Diagnose in Studio

Im Azure Machine Learning Studio können Sie eine Diagnose für Ihren Arbeitsbereich ausführen, um Ihr Setup zu überprüfen. Wählen Sie zum Ausführen der Diagnose rechts oben auf der Seite das Symbol ? aus. Wählen Sie anschließend Run workspace diagnostics (Arbeitsbereichsdiagnose ausführen) aus.

Screenshot: Schaltfläche für die Arbeitsbereichsdiagnose.

Nach der Diagnose wird eine Liste aller erkannten Probleme zurückgegeben. Diese Liste enthält Links zu möglichen Lösungen.

Diagnose in Python

Der folgende Codeausschnitt veranschaulicht die Verwendung der Arbeitsbereichsdiagnose in Python.

GILT FÜR: Python SDK azure-ai-ml v2 (aktuell)

from azure.ai.ml import MLClient
from azure.ai.ml.entities import Workspace
from azure.identity import DefaultAzureCredential

subscription_id = '<your-subscription-id>'
resource_group = '<your-resource-group-name>'
workspace = '<your-workspace-name>'

ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group)
resp = ml_client.workspaces.begin_diagnose(workspace).result()
# Inspect the attributes of the response you are interested in
for result in resp.application_insights_results:
    print(f"Diagnostic result: {result.code}, {result.level}, {result.message}")

Die Antwort ist ein DiagnoseResponseResultValue-Objekt, das Informationen zu Problemen enthält, die mit dem Arbeitsbereich erkannt wurden.

GILT FÜR:Python SDK azureml v1

from azureml.core import Workspace

ws = Workspace.from_config()

diag_param = {
      "value": {
      }
    }

resp = ws.diagnose_workspace(diag_param)
print(resp)

Die Antwort ist ein JSON-Dokument, das Informationen zu Problemen enthält, die im Arbeitsbereich erkannt wurden. Der folgende JSON-Code ist eine Beispielantwort:

{
    "value": {
        "user_defined_route_results": [],
        "network_security_rule_results": [],
        "resource_lock_results": [],
        "dns_resolution_results": [{
            "code": "CustomDnsInUse",
            "level": "Warning",
            "message": "It is detected VNet '/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/virtualNetworks/<virtual-network-name>' of private endpoint '/subscriptions/<subscription-id>/resourceGroups/<myresourcegroup>/providers/Microsoft.Network/privateEndpoints/<workspace-private-endpoint>' is not using Azure default DNS. You need to configure your DNS server and check https://learn.microsoft.com/azure/machine-learning/how-to-custom-dns to make sure the custom DNS is set up correctly."
        }],
        "storage_account_results": [],
        "key_vault_results": [],
        "container_registry_results": [],
        "application_insights_results": [],
        "other_results": []
    }
}

Wenn keine Probleme erkannt werden, wird ein leeres JSON-Dokument zurückgegeben.

Weitere Informationen finden Sie in der Referenz für Arbeitsbereiche.

Weitere Informationen finden Sie im Verweis Workspace.diagnose_workspace()

Nächster Schritt