Zarządzanie obszarami roboczymi usługi Azure Machine Edukacja przy użyciu zestawu SDK języka Python (wersja 1)

DOTYCZY: Zestaw SDK języka Python azureml w wersji 1

W tym artykule tworzysz, wyświetlasz i usuwasz obszary robocze usługi Azure Machine Edukacja dla usługi Azure Machine Edukacja przy użyciu zestawu SDK dla języka Python.

Wraz ze zmianami lub wymaganiami dotyczącymi automatyzacji można również zarządzać obszarami roboczymi przy użyciu interfejsu wiersza polecenia lub za pośrednictwem rozszerzenia programu VS Code.

Wymagania wstępne

Ograniczenia

  • Podczas tworzenia nowego obszaru roboczego można automatycznie tworzyć usługi wymagane przez obszar roboczy lub korzystać z istniejących usług. Jeśli chcesz używać istniejących usług z innej subskrypcji platformy Azure niż obszar roboczy, musisz zarejestrować przestrzeń nazw usługi Azure Machine Edukacja w subskrypcji zawierającej te usługi. Na przykład utworzenie obszaru roboczego w subskrypcji A korzystającej z konta magazynu z subskrypcji B, przestrzeń nazw usługi Azure Machine Edukacja musi być zarejestrowana w subskrypcji B, zanim będzie można używać konta magazynu z obszarem roboczym.

    Dostawca zasobów dla usługi Azure Machine Edukacja to Microsoft.Machine Edukacja Services. Aby uzyskać informacje na temat sposobu jego rejestrowania i rejestrowania, zobacz artykuł Azure resource providers and types (Dostawcy zasobów i typy platformy Azure).

    Ważne

    Dotyczy to tylko zasobów udostępnianych podczas tworzenia obszaru roboczego; Konta usługi Azure Storage, rejestr kontenerów platformy Azure, usługa Azure Key Vault i Szczegółowe informacje aplikacji.

  • Domyślnie tworzenie obszaru roboczego powoduje również utworzenie usługi Azure Container Registry (ACR). Ponieważ usługa ACR nie obsługuje obecnie znaków Unicode w nazwach grup zasobów, użyj grupy zasobów, która nie zawiera tych znaków.

  • Usługa Azure Machine Edukacja nie obsługuje hierarchicznej przestrzeni nazw (funkcja usługi Azure Data Lake Storage Gen2) dla domyślnego konta magazynu obszaru roboczego.

Napiwek

Wystąpienie aplikacja systemu Azure Szczegółowe informacje jest tworzone podczas tworzenia obszaru roboczego. Jeśli chcesz, możesz usunąć wystąpienie aplikacji Szczegółowe informacje po utworzeniu klastra. Usunięcie go ogranicza informacje zebrane z obszaru roboczego i może utrudnić rozwiązywanie problemów. Jeśli usuniesz wystąpienie aplikacji Szczegółowe informacje utworzone przez obszar roboczy, nie można go ponownie utworzyć bez usuwania i ponownego tworzenia obszaru roboczego.

Aby uzyskać więcej informacji na temat korzystania z tego wystąpienia usługi Application Szczegółowe informacje, zobacz Monitorowanie i zbieranie danych z punktów końcowych usługi internetowej Edukacja maszyny.

Tworzenie obszaru roboczego

