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.
Podczas wdrażania zasobów należy określić, że wdrożenie jest aktualizacją przyrostową lub pełną. Różnica między tymi dwoma trybami polega na tym, jak usługa Resource Manager obsługuje istniejące zasoby w grupie zasobów, które nie są w szablonie.
Ważne
Użyj stosów wdrażania, aby usunąć zasoby podczas korzystania z szablonów ARM lub plików Bicep, ponieważ tryb kompletny będzie stopniowo wycofywany.
W obu trybach usługa Resource Manager próbuje utworzyć wszystkie zasoby określone w szablonie. Jeśli zasób już istnieje w grupie zasobów i jego ustawienia są niezmienione, żadna operacja nie jest wykonywana dla tego zasobu. Jeśli zmienisz wartości właściwości zasobu, zasób zostanie zaktualizowany o te nowe wartości. Jeśli spróbujesz zaktualizować lokalizację lub typ istniejącego zasobu, wdrożenie zakończy się niepowodzeniem z powodu błędu. Zamiast tego wdróż nowy zasób z potrzebną lokalizacją lub typem.
Tryb domyślny jest przyrostowy.
Tryb przyrostowy
W trybie przyrostowym usługa Resource Manager pozostawia niezmienione zasoby, które istnieją w grupie zasobów, ale nie są określone w szablonie. Zasoby w szablonie są dodawane do grupy zasobów.
Ważne
Tryb przyrostowy jest zalecanym trybem wdrażania. Jeśli istnieje potrzeba usunięcia zasobów w ramach pliku Bicep lub szablonu JSON dla usługi ARM, użyj stosów wdrażania.
Podczas ponownego wdrażania istniejącego zasobu w trybie przyrostowym wszystkie właściwości są ponownie stosowane. Właściwości nie są dodawane przyrostowo. Typowym nieporozumieniem jest myślenie, że właściwości, które nie zostały określone w szablonie, pozostają niezmienione. Jeśli nie określisz pewnych właściwości, usługa Resource Manager interpretuje wdrożenie jako zastępowanie tych wartości. Właściwości, które nie są uwzględnione w szablonie, są resetowane do wartości domyślnych. Określ wszystkie wartości inne niż domyślne dla zasobu, a nie tylko te, które aktualizujesz. Definicja zasobu w szablonie zawsze zawiera stan końcowy zasobu. Nie może reprezentować częściowej aktualizacji istniejącego zasobu.
Ostrzeżenie
W rzadkich przypadkach można określić właściwości zasobu lub jednego z jego zasobów podrzędnych. Dwa typowe przykłady to podsieci w sieciach wirtualnych i wartości konfiguracji lokacji dla aplikacji internetowych. W takich przypadkach należy ostrożnie obsługiwać aktualizacje przyrostowe.
W przypadku podsieci określ wartości poprzez właściwość subnets w zasobie Microsoft.Network/virtualNetworks. Nie należy definiować wartości za pomocą zasobu podrzędnego Microsoft.Network/virtualNetworks/podsieci. Jeśli podsieci są zdefiniowane w sieci wirtualnej, można ponownie wdrożyć sieć wirtualną i nie utracić podsieci.
W przypadku wartości konfiguracji strony wartości są implementowane w typie Microsoft.Web/sites/config zasobu podrzędnego. Jeśli ponownie wdrożysz aplikację internetową i określisz pusty obiekt dla ustawień konfiguracji witryny, zasób podrzędny nie zostanie zaktualizowany. Jeśli jednak podasz nowe wartości konfiguracji witryny, zostanie zaktualizowany typ zasobu podrzędnego.
Tryb pełny
Ostrzeżenie
Tryb pełny nie jest zalecany. Jeśli chcesz wykonywać operacje usuwania przy użyciu wdrożeń szablonów Bicep lub ARM, użyj stosów wdrożeniowych.
W trybie pełnym usługa Resource Manager usuwa zasoby, które istnieją w grupie zasobów, ale nie są określone w szablonie.
Uwaga
Zawsze używaj operacji co-jeżeli przed wdrożeniem szablonu w trybie pełnym. Co-jeżeli pokazuje, które zasoby zostaną utworzone, usunięte lub zmodyfikowane. Użyj scenariuszy co-jeżeli, aby uniknąć niezamierzonego usunięcia zasobów.
Jeśli szablon zawiera zasób, który nie został wdrożony, ponieważ warunek daje wartość false, wynik zależy od wersji interfejsu API REST używanej do wdrożenia szablonu. Jeśli używasz wersji starszej niż 2019-05-10, zasób nie zostanie usunięty. W przypadku wersji 2019-05-10 lub nowszej zasób jest usuwany. Najnowsze wersje programu Azure PowerShell i interfejsu wiersza polecenia platformy Azure usuwają zasób.
Zachowaj ostrożność przy użyciu trybu pełnego z pętlami kopiowania. Wszystkie zasoby, które nie zostały określone w szablonie po usunięciu pętli kopiowania, zostaną usunięte.
W przypadku wdrożenia w więcej niż jednej grupie zasobów w szablonie zasoby w grupie zasobów określonej w operacji wdrażania mogą zostać usunięte. Zasoby w pomocniczych grupach zasobów nie są usuwane.
Istnieją pewne różnice w sposobie, w jaki typy zasobów obsługują usunięcia w trybie pełnym. Zasoby nadrzędne są automatycznie usuwane, gdy nie znajdują się w szablonie wdrożonym w trybie pełnym. Niektóre zasoby podrzędne nie są automatycznie usuwane, gdy nie są używane w szablonie. Jednak te zasoby podrzędne są usuwane, jeśli zasób nadrzędny zostanie usunięty.
Jeśli na przykład grupa zasobów zawiera strefę DNS (Microsoft.Network/dnsZones typ zasobu) i rekord CNAME (Microsoft.Network/dnsZones/CNAME typ zasobu), strefa DNS jest zasobem nadrzędnym rekordu CNAME. Jeśli wdrażasz w trybie pełnym i nie dołączasz strefy DNS do szablonu, strefa DNS i rekord CNAME zostaną usunięte. Jeśli dołączysz strefę DNS do szablonu, ale nie dołączysz rekordu CNAME, rekord CNAME nie zostanie usunięty.
Aby uzyskać listę sposobu obsługi usuwania typów zasobów, zobacz Usuwanie zasobów platformy Azure na potrzeby wdrożeń w trybie pełnym.
Jeśli grupa zasobów jest zablokowana, tryb kompletny nie usuwa zasobów.
Uwaga
Tylko szablony na poziomie głównym obsługują pełny tryb wdrażania. W przypadku szablonów połączonych lub zagnieżdżonych należy użyć trybu przyrostowego.
Wdrożenia na poziomie subskrypcji nie obsługują trybu pełnego.
Obecnie portal nie obsługuje trybu pełnego.
Przykładowy wynik
Aby zilustrować różnicę między trybami przyrostowym i pełnymi, rozważmy następujący scenariusz.
Grupa zasobów zawiera:
- Zasób A
- Zasób B
- Zasób C
Szablon zawiera:
- Zasób A
- Zasób B
- Zasób D
Po wdrożeniu w trybie przyrostowym grupa zasobów ma następujące elementy:
- Zasób A
- Zasób B
- Zasób C
- Zasób D
Po wdrożeniu w trybie pełnym zostanie usunięty zasób C. Grupa zasobów ma:
- Zasób A
- Zasób B
- Zasób D
Ustawianie trybu wdrażania
Aby ustawić tryb wdrażania podczas wdrażania przy użyciu programu PowerShell, użyj parametru Mode .
New-AzResourceGroupDeployment `
-Mode Complete `
-Name ExampleDeployment `
-ResourceGroupName ExampleResourceGroup `
-TemplateFile c:\MyTemplates\storage.json
Aby ustawić tryb wdrażania podczas wdrażania za pomocą interfejsu wiersza polecenia platformy Azure, użyj parametru mode .
az deployment group create \
--mode Complete \
--name ExampleDeployment \
--resource-group ExampleResourceGroup \
--template-file storage.json
W poniższym przykładzie przedstawiono połączony szablon ustawiony na tryb wdrażania przyrostowego:
"resources": [
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2025-04-01",
"name": "linkedTemplate",
"properties": {
"mode": "Incremental",
<nested-template-or-external-template>
}
}
]
Następne kroki
- Aby dowiedzieć się więcej na temat tworzenia szablonów usługi Resource Manager, zobacz Omówienie struktury i składni szablonów usługi ARM.
- Aby dowiedzieć się więcej na temat wdrażania zasobów, zobacz Wdrażanie zasobów przy użyciu szablonów usługi ARM i programu Azure PowerShell.
- Aby wyświetlić operacje dostawcy zasobów, zobacz Interfejs API REST Azure.