Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Aby ułatwić tworzenie szablonów usługi Azure Resource Manager, możesz wyeksportować szablon z istniejących zasobów jako plik Bicep lub szablon JSON usługi ARM. Wyeksportowany szablon ułatwia zrozumienie składni i właściwości wymaganych do wdrożenia zasobów. Aby usprawnić przyszłe wdrożenia, użyj wyeksportowanego szablonu jako punktu wyjścia i dostosuj go do własnych potrzeb. Podczas gdy proces eksportowania generuje szablon funkcjonalny, większość wyeksportowanych szablonów wymaga korekt, zanim będzie można ich używać do wdrożenia.
Usługa Resource Manager umożliwia wybranie co najmniej jednego zasobu do eksportowania do szablonu. Możesz skoncentrować się na dokładnie potrzebnych zasobach w szablonie.
W tym artykule pokazano, jak eksportować szablony za pomocą interfejsu wiersza polecenia platformy Azure. Aby uzyskać inne opcje, zobacz:
- Eksportowanie szablonu za pomocą witryny Azure Portal
- Eksportowanie szablonu za pomocą programu Azure PowerShell
- Eksportowanie interfejsu API REST z grupy zasobów i eksportu interfejsu API REST z historii wdrożenia.
Wybieranie odpowiedniej opcji eksportu
Istnieją dwa sposoby eksportowania szablonu:
Eksportuj z grupy zasobów lub pojedynczego zasobu Ta opcja generuje nowy szablon z istniejących zasobów. Wyeksportowany szablon to "migawka" bieżącego stanu grupy zasobów. Możesz wyeksportować całą grupę zasobów lub określone zasoby w ramach tej grupy zasobów.
Zapisz z historii. Ta opcja obsługuje eksportowanie tylko szablonów ARM JSON. Pobiera dokładną kopię szablonu używanego do wdrożenia, umożliwiając wybranie określonego wdrożenia z historii wdrożenia. Po wyeksportowaniu można je dekompilować do plików Bicep.
W zależności od wybranej opcji wyeksportowane szablony mają różne cechy.
| Z grupy zasobów lub zasobu | Z historii |
|---|---|
| Szablon jest generowany automatycznie. Prawdopodobnie warto ulepszyć kod przed jego wdrożeniem. | Szablon jest dokładną kopią elementu utworzonego przez autora szablonu. Wszystko jest gotowe do ponownego wdrożenia bez żadnych zmian. |
| Szablon to migawka bieżącego stanu zasobów. Zawiera on wszelkie ręczne zmiany wprowadzone po wdrożeniu. | Szablon pokazuje tylko stan zasobów w momencie wdrożenia. Wszelkie zmiany ręczne wprowadzone po wdrożeniu nie są uwzględniane. |
| Możesz wybrać zasoby z grupy zasobów do wyeksportowania. | Uwzględniane są wszystkie zasoby dla określonego wdrożenia. Nie można wybrać podzbioru tych zasobów ani dodać zasobów, które zostały dodane w innym czasie. |
| Szablon zawiera wszystkie właściwości zasobów, w tym niektóre właściwości, które nie są zwykle ustawiane podczas wdrażania. Przed ponownym rozpoczęciem korzystania z szablonu możesz usunąć lub wyczyścić te właściwości. | Szablon zawiera tylko właściwości wymagane do wdrożenia. Szablon jest bardziej rozrzedniejszy i łatwiejszy do odczytania. |
| Szablon prawdopodobnie nie zawiera wszystkich parametrów potrzebnych do ponownego użycia. Większość wartości właściwości jest zakodowana w szablonie. Aby ponownie wdrożyć szablon w innych środowiskach, należy dodać parametry, które zwiększają możliwość konfigurowania zasobów. Możesz usunąć zaznaczenie uwzględnij parametry, aby móc tworzyć własne parametry. | Szablon zawiera parametry, które ułatwiają ponowne wdrażanie w różnych środowiskach. |
Wyeksportuj szablon z grupy zasobów lub zasobu, gdy:
- Należy przechwycić zmiany w zasobach, które zostały wprowadzone po oryginalnym wdrożeniu.
- Chcesz wybrać, które zasoby są eksportowane.
- Zasoby nie zostały utworzone za pomocą szablonu.
Wyeksportuj szablon z historii, gdy:
- Potrzebujesz łatwego do ponownego użycia szablonu.
- Nie musisz uwzględniać zmian wprowadzonych po oryginalnym wdrożeniu.
Ograniczenia
Eksport nie jest gwarantowany, że się powiedzie. Eksportowanie nie jest niezawodnym sposobem przekształcania istniejących zasobów w szablony, które mogą być używane w środowisku produkcyjnym. Lepiej jest tworzyć zasoby od podstaw przy użyciu ręcznie napisanego pliku Bicep, szablonu ARM lub narzędzia Terraform.
Podczas eksportowania z grupy zasobów lub zasobu wyeksportowany szablon jest generowany na podstawie opublikowanych schematów dla każdego typu zasobu. Czasami schemat nie ma najnowszej wersji dla typu zasobu. Sprawdź wyeksportowany szablon, aby upewnić się, że zawiera on potrzebne właściwości. W razie potrzeby zmodyfikuj wyeksportowany szablon, aby korzystać z potrzebnej wersji interfejsu API.
W wyeksportowanych szablonach mogą brakować niektórych parametrów hasła. Należy sprawdzić referencję szablonu, i ręcznie dodać te parametry, zanim będzie można użyć szablonów do wdrożenia zasobów.
Funkcja szablonu eksportu nie obsługuje eksportowania zasobów usługi Azure Data Factory. Aby dowiedzieć się, jak wyeksportować zasoby usługi Data Factory, zobacz Kopiowanie lub klonowanie fabryki danych w usłudze Azure Data Factory.
Aby wyeksportować zasoby utworzone za pomocą klasycznego modelu wdrażania, należy przeprowadzić migrację ich do modelu wdrażania przy użyciu usługi Resource Manager.
Jeśli podczas eksportowania szablonu zostanie wyświetlone ostrzeżenie wskazujące, że typ zasobu nie został wyeksportowany, nadal możesz odnaleźć właściwości tego zasobu. Aby uzyskać informacje o właściwościach zasobów, zobacz odniesienie do szablonu. Możesz również zapoznać się z interfejsem API REST platformy Azure dla typu zasobu.
Istnieje limit 200 zasobów w grupie zasobów, dla której został utworzony wyeksportowany szablon. Jeśli spróbujesz wyeksportować grupę zasobów zawierającą więcej niż 200 zasobów, zostanie wyświetlony komunikat Export template is not supported for resource groups more than 200 resources o błędzie.
Eksportowanie szablonu z grupy zasobów
Po pomyślnym skonfigurowaniu grupy zasobów można wyeksportować szablon usługi Azure Resource Manager dla grupy zasobów.
Aby wyeksportować wszystkie zasoby w grupie zasobów, użyj polecenia az group export i podaj nazwę grupy zasobów.
az group export --name demoGroup
Skrypt wyświetla szablon na konsoli. Aby zapisać plik, użyj:
az group export --name demoGroup > exportedtemplate.json
Zamiast eksportować wszystkie zasoby w grupie zasobów, możesz wybrać zasoby do wyeksportowania.
Aby wyeksportować jeden zasób, przekaż ten identyfikator zasobu.
storageAccountID=$(az resource show --resource-group demoGroup --name demostg --resource-type Microsoft.Storage/storageAccounts --query id --output tsv)
az group export --resource-group demoGroup --resource-ids $storageAccountID
Aby wyeksportować więcej niż jeden zasób, przekaż identyfikatory zasobów rozdzielonych spacjami. Aby wyeksportować wszystkie zasoby, nie należy określać tego argumentu ani podawać "*".
az group export --resource-group <resource-group-name> --resource-ids $storageAccountID1 $storageAccountID2
Podczas eksportowania szablonu można określić, czy parametry są używane w szablonie. Domyślnie parametry nazw zasobów są uwzględniane, ale nie mają wartości domyślnej.
"parameters": {
"serverfarms_demoHostPlan_name": {
"type": "String"
},
"sites_webSite3bwt23ktvdo36_name": {
"type": "String"
}
}
Jeśli używasz parametru --skip-resource-name-params podczas eksportowania szablonu, parametry nazw zasobów nie są uwzględniane w szablonie. Zamiast tego nazwa zasobu jest bezpośrednio przypisywana zasobowi, z uwzględnieniem jego bieżącej wartości. Nie można dostosować nazwy podczas wdrażania.
"resources": [
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2025-03-01",
"name": "demoHostPlan",
...
}
]
Jeśli używasz parametru --include-parameter-default-value podczas eksportowania szablonu, parametr szablonu zawiera wartość domyślną ustawioną na bieżącą wartość. Możesz użyć tej wartości domyślnej lub zastąpić wartość domyślną, przekazując inną wartość.
"parameters": {
"serverfarms_demoHostPlan_name": {
"defaultValue": "demoHostPlan",
"type": "String"
},
"sites_webSite3bwt23ktvdo36_name": {
"defaultValue": "webSite3bwt23ktvdo36",
"type": "String"
}
}
Zapisywanie szablonu z historii wdrażania
Szablon można zapisać z wdrożenia w historii wdrażania. Otrzymany szablon jest dokładnie taki, który został użyty do wdrożenia.
Aby pobrać szablon z wdrożenia grupy zasobów, użyj polecenia az deployment group export . Należy określić nazwę wdrożenia do pobrania. Aby uzyskać pomoc dotyczącą uzyskiwania nazwy wdrożenia, zobacz Wyświetlanie historii wdrażania za pomocą usługi Azure Resource Manager.
az deployment group export --resource-group demoGroup --name demoDeployment
Szablon jest wyświetlany w konsoli programu . Aby zapisać plik, użyj:
az deployment group export --resource-group demoGroup --name demoDeployment > demoDeployment.json
Aby uzyskać szablony wdrożone na innych poziomach, użyj:
- az deployment sub export dla wdrożeń do subskrypcji
- Polecenie az deployment mg export do wdrożeń w grupach zarządzania
- az deployment tenant export dla wdrożeń do dzierżawców
Dalsze kroki
- Dowiedz się, jak eksportować szablony za pomocą witryny Azure Portal, programu Azure PowerShell lub interfejsu API REST.
- Aby poznać składnię szablonu usługi Resource Manager, zobacz Omówienie struktury i składni szablonów usługi Azure Resource Manager.
- Aby dowiedzieć się, jak opracowywać szablony, zobacz samouczki krok po kroku.