Obszar roboczy można utworzyć bezpośrednio w usłudze Azure Machine Edukacja Studio z ograniczonymi opcjami. Możesz też użyć jednej z poniższych metod, aby uzyskać większą kontrolę nad opcjami.

  • Specyfikacja domyślna. Domyślnie zasoby zależne i grupa zasobów zostaną utworzone automatycznie. Ten kod tworzy obszar roboczy o nazwie myworkspace i grupę zasobów o nazwie myresourcegroup w pliku eastus2.

    DOTYCZY: Zestaw SDK języka Python azureml w wersji 1

    from azureml.core import Workspace
    
    ws = Workspace.create(name='myworkspace',
                   subscription_id='<azure-subscription-id>',
                   resource_group='myresourcegroup',
                   create_resource_group=True,
                   location='eastus2'
                   )
    

    Ustaw create_resource_group wartość Fałsz, jeśli masz istniejącą grupę zasobów platformy Azure, której chcesz użyć dla obszaru roboczego.

  • Wiele dzierżaw. Jeśli masz wiele kont, dodaj identyfikator dzierżawy identyfikatora entra firmy Microsoft, którego chcesz użyć. Znajdź swój identyfikator dzierżawy z witryny Azure Portal w obszarze Microsoft Entra ID, External Identities.

    DOTYCZY: Zestaw SDK języka Python azureml w wersji 1

    from azureml.core.authentication import InteractiveLoginAuthentication
    from azureml.core import Workspace
    
    interactive_auth = InteractiveLoginAuthentication(tenant_id="my-tenant-id")
    ws = Workspace.create(name='myworkspace',
                subscription_id='<azure-subscription-id>',
                resource_group='myresourcegroup',
                create_resource_group=True,
                location='eastus2',
                auth=interactive_auth
                )
    
  • Suwerenna chmura. Jeśli pracujesz w suwerennej chmurze, potrzebujesz dodatkowego kodu do uwierzytelniania na platformie Azure.

    DOTYCZY: Zestaw SDK języka Python azureml w wersji 1

    from azureml.core.authentication import InteractiveLoginAuthentication
    from azureml.core import Workspace
    
    interactive_auth = InteractiveLoginAuthentication(cloud="<cloud name>") # for example, cloud="AzureUSGovernment"
    ws = Workspace.create(name='myworkspace',
                subscription_id='<azure-subscription-id>',
                resource_group='myresourcegroup',
                create_resource_group=True,
                location='eastus2',
                auth=interactive_auth
                )
    
  • Użyj istniejących zasobów platformy Azure. Możesz również utworzyć obszar roboczy, który używa istniejących zasobów platformy Azure z formatem identyfikatora zasobu platformy Azure. Znajdź określone identyfikatory zasobów platformy Azure w witrynie Azure Portal lub za pomocą zestawu SDK. W tym przykładzie przyjęto założenie, że grupa zasobów, konto magazynu, magazyn kluczy, Szczegółowe informacje aplikacji i rejestr kontenerów już istnieją.

    DOTYCZY: Zestaw SDK języka Python azureml w wersji 1

    import os
    from azureml.core import Workspace
    from azureml.core.authentication import ServicePrincipalAuthentication
    
    service_principal_password = os.environ.get("AZUREML_PASSWORD")
    
    service_principal_auth = ServicePrincipalAuthentication(
        tenant_id="<tenant-id>",
        username="<application-id>",
        password=service_principal_password)
    
                          auth=service_principal_auth,
                               subscription_id='<azure-subscription-id>',
                               resource_group='myresourcegroup',
                               create_resource_group=False,
                               location='eastus2',
                               friendly_name='My workspace',
                               storage_account='subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/microsoft.storage/storageaccounts/mystorageaccount',
                               key_vault='subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/microsoft.keyvault/vaults/mykeyvault',
                               app_insights='subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/microsoft.insights/components/myappinsights',
                               container_registry='subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/microsoft.containerregistry/registries/mycontainerregistry',
                               exist_ok=False)
    

Aby uzyskać więcej informacji, zobacz Temat Dokumentacja zestawu SDK obszaru roboczego.

Jeśli masz problemy z dostępem do subskrypcji, zobacz Konfigurowanie uwierzytelniania dla zasobów i przepływów pracy usługi Azure Machine Edukacja, a także uwierzytelnianie w notesie usługi Azure Machine Edukacja.

Sieć

Ważne

Aby uzyskać więcej informacji na temat korzystania z prywatnego punktu końcowego i sieci wirtualnej z obszarem roboczym, zobacz Izolacja sieci i prywatność.

Zestaw AZURE Machine Edukacja Python SDK udostępnia klasę PrivateEndpointConfig, której można użyć z elementem Workspace.create() do utworzenia obszaru roboczego z prywatnym punktem końcowym. Ta klasa wymaga istniejącej sieci wirtualnej.

Zaawansowani

Domyślnie metadane obszaru roboczego są przechowywane w wystąpieniu usługi Azure Cosmos DB, które utrzymuje firma Microsoft. Te dane są szyfrowane przy użyciu kluczy zarządzanych przez firmę Microsoft.

Aby ograniczyć dane zbierane przez firmę Microsoft w obszarze roboczym, wybierz pozycję Obszar roboczy o dużym wpływie na działalność biznesową w portalu lub ustaw wartość hbi_workspace=true w języku Python. Aby uzyskać więcej informacji na temat tego ustawienia, zobacz Szyfrowanie magazynowane.

Ważne

Wybranie wysokiego wpływu biznesowego można wykonać tylko podczas tworzenia obszaru roboczego. Nie można zmienić tego ustawienia po utworzeniu obszaru roboczego.

Korzystanie z własnego klucza szyfrowania danych

Możesz podać własny klucz do szyfrowania danych. Spowoduje to utworzenie wystąpienia usługi Azure Cosmos DB, które przechowuje metadane w subskrypcji platformy Azure. Aby uzyskać więcej informacji, zobacz Klucze zarządzane przez klienta dla usługi Azure Machine Edukacja.

Aby podać własny klucz, wykonaj następujące czynności:

Ważne

Przed wykonaniem tych kroków należy najpierw wykonać następujące czynności:

Wykonaj kroki opisane w temacie Konfigurowanie kluczy zarządzanych przez klienta w celu:

  • Rejestrowanie dostawcy usługi Azure Cosmos DB
  • Tworzenie i konfigurowanie usługi Azure Key Vault
  • Generowanie klucza

Użyj polecenia cmk_keyvault i resource_cmk_uri , aby określić klucz zarządzany przez klienta.

from azureml.core import Workspace
   ws = Workspace.create(name='myworkspace',
               subscription_id='<azure-subscription-id>',
               resource_group='myresourcegroup',
               create_resource_group=True,
               location='eastus2'
               cmk_keyvault='subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/microsoft.keyvault/vaults/<keyvault-name>', 
               resource_cmk_uri='<key-identifier>'
               )

Pobieranie pliku konfiguracji

Jeśli używasz wystąpienia obliczeniowego w obszarze roboczym do uruchamiania kodu, pomiń ten krok. Wystąpienie obliczeniowe utworzy i zapisze kopię tego pliku.

Jeśli planujesz używać kodu w środowisku lokalnym, które odwołuje się do tego obszaru roboczego (ws), napisz plik konfiguracji:

DOTYCZY: Zestaw SDK języka Python azureml w wersji 1

ws.write_config()

Umieść plik w strukturze katalogów za pomocą skryptów języka Python lub notesów Jupyter Notebook. Może on znajdować się w tym samym katalogu, podkatalogu o nazwie .azureml lub w katalogu nadrzędnym. Podczas tworzenia wystąpienia obliczeniowego ten plik jest dodawany do odpowiedniego katalogu na maszynie wirtualnej.

Łączenie z obszarem roboczym

W kodzie języka Python utworzysz obiekt obszaru roboczego w celu nawiązania połączenia z obszarem roboczym. Ten kod odczytuje zawartość pliku konfiguracji, aby znaleźć obszar roboczy. Jeśli jeszcze nie uwierzytelniono, zostanie wyświetlony monit o zalogowanie się.

DOTYCZY: Zestaw SDK języka Python azureml w wersji 1

from azureml.core import Workspace

ws = Workspace.from_config()
  • Wiele dzierżaw. Jeśli masz wiele kont, dodaj identyfikator dzierżawy identyfikatora entra firmy Microsoft, którego chcesz użyć. Znajdź swój identyfikator dzierżawy z witryny Azure Portal w obszarze Microsoft Entra ID, External Identities.

    DOTYCZY: Zestaw SDK języka Python azureml w wersji 1

    from azureml.core.authentication import InteractiveLoginAuthentication
    from azureml.core import Workspace
    
    interactive_auth = InteractiveLoginAuthentication(tenant_id="my-tenant-id")
    ws = Workspace.from_config(auth=interactive_auth)
    
  • Suwerenna chmura. Jeśli pracujesz w suwerennej chmurze, potrzebujesz dodatkowego kodu do uwierzytelniania na platformie Azure.

    DOTYCZY: Zestaw SDK języka Python azureml w wersji 1

    from azureml.core.authentication import InteractiveLoginAuthentication
    from azureml.core import Workspace
    
    interactive_auth = InteractiveLoginAuthentication(cloud="<cloud name>") # for example, cloud="AzureUSGovernment"
    ws = Workspace.from_config(auth=interactive_auth)
    

Jeśli masz problemy z dostępem do subskrypcji, zobacz Konfigurowanie uwierzytelniania dla zasobów i przepływów pracy usługi Azure Machine Edukacja, a także uwierzytelnianie w notesie usługi Azure Machine Edukacja.

Znajdowanie obszaru roboczego

Zobacz listę wszystkich obszarów roboczych, których możesz użyć.

Znajdź swoje subskrypcje na stronie Subskrypcje w witrynie Azure Portal. Skopiuj identyfikator i użyj go w poniższym kodzie, aby wyświetlić wszystkie obszary robocze dostępne dla tej subskrypcji.

DOTYCZY: Zestaw SDK języka Python azureml w wersji 1

from azureml.core import Workspace

Workspace.list('<subscription-id>')

Metoda Workspace.list(..) nie zwraca pełnego obiektu obszaru roboczego. Zawiera tylko podstawowe informacje o istniejących obszarach roboczych w subskrypcji. Aby uzyskać pełny obiekt dla określonego obszaru roboczego, użyj polecenia Workspace.get(..).

Usuwanie obszaru roboczego

Jeśli obszar roboczy nie jest już potrzebny, usuń go.

Ostrzeżenie

Jeśli dla obszaru roboczego włączono usuwanie nietrwałe, można je odzyskać po usunięciu. Jeśli usuwanie nietrwałe nie jest włączone lub wybierzesz opcję trwałego usunięcia obszaru roboczego, nie można go odzyskać. Aby uzyskać więcej informacji, zobacz Odzyskiwanie usuniętego obszaru roboczego.

Napiwek

Domyślnym zachowaniem Edukacja usługi Azure Machine jest usunięcie obszaru roboczego w sposób nietrwały. Oznacza to, że obszar roboczy nie jest natychmiast usuwany, ale zamiast tego jest oznaczony do usunięcia. Aby uzyskać więcej informacji, zobacz Usuwanie nietrwałe.

Usuń obszar roboczy ws:

DOTYCZY: Zestaw SDK języka Python azureml w wersji 1

ws.delete(delete_dependent_resources=False, no_wait=False)

Domyślną akcją nie jest usuwanie zasobów skojarzonych z obszarem roboczym, czyli rejestru kontenerów, konta magazynu, magazynu kluczy i usługi Application Insights. Ustaw delete_dependent_resources wartość True, aby usunąć te zasoby.

Czyszczenie zasobów

Ważne

Utworzone zasoby mogą być używane jako wymagania wstępne w innych samouczkach usługi Azure Machine Edukacja i artykułach z instrukcjami.

Jeśli nie planujesz korzystać z żadnych utworzonych zasobów, usuń je, aby nie ponosić żadnych opłat:

  1. W witrynie Azure Portal na końcu z lewej strony wybierz pozycję Grupy zasobów.

  2. Z listy wybierz utworzoną grupę zasobów.

  3. Wybierz pozycję Usuń grupę zasobów.

    Screenshot of the selections to delete a resource group in the Azure portal.

  4. Wpisz nazwę grupy zasobów. Następnie wybierz Usuń.

Rozwiązywanie problemów

  • Obsługiwane przeglądarki w programie Azure Machine Edukacja Studio: zalecamy korzystanie z najbardziej aktualnej przeglądarki zgodnej z systemem operacyjnym. Obsługiwane są następujące przeglądarki:

    • Microsoft Edge (nowa przeglądarka Microsoft Edge, najnowsza wersja. Nie starsza wersja przeglądarki Microsoft Edge)
    • Safari (najnowsza wersja, tylko komputery Mac)
    • Chrome (najnowsza wersja)
    • Firefox (najnowsza wersja)
  • Azure Portal:

    • Jeśli przejdziesz bezpośrednio do obszaru roboczego z linku udostępniania z zestawu SDK lub witryny Azure Portal, nie możesz wyświetlić standardowej strony Przegląd zawierającej informacje o subskrypcji w rozszerzeniu. W tym scenariuszu nie można również przełączyć się do innego obszaru roboczego. Aby wyświetlić inny obszar roboczy, przejdź bezpośrednio do usługi Azure Machine Edukacja Studio i wyszukaj nazwę obszaru roboczego.
    • Wszystkie zasoby (dane, eksperymenty, obliczenia itd.) są dostępne tylko w usłudze Azure Machine Edukacja Studio. Nie są one dostępne w witrynie Azure Portal.
    • Próba wyeksportowania szablonu dla obszaru roboczego z witryny Azure Portal może spowodować zwrócenie błędu podobnego do następującego tekstu: Could not get resource of the type <type>. Resources of this type will not be exported. Aby obejść ten problem, użyj jednego z szablonów dostępnych na https://github.com/Azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.machinelearningservices podstawie szablonu.

Diagnostyka obszaru roboczego

Diagnostykę obszaru roboczego można uruchomić z poziomu usługi Azure Machine Edukacja Studio lub zestawu PYTHON SDK. Po uruchomieniu diagnostyki zostanie zwrócona lista wykrytych problemów. Ta lista zawiera linki do możliwych rozwiązań. Aby uzyskać więcej informacji, zobacz Jak używać diagnostyki obszaru roboczego.

Błędy dostawcy zasobów

Podczas tworzenia obszaru roboczego usługi Azure Machine Edukacja lub zasobu używanego przez obszar roboczy może zostać wyświetlony błąd podobny do następujących komunikatów:

  • No registered resource provider found for location {location}
  • The subscription is not registered to use namespace {resource-provider-namespace}

Większość dostawców zasobów jest automatycznie rejestrowana, ale nie wszystkie. Jeśli zostanie wyświetlony ten komunikat, musisz zarejestrować wymienionego dostawcę.

Poniższa tabela zawiera listę dostawców zasobów wymaganych przez usługę Azure Machine Edukacja:

Dostawca zasobów Dlaczego jest to potrzebne
Microsoft.Machine Edukacja Services Tworzenie obszaru roboczego usługi Azure Machine Edukacja.
Microsoft.Storage Konto usługi Azure Storage jest używane jako domyślny magazyn dla obszaru roboczego.
Microsoft.ContainerRegistry Usługa Azure Container Registry jest używana przez obszar roboczy do tworzenia obrazów platformy Docker.
Microsoft.KeyVault Usługa Azure Key Vault jest używana przez obszar roboczy do przechowywania wpisów tajnych.
Microsoft.Notebooks Zintegrowane notesy na maszynie Azure Edukacja wystąpienia obliczeniowego.
Microsoft.ContainerService Jeśli planujesz wdrażanie wytrenowanych modeli w usługach Azure Kubernetes Services.

Jeśli planujesz używanie klucza zarządzanego przez klienta z usługą Azure Machine Edukacja, należy zarejestrować następujących dostawców usług:

Dostawca zasobów Dlaczego jest to potrzebne
Microsoft.DocumentDB Wystąpienie usługi Azure CosmosDB, które rejestruje metadane obszaru roboczego.
Microsoft.Search Usługa Azure Search udostępnia funkcje indeksowania dla obszaru roboczego.

Jeśli planujesz korzystanie z zarządzanej sieci wirtualnej z usługą Azure Machine Edukacja, należy zarejestrować dostawcę zasobów Microsoft.Network. Ten dostawca zasobów jest używany przez obszar roboczy podczas tworzenia prywatnych punktów końcowych dla zarządzanej sieci wirtualnej.

Aby uzyskać informacje na temat rejestrowania dostawców zasobów, zobacz Rozwiązywanie błędów dotyczących rejestracji dostawcy zasobów.

Usuwanie usługi Azure Container Registry

Obszar roboczy usługi Azure Machine Edukacja używa usługi Azure Container Registry (ACR) na potrzeby niektórych operacji. Spowoduje to automatyczne utworzenie wystąpienia usługi ACR, gdy będzie ono najpierw potrzebne.

Ostrzeżenie

Po utworzeniu usługi Azure Container Registry dla obszaru roboczego nie usuwaj go. Spowoduje to przerwanie obszaru roboczego usługi Azure Machine Edukacja.

Następne kroki

Gdy masz obszar roboczy, dowiedz się, jak trenować i wdrażać model.

Aby dowiedzieć się więcej na temat planowania obszaru roboczego dla wymagań organizacji, zobacz Organizowanie i konfigurowanie usługi Azure Machine Edukacja.

Aby uzyskać informacje o sposobie aktualizowania usługi Azure Machine Edukacja przy użyciu najnowszych aktualizacji zabezpieczeń, zobacz Zarządzanie lukami w zabezpieczeniach.