Tworzenie obszaru roboczego dla usługi Azure Machine Learning za pomocą szablonu usługi Azure Resource Manager
W tym artykule przedstawiono kilka sposobów tworzenia obszaru roboczego usługi Azure Machine Learning przy użyciu szablonów usługi Azure Resource Manager. Szablon usługi Resource Manager ułatwia tworzenie zasobów jako pojedynczej, skoordynowanej operacji. Szablon to dokument JSON, który definiuje zasoby potrzebne do wdrożenia. Może również określać parametry wdrożenia. Parametry są używane do podawania wartości wejściowych podczas korzystania z szablonu.
Aby uzyskać więcej informacji, zobacz Wdrażanie aplikacji przy użyciu szablonu usługi Azure Resource Manager.
Wymagania wstępne
Subskrypcja platformy Azure. Jeśli go nie masz, wypróbuj bezpłatną lub płatną wersję usługi Azure Machine Learning.
Aby użyć szablonu z poziomu interfejsu wiersza polecenia, potrzebujesz programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure.
Ograniczenia
Podczas tworzenia nowego obszaru roboczego możesz 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 Learning w subskrypcji zawierającej te usługi. Jeśli na przykład utworzysz obszar roboczy w subskrypcji A, który używa konta magazynu w subskrypcji B, przestrzeń nazw usługi Azure Machine Learning musi być zarejestrowana w subskrypcji B, zanim obszar roboczy będzie mógł korzystać z konta magazynu.
Dostawca zasobów dla usługi Azure Machine Learning to Microsoft.MachineLearningServices. Aby uzyskać informacje na temat tego, czy jest on zarejestrowany, czy zarejestrowany, zobacz Dostawcy zasobów i typy platformy Azure.
Ważne
Te informacje dotyczą tylko zasobów udostępnianych podczas tworzenia obszaru roboczego: konta usługi Azure Storage, usługa Azure Container Registry, usługa Azure Key Vault i usługa Application Insights.
Przykładowy szablon może nie zawsze używać najnowszej wersji interfejsu API dla usługi Azure Machine Learning. Przed użyciem szablonu zalecamy zmodyfikowanie go w celu korzystania z najnowszych wersji interfejsu API. Aby uzyskać informacje na temat najnowszych wersji interfejsu API dla usługi Azure Machine Learning, zobacz interfejs API REST usługi Azure Machine Learning.
Napiwek
Każda usługa platformy Azure ma własny zestaw wersji interfejsu API. Aby uzyskać informacje na temat interfejsu API dla określonej usługi, zapoznaj się z informacjami o usłudze w dokumentacji interfejsu API REST platformy Azure.
Aby zaktualizować wersję interfejsu API, znajdź
"apiVersion": "YYYY-MM-DD"
wpis dla typu zasobu i zaktualizuj go do najnowszej wersji. Poniższy przykład to wpis dla usługi Azure Machine Learning:"type": "Microsoft.MachineLearningServices/workspaces", "apiVersion": "2023-10-01",
Wiele obszarów roboczych w tej samej sieci wirtualnej
Szablon nie obsługuje wielu obszarów roboczych usługi Azure Machine Learning wdrożonych w tej samej sieci wirtualnej. To ograniczenie jest spowodowane tym, że szablon tworzy nowe strefy DNS podczas wdrażania.
Jeśli chcesz utworzyć szablon, który wdraża wiele obszarów roboczych w tej samej sieci wirtualnej, skonfiguruj go ręcznie (przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia). Następnie użyj witryny Azure Portal, aby wygenerować szablon.
Informacje o szablonie usługi Azure Resource Manager
Szablon usługi Azure Resource Manager używany w tym dokumencie można znaleźć w katalogu microsoft.machineleaerningservices/machine-learning-workspace-vnet w repozytorium GitHub szablonów szybkiego startu platformy Azure.
Ten szablon tworzy następujące usługi platformy Azure:
- Konto magazynu platformy Azure
- Azure Key Vault
- Azure Application Insights
- Azure Container Registry
- Obszar roboczy usługi Azure Machine Learning
Grupa zasobów to kontener, który przechowuje usługi. Obszar roboczy usługi Azure Machine Learning używa tych usług do obsługi funkcji, takich jak przechowywanie danych, wpisów tajnych, rejestrowania i obrazów platformy Docker.
Przykładowy szablon ma dwa wymagane parametry:
Lokalizacja, w której są tworzone zasoby.
Szablon używa wybranej lokalizacji dla większości zasobów. Wyjątkiem jest usługa Application Insights, która nie jest dostępna we wszystkich lokalizacjach, w których znajdują się inne usługi. Jeśli wybierzesz lokalizację, w której nie jest dostępna, usługa zostanie utworzona w lokalizacji Południowo-środkowe stany USA.
Nazwa_obszaru roboczego, która jest przyjazną nazwą obszaru roboczego usługi Azure Machine Learning.
Uwaga
Nazwa obszaru roboczego jest niewrażliwa na wielkość liter.
Nazwy innych usług są generowane losowo.
Napiwek
Szablon skojarzony z tym dokumentem tworzy nową usługę Azure Container Registry, ale można również utworzyć nowy obszar roboczy bez tworzenia rejestru kontenerów. Zostanie utworzony podczas wykonywania operacji wymagającej rejestru kontenerów. Na przykład trenowanie lub wdrażanie modelu.
Możesz również odwołać się do istniejącego rejestru kontenerów lub konta magazynu w szablonie usługi Azure Resource Manager, zamiast tworzyć nowe. W tym celu należy użyć tożsamości zarządzanej (wersja zapoznawcza) lub włączyć konto administratora dla rejestru kontenerów.
Ostrzeżenie
Po utworzeniu usługi Azure Container Registry dla obszaru roboczego nie usuwaj go. Spowoduje to przerwanie obszaru roboczego usługi Azure Machine Learning.
Aby uzyskać więcej informacji na temat szablonów, zobacz następujące artykuły:
- Tworzenie szablonów usługi Azure Resource Manager
- Wdrażanie aplikacji przy użyciu szablonów usługi Azure Resource Manager
- Microsoft.MachineLearningServices, typy zasobów
Wdrażanie szablonu
Aby wdrożyć szablon, musisz utworzyć grupę zasobów.
Jeśli wolisz korzystać z graficznego interfejsu użytkownika, zobacz sekcję witryny Azure Portal .
az group create --name "examplegroup" --location "eastus"
Po pomyślnym utworzeniu grupy zasobów wdróż szablon za pomocą następującego polecenia:
az deployment group create \
--name "exampledeployment" \
--resource-group "examplegroup" \
--template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
--parameters workspaceName="exampleworkspace" location="eastus"
Domyślnie wszystkie zasoby utworzone w ramach szablonu są nowe. Istnieje jednak również możliwość korzystania z istniejących zasobów. Podając inne parametry szablonu, możesz użyć istniejących zasobów. Jeśli na przykład chcesz użyć istniejącego konta magazynu, ustaw wartość storageAccountOption na istniejącą i podaj nazwę konta magazynu w parametrze storageAccountName .
Ważne
Jeśli chcesz użyć istniejącego konta usługi Azure Storage, nie może to być konto w warstwie Premium (Premium_LRS i Premium_GRS). Nie może również mieć hierarchicznej przestrzeni nazw (używanej z usługą Azure Data Lake Storage Gen2). Magazyn w warstwie Premium ani hierarchiczna przestrzeń nazw nie są obsługiwane przy użyciu domyślnego konta magazynu obszaru roboczego. Magazyn w warstwie Premium ani hierarchiczne przestrzenie nazw nie są obsługiwane przy użyciu domyślnego konta magazynu obszaru roboczego. Możesz użyć magazynu w warstwie Premium lub hierarchicznej przestrzeni nazw z kontami magazynu innego niż domyślne .
az deployment group create \
--name "exampledeployment" \
--resource-group "examplegroup" \
--template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
--parameters workspaceName="exampleworkspace" \
location="eastus" \
storageAccountOption="existing" \
storageAccountName="existingstorageaccountname"
Wdrażanie zaszyfrowanego obszaru roboczego
Poniższy przykładowy szablon przedstawia sposób tworzenia obszaru roboczego z trzema ustawieniami:
- Włącz ustawienia wysokiej poufności dla obszaru roboczego. Ta konfiguracja tworzy nowe wystąpienie usługi Azure Cosmos DB.
- Włącz szyfrowanie dla obszaru roboczego.
- Używa istniejącej usługi Azure Key Vault do pobierania kluczy zarządzanych przez klienta. Klucze zarządzane przez klienta służą do tworzenia nowego wystąpienia usługi Azure Cosmos DB dla obszaru roboczego.
Ważne
Po utworzeniu obszaru roboczego nie można zmienić ustawień poufnych danych, szyfrowania, identyfikatora magazynu kluczy lub identyfikatorów kluczy. Aby zmienić te wartości, musisz utworzyć nowy obszar roboczy przy użyciu nowych wartości.
Aby uzyskać więcej informacji, zobacz Klucze zarządzane przez klienta.
Ważne
Przed użyciem tego szablonu należy spełnić określone wymagania dotyczące subskrypcji:
- Musisz mieć istniejącą usługę Azure Key Vault, która zawiera klucz szyfrowania.
- Usługa Azure Key Vault musi znajdować się w tym samym regionie, w którym planujesz utworzyć obszar roboczy usługi Azure Machine Learning.
- Należy określić identyfikator usługi Azure Key Vault i identyfikator URI klucza szyfrowania.
Aby uzyskać instrukcje dotyczące tworzenia magazynu i klucza, zobacz Konfigurowanie kluczy zarządzanych przez klienta.
Aby uzyskać wartości parametrów cmk_keyvault
(ID usługi Key Vault) i resource_cmk_uri
(identyfikator URI klucza) wymaganych przez ten szablon, wykonaj następujące kroki:
Aby uzyskać identyfikator usługi Key Vault, użyj następującego polecenia:
az keyvault show --name <keyvault-name> --query 'id' --output tsv
To polecenie zwraca wartość podobną do
/subscriptions/{subscription-guid}/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<keyvault-name>
.Aby uzyskać wartość identyfikatora URI klucza zarządzanego przez klienta, użyj następującego polecenia:
az keyvault key show --vault-name <keyvault-name> --name <key-name> --query 'key.kid' --output tsv
To polecenie zwraca wartość podobną do https://mykeyvault.vault.azure.net/keys/mykey/{guid}
.
Ważne
Po utworzeniu obszaru roboczego nie można zmienić ustawień poufnych danych, szyfrowania, identyfikatora magazynu kluczy lub identyfikatorów kluczy. Aby zmienić te wartości, musisz utworzyć nowy obszar roboczy przy użyciu nowych wartości.
Aby włączyć korzystanie z kluczy zarządzanych przez klienta, ustaw następujące parametry podczas wdrażania szablonu:
- encryption_status do włączonej.
- cmk_keyvault do wartości uzyskanej
cmk_keyvault
w poprzednich krokach. - resource_cmk_uri do wartości uzyskanej
resource_cmk_uri
w poprzednich krokach.
az deployment group create \
--name "exampledeployment" \
--resource-group "examplegroup" \
--template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
--parameters workspaceName="exampleworkspace" \
location="eastus" \
encryption_status="Enabled" \
cmk_keyvault="/subscriptions/{subscription-guid}/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<keyvault-name>" \
resource_cmk_uri="https://mykeyvault.vault.azure.net/keys/mykey/{guid}" \
W przypadku korzystania z klucza zarządzanego przez klienta usługa Azure Machine Learning tworzy pomocniczą grupę zasobów zawierającą wystąpienie usługi Azure Cosmos DB. Aby uzyskać więcej informacji, zobacz Szyfrowanie magazynowane w usłudze Azure Cosmos DB.
Inną konfiguracją, którą można podać dla danych, jest ustawienie parametru confidential_data na wartość true. W ten sposób można włączyć następujące zachowanie:
Rozpoczyna szyfrowanie lokalnego dysku tymczasowego dla klastrów obliczeniowych usługi Azure Machine Learning, zapewniając, że nie utworzono żadnych poprzednich klastrów w ramach subskrypcji. Jeśli wcześniej utworzono klaster w ramach subskrypcji, otwórz bilet pomocy technicznej, aby mieć włączone szyfrowanie dysku tymczasowego dla klastrów obliczeniowych.
Czyści lokalny dysk tymczasowy między zadaniami.
Bezpiecznie przekazuje poświadczenia dla konta magazynu, rejestru kontenerów i konta SSH z warstwy wykonywania do klastrów obliczeniowych przy użyciu magazynu kluczy.
Umożliwia filtrowanie adresów IP, aby upewnić się, że żadne usługi zewnętrzne inne niż AzureMachineLearningService mogą wywoływać bazowe pule wsadowe.
Ważne
Po utworzeniu obszaru roboczego nie można zmienić ustawień poufnych danych, szyfrowania, identyfikatora magazynu kluczy lub identyfikatorów kluczy. Aby zmienić te wartości, musisz utworzyć nowy obszar roboczy przy użyciu nowych wartości.
Aby uzyskać więcej informacji, zobacz szyfrowanie magazynowane.
Wdrażanie obszaru roboczego za siecią wirtualną
Ustawiając wartość parametru vnetOption
na new
wartość lub existing
, możesz utworzyć zasoby używane przez obszar roboczy za siecią wirtualną.
Ważne
W przypadku rejestru kontenerów obsługiwana jest tylko jednostka SKU "Premium".
Ważne
Usługa Application Insights nie obsługuje wdrażania za siecią wirtualną.
Wdrażanie tylko obszaru roboczego za prywatnym punktem końcowym
Jeśli skojarzone zasoby nie są za siecią wirtualną, możesz ustawić parametr privateEndpointType na AutoAproval
lub ManualApproval
wdrożyć obszar roboczy za prywatnym punktem końcowym. To ustawienie może być używane zarówno dla nowych, jak i istniejących obszarów roboczych. Podczas aktualizowania istniejącego obszaru roboczego wypełnij parametry szablonu informacjami z istniejącego obszaru roboczego.
az deployment group create \
--name "exampledeployment" \
--resource-group "examplegroup" \
--template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
--parameters workspaceName="exampleworkspace" \
location="eastus" \
privateEndpointType="AutoApproval"
Korzystanie z nowej sieci wirtualnej
Aby wdrożyć zasób za nową siecią wirtualną, ustaw wartość vnetOption na nową wraz z ustawieniami sieci wirtualnej dla odpowiedniego zasobu. W poniższym przykładzie pokazano, jak wdrożyć obszar roboczy z zasobem konta magazynu za nową siecią wirtualną.
az deployment group create \
--name "exampledeployment" \
--resource-group "examplegroup" \
--template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
--parameters workspaceName="exampleworkspace" \
location="eastus" \
vnetOption="new" \
vnetName="examplevnet" \
storageAccountBehindVNet="true"
privateEndpointType="AutoApproval"
Alternatywnie można wdrożyć wiele lub wszystkie zasoby zależne za siecią wirtualną.
az deployment group create \
--name "exampledeployment" \
--resource-group "examplegroup" \
--template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
--parameters workspaceName="exampleworkspace" \
location="eastus" \
vnetOption="new" \
vnetName="examplevnet" \
storageAccountBehindVNet="true" \
keyVaultBehindVNet="true" \
containerRegistryBehindVNet="true" \
containerRegistryOption="new" \
containerRegistrySku="Premium"
privateEndpointType="AutoApproval"
Korzystanie z istniejącej sieci wirtualnej i zasobów
Aby wdrożyć obszar roboczy z istniejącymi zasobami, należy ustawić parametr vnetOption na istniejący wraz z parametrami podsieci. Należy jednak utworzyć punkty końcowe usługi w sieci wirtualnej dla każdego z zasobów przed wdrożeniem. Podobnie jak w przypadku nowych wdrożeń sieci wirtualnych, możesz mieć jeden lub wszystkie zasoby za siecią wirtualną.
Ważne
Podsieć powinna mieć Microsoft.Storage
punkt końcowy usługi
Ważne
Podsieci nie zezwalają na tworzenie prywatnych punktów końcowych. Wyłącz prywatny punkt końcowy, aby włączyć podsieć.
Włącz punkty końcowe usługi dla zasobów.
az network vnet subnet update --resource-group "examplegroup" --vnet-name "examplevnet" --name "examplesubnet" --service-endpoints "Microsoft.Storage" az network vnet subnet update --resource-group "examplegroup" --vnet-name "examplevnet" --name "examplesubnet" --service-endpoints "Microsoft.KeyVault" az network vnet subnet update --resource-group "examplegroup" --vnet-name "examplevnet" --name "examplesubnet" --service-endpoints "Microsoft.ContainerRegistry"
Wdrażanie obszaru roboczego
az deployment group create \ --name "exampledeployment" \ --resource-group "examplegroup" \ --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \ --parameters workspaceName="exampleworkspace" \ location="eastus" \ vnetOption="existing" \ vnetName="examplevnet" \ vnetResourceGroupName="examplegroup" \ storageAccountBehindVNet="true" \ keyVaultBehindVNet="true" \ containerRegistryBehindVNet="true" \ containerRegistryOption="new" \ containerRegistrySku="Premium" \ subnetName="examplesubnet" \ subnetOption="existing" privateEndpointType="AutoApproval"
Korzystanie z witryny Azure Portal
Wykonaj kroki opisane w temacie Wdrażanie zasobów z szablonu niestandardowego. Po przybyciu na ekran wdrożenia niestandardowego wybierz wpis szablonu Szybki start.
Z listy rozwijanej szablonów szybkiego startu wybierz
microsoft.machinelearningservices/machine-learning-workspace-vnet
wpis. Na koniec użyj poleceniaSelect template
.Po wyświetleniu szablonu podaj następujące wymagane informacje i inne parametry w zależności od scenariusza wdrażania.
- Subskrypcja: wybierz subskrypcję platformy Azure, która ma być używana dla tych zasobów.
- Grupa zasobów: wybierz lub utwórz grupę zasobów, która ma zawierać usługi.
- Region: wybierz region świadczenia usługi Azure, w którym mają zostać utworzone zasoby.
- Nazwa obszaru roboczego: nazwa do utworzenia obszaru roboczego usługi Azure Machine Learning. Nazwa obszaru roboczego musi zawierać od 3 do 33 znaków. Może zawierać tylko znaki alfanumeryczne i "-".
- Lokalizacja: wybierz lokalizację, w której mają zostać utworzone zasoby.
Wybierz pozycję Przejrzyj i utwórz.
Na ekranie Przeglądanie i tworzenie zaakceptuj wymienione warunki i postanowienia, a następnie wybierz pozycję Utwórz.
Aby uzyskać więcej informacji, zobacz Wdrażanie zasobów z szablonu niestandardowego.
Rozwiązywanie problemów
Błędy dostawcy zasobów
Podczas tworzenia obszaru roboczego usługi Azure Machine Learning lub zasobu używanego przez obszar roboczy może wystąpić 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 Learning:
Dostawca zasobów | Dlaczego jest to potrzebne |
---|---|
Microsoft.MachineLearningServices | Tworzenie obszaru roboczego usługi Azure Machine Learning. |
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 w wystąpieniu obliczeniowym usługi Azure Machine Learning. |
Microsoft.ContainerService | Jeśli planujesz wdrażanie wytrenowanych modeli w usługach Azure Kubernetes Services. |
Jeśli planujesz korzystanie z klucza zarządzanego przez klienta w usłudze Azure Machine Learning, 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 Learning, dostawca zasobów Microsoft.Network musi być zarejestrowany. 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.
Zasady dostępu usługi Azure Key Vault i szablony usługi Azure Resource Manager
Jeśli używasz szablonu usługi Azure Resource Manager do tworzenia obszaru roboczego i skojarzonych zasobów (w tym usługi Azure Key Vault), wiele razy. Na przykład wielokrotne używanie szablonu z tymi samymi parametrami w ramach potoku ciągłej integracji i wdrażania.
Większość operacji tworzenia zasobów za pomocą szablonów jest idempotentna, ale usługa Key Vault czyści zasady dostępu za każdym razem, gdy szablon jest używany. Wyczyszczenie zasad dostępu przerywa dostęp do usługi Key Vault dla dowolnego istniejącego obszaru roboczego, którego używa. Na przykład zatrzymanie/utworzenie funkcji maszyny wirtualnej usługi Azure Notebooks może zakończyć się niepowodzeniem.
Aby uniknąć tego problemu, zalecamy jedną z następujących metod:
Nie wdrażaj szablonu więcej niż raz dla tych samych parametrów. Możesz też usunąć istniejące zasoby przed użyciem szablonu, aby je ponownie utworzyć.
Sprawdź zasady dostępu usługi Key Vault, a następnie użyj tych zasad, aby ustawić
accessPolicies
właściwość szablonu. Aby wyświetlić zasady dostępu, użyj następującego polecenia interfejsu wiersza polecenia platformy Azure:az keyvault show --name mykeyvault --resource-group myresourcegroup --query properties.accessPolicies
Aby uzyskać więcej informacji na temat korzystania z
accessPolicies
sekcji szablonu, zobacz dokumentację obiektu AccessPolicyEntry.Sprawdź, czy zasób usługi Key Vault już istnieje. Jeśli tak, nie utwórz go ponownie za pomocą szablonu. Aby na przykład użyć istniejącej usługi Key Vault zamiast utworzyć nową, wprowadź następujące zmiany w szablonie:
Dodaj parametr, który akceptuje identyfikator istniejącego zasobu usługi Key Vault:
"keyVaultId":{ "type": "string", "metadata": { "description": "Specify the existing Key Vault ID." } }
Usuń sekcję, która tworzy zasób usługi Key Vault:
{ "type": "Microsoft.KeyVault/vaults", "apiVersion": "2018-02-14", "name": "[variables('keyVaultName')]", "location": "[parameters('location')]", "properties": { "tenantId": "[variables('tenantId')]", "sku": { "name": "standard", "family": "A" }, "accessPolicies": [ ] } },
"[resourceId('Microsoft.KeyVault/vaults', variables('keyVaultName'))]",
Usuń wiersz zdependsOn
sekcji obszaru roboczego. Zmień również wpis wproperties
sekcji obszaru roboczego, aby odwołać się do parametrukeyVaultId
:keyVault
{ "type": "Microsoft.MachineLearningServices/workspaces", "apiVersion": "2019-11-01", "name": "[parameters('workspaceName')]", "location": "[parameters('location')]", "dependsOn": [ "[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]", "[resourceId('Microsoft.Insights/components', variables('applicationInsightsName'))]" ], "identity": { "type": "systemAssigned" }, "sku": { "tier": "[parameters('sku')]", "name": "[parameters('sku')]" }, "properties": { "friendlyName": "[parameters('workspaceName')]", "keyVault": "[parameters('keyVaultId')]", "applicationInsights": "[resourceId('Microsoft.Insights/components',variables('applicationInsightsName'))]", "storageAccount": "[resourceId('Microsoft.Storage/storageAccounts/',variables('storageAccountName'))]" } }
Po tych zmianach można określić identyfikator istniejącego zasobu usługi Key Vault podczas uruchamiania szablonu. Następnie szablon ponownie używa usługi Key Vault, ustawiając
keyVault
właściwość obszaru roboczego na jego identyfikator.Aby uzyskać identyfikator usługi Key Vault, możesz odwołać się do danych wyjściowych oryginalnego zadania szablonu lub użyć interfejsu wiersza polecenia platformy Azure. Następujące polecenie to przykład użycia interfejsu wiersza polecenia platformy Azure do pobrania identyfikatora zasobu usługi Key Vault:
az keyvault show --name mykeyvault --resource-group myresourcegroup --query id
To polecenie zwraca wartość podobną do następującego tekstu:
/subscriptions/{subscription-guid}/resourceGroups/myresourcegroup/providers/Microsoft.KeyVault/vaults/mykeyvault
Powiązana zawartość
- Wdrażanie zasobów przy użyciu szablonów usługi Resource Manager i interfejsu API REST usługi Resource Manager.
- Tworzenie i wdrażanie grup zasobów platformy Azure za pomocą programu Visual Studio.
- Aby uzyskać informacje o innych szablonach związanych z usługą Azure Machine Learning, zobacz repozytorium Szablony szybkiego startu platformy Azure.
- Jak używać diagnostyki obszaru roboczego.
- Przenoszenie obszaru roboczego usługi Azure Machine Learning do innej subskrypcji.