Wdrażanie zasobów przy użyciu szablonów usługi ARM i interfejsu API REST usługi Azure Resource Manager
Artykuł
W tym artykule wyjaśniono, jak używać interfejsu API REST usługi Azure Resource Manager z szablonami usługi Azure Resource Manager (szablonami usługi ARM) do wdrażania zasobów na platformie Azure.
Szablon można dołączyć do treści żądania lub połączyć z plikiem. W przypadku korzystania z pliku może to być plik lokalny lub plik zewnętrzny dostępny za pośrednictwem identyfikatora URI. Gdy szablon znajduje się na koncie magazynu, możesz ograniczyć dostęp do szablonu i podać token sygnatury dostępu współdzielonego (SAS) podczas wdrażania.
Wymagane uprawnienia
Aby wdrożyć plik Bicep lub szablon usługi ARM, potrzebujesz dostępu do zapisu w zasobach wdrażanych i dostępu do wszystkich operacji w typie zasobu Microsoft.Resources/deployments. Na przykład w celu wdrożenia maszyny wirtualnej potrzebne Microsoft.Compute/virtualMachines/write są uprawnienia i Microsoft.Resources/deployments/* uprawnienia. Operacja analizy co-jeżeli ma te same wymagania dotyczące uprawnień.
Wdrożenie można kierować do grupy zasobów, subskrypcji platformy Azure, grupy zarządzania lub dzierżawy. W zależności od zakresu wdrożenia należy użyć różnych poleceń.
Aby wdrożyć w grupie zasobów, użyj opcji Wdrożenia — utwórz. Żądanie jest wysyłane do:
HTTP
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}?api-version=2020-10-01
Aby wdrożyć w grupie zarządzania, użyj opcji Wdrożenia — utwórz w zakresie grupy zarządzania. Żądanie jest wysyłane do:
HTTP
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}?api-version=2020-10-01
Aby uzyskać więcej informacji na temat wdrożeń na poziomie grupy zarządzania, zobacz Tworzenie zasobów na poziomie grupy zarządzania.
Jeśli wdrażasz w grupie zasobów, która nie istnieje, utwórz grupę zasobów. Podaj identyfikator subskrypcji, nazwę nowej grupy zasobów i lokalizację potrzebną dla rozwiązania. Aby uzyskać więcej informacji, zobacz Tworzenie grupy zasobów.
HTTP
PUT https://management.azure.com/subscriptions/<YourSubscriptionId>/resourcegroups/<YourResourceGroupName>?api-version=2020-06-01
Przed wdrożeniem szablonu możesz wyświetlić podgląd zmian, które zostaną wprowadzone w środowisku. Użyj operacji analizy co-jeżeli, aby sprawdzić, czy szablon wprowadza oczekiwane zmiany. Co-jeżeli weryfikuje również szablon pod kątem błędów.
Aby wdrożyć szablon, podaj identyfikator subskrypcji, nazwę grupy zasobów, nazwę wdrożenia w identyfikatorze URI żądania.
HTTP
PUT https://management.azure.com/subscriptions/<YourSubscriptionId>/resourcegroups/<YourResourceGroupName>/providers/Microsoft.Resources/deployments/<YourDeploymentName>?api-version=2020-10-01
Zwróć uwagę, że parametr mode jest ustawiony na przyrostowy. Aby uruchomić pełne wdrożenie, ustaw wartość modeUkończono. Należy zachować ostrożność podczas korzystania z trybu pełnego, ponieważ przypadkowo usuwaj zasoby, które nie są w szablonie.
Konto magazynu można skonfigurować tak, aby używało tokenu sygnatury dostępu współdzielonego (SAS). Aby uzyskać więcej informacji, zobacz Delegowanie dostępu za pomocą sygnatury dostępu współdzielonego.
Zamiast łączyć się z plikami dla szablonu i parametrów, możesz je uwzględnić w treści żądania. Poniższy przykład przedstawia treść żądania z wbudowanym szablonem i parametrem:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}?api-version=2020-10-01
Wdrażanie za pomocą klienta ARMClient
ARMClient to proste narzędzie wiersza polecenia do wywoływania interfejsu API usługi Azure Resource Manager. Aby zainstalować narzędzie, zobacz ARMClient.
Aby wyświetlić listę subskrypcji:
Windows Command Prompt
armclient GET /subscriptions?api-version=2021-04-01
Aby wyświetlić listę grup zasobów:
Windows Command Prompt
armclient GET /subscriptions/<subscription-id>/resourceGroups?api-version=2021-04-01
Zastąp wartość <subscription-id> identyfikatorem subskrypcji platformy Azure.
Aby utworzyć grupę zasobów w regionie Środkowe stany USA :
Windows Command Prompt
armclient PUT /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>?api-version=2021-04-01 "{location: 'central us', properties: {}}"
Możesz też umieścić treść w pliku JSON o nazwie CreateRg.json:
JSON
{
"location": "Central US",
"properties": { }
}
Windows Command Prompt
armclient PUT /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>?api-version=2021-04-01 '@CreateRg.json'
Możesz nadać wdrożeniu nazwę, taką jak ExampleDeployment.
Za każdym razem, gdy uruchamiasz wdrożenie, wpis jest dodawany do historii wdrożenia grupy zasobów o nazwie wdrożenia. Jeśli uruchomisz inne wdrożenie i nadasz mu taką samą nazwę, wcześniejszy wpis zostanie zastąpiony bieżącym wdrożeniem. Jeśli chcesz zachować unikatowe wpisy w historii wdrażania, nadaj każdemu wdrożeniu unikatową nazwę.
Aby utworzyć unikatową nazwę, można przypisać liczbę losową. Możesz też dodać wartość daty.
Jeśli uruchamiasz współbieżne wdrożenia do tej samej grupy zasobów o tej samej nazwie wdrożenia, zostanie ukończone tylko ostatnie wdrożenie. Wszystkie wdrożenia o tej samej nazwie, które nie zostały zakończone, są zastępowane ostatnim wdrożeniem. Jeśli na przykład uruchomisz wdrożenie o nazwie newStorage , które wdraża konto magazynu o nazwie , a jednocześnie uruchom inne wdrożenie o nazwie newStorage , które wdraża konto magazynu o nazwie storage1storage2, wdrażasz tylko jedno konto magazynu. Wynikowe konto magazynu nosi nazwę storage2.
Jeśli jednak uruchomisz wdrożenie o nazwie newStorage , które wdraża konto magazynu o nazwie , i natychmiast po zakończeniu uruchamiania innego wdrożenia o nazwie newStorage , które wdraża konto magazynu o nazwie storage1storage2, masz dwa konta magazynu. Jeden ma nazwę storage1, a drugi ma nazwę storage2. Jednak w historii wdrażania masz tylko jeden wpis.
Po określeniu unikatowej nazwy dla każdego wdrożenia można uruchamiać je współbieżnie bez konfliktu. Jeśli uruchomisz wdrożenie o nazwie newStorage1 , które wdraża konto magazynu o nazwie , a jednocześnie uruchom kolejne wdrożenie o nazwie newStorage2 , które wdraża konto magazynu o nazwie storage1storage2, wówczas masz dwa konta magazynu i dwa wpisy w historii wdrożenia.
Aby uniknąć konfliktów z wdrożeniami współbieżnymi i zapewnić unikatowe wpisy w historii wdrożenia, nadaj każdemu wdrożeniu unikatową nazwę.
Aby określić sposób obsługi zasobów istniejących w grupie zasobów, ale nie są zdefiniowane w szablonie, zobacz Tryby wdrażania usługi Azure Resource Manager.
Zarządzaj wdrożeniami szablonów usługi Azure Resource Manager (ARM) w wielu środowiskach platformy Azure przy użyciu funkcji, zmiennych, tagów i plików parametrów.
Twórz kompleksowe rozwiązania na platformie Microsoft Azure, aby tworzyć usługi Azure Functions, implementować aplikacje internetowe i zarządzać nimi, opracowywać rozwiązania korzystające z usługi Azure Storage i nie tylko.
Wdrażanie zasobów na platformie Azure przy użyciu usługi Azure Resource Manager i języka Python. Zasoby są definiowane w szablonie usługi Azure Resource Manager.
Azure Microsoft.Resources/templateSpecs/versions składnia i właściwości używane w szablonach usługi Azure Resource Manager na potrzeby wdrażania zasobu. Najnowsza wersja interfejsu API
W tym artykule opisano sposób użycia szablonów połączonych w szablonie usługi Azure Resource Manager (szablon usługi ARM) w celu utworzenia rozwiązania szablonu modułowego. Pokazuje, jak przekazywać wartości parametrów, określać plik parametrów i dynamicznie tworzone adresy URL.
Znajdź dokumentację referencyjną dotyczącą wdrażania zasobów za pośrednictwem szablonów Bicep, azure Resource Manager i dostawcy narzędzia Terraform AzAPI. Pokazuje wszystkie typy zasobów.