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.
Usługa Azure Resource Manager udostępnia następujące funkcje umożliwiające uzyskiwanie wartości zakresu wdrożenia w szablonie usługi Azure Resource Manager (szablon usługi ARM):
Aby uzyskać wartości z parametrów, zmiennych lub bieżącego wdrożenia, zobacz Funkcje wartości wdrożenia.
Wskazówka
Bicep jest zalecany, ponieważ oferuje te same możliwości co szablony ARM, a jego składnia jest łatwiejsza do użycia. Aby dowiedzieć się więcej, zobacz scope funkcje.
managementGroup
managementGroup()
Zwraca obiekt z właściwościami z grupy zarządzania w bieżącym wdrożeniu.
W Bicep użyj managementGroup funkcji scope.
Uwagi
managementGroup() można używać tylko we wdrożeniach grup zarządzania. Zwraca bieżącą grupę zarządzania dla operacji wdrażania. Służy do pobierania właściwości dla bieżącej grupy zarządzania.
Wartość zwracana
Obiekt z właściwościami bieżącej grupy zarządzania.
Przykład grupy zarządzania
Poniższy przykład zwraca właściwości dla bieżącej grupy zarządzania:
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/managementGroupDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"mgInfo": "[managementGroup()]"
},
"resources": [],
"outputs": {
"mgResult": {
"type": "object",
"value": "[variables('mgInfo')]"
}
}
}
Zostanie zwrócona następująca wartość:
"mgResult": {
"type": "Object",
"value": {
"id": "/providers/Microsoft.Management/managementGroups/examplemg1",
"name": "examplemg1",
"properties": {
"details": {
"parent": {
"displayName": "Tenant Root Group",
"id": "/providers/Microsoft.Management/managementGroups/00000000-0000-0000-0000-000000000000",
"name": "00000000-0000-0000-0000-000000000000"
},
"updatedBy": "00000000-0000-0000-0000-000000000000",
"updatedTime": "2020-07-23T21:05:52.661306Z",
"version": "1"
},
"displayName": "Example MG 1",
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
},
"type": "/providers/Microsoft.Management/managementGroups"
}
}
W następnym przykładzie zostanie utworzona nowa grupa zarządzania i zostanie użyta ta funkcja do ustawienia nadrzędnej grupy zarządzania:
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/managementGroupDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"mgName": {
"type": "string",
"defaultValue": "[format('mg-{0}', uniqueString(newGuid()))]"
}
},
"resources": [
{
"type": "Microsoft.Management/managementGroups",
"apiVersion": "2024-02-01-preview",
"scope": "/",
"name": "[parameters('mgName')]",
"properties": {
"details": {
"parent": {
"id": "[managementGroup().id]"
}
}
}
}
],
"outputs": {
"newManagementGroup": {
"type": "string",
"value": "[parameters('mgName')]"
}
}
}
grupa zasobów
resourceGroup()
Zwraca obiekt reprezentujący bieżącą grupę zasobów.
W Bicep użyj resourceGroup funkcji scope.
Wartość zwracana
Zwrócony obiekt ma następujący format:
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}",
"name": "{resourceGroupName}",
"type":"Microsoft.Resources/resourceGroups",
"location": "{resourceGroupLocation}",
"managedBy": "{identifier-of-managing-resource}",
"tags": {
},
"properties": {
"provisioningState": "{status}"
}
}
Właściwość managedBy jest zwracana tylko dla grup zasobów, które zawierają zasoby zarządzane przez inną usługę. W przypadku aplikacji zarządzanych, usługi Databricks i usługi AKS wartość właściwości to identyfikator zasobu zarządzającego.
Uwagi
Nie resourceGroup() można użyć funkcji w szablonie wdrożonym na poziomie subskrypcji. Można go używać tylko w szablonach wdrożonych w grupie zasobów. Możesz użyć resourceGroup() funkcji w połączonym lub zagnieżdżonym szablonie (z zakresem wewnętrznym), który jest przeznaczony dla grupy zasobów, nawet jeśli szablon nadrzędny jest wdrożony w subskrypcji. W tym scenariuszu połączony lub zagnieżdżony szablon jest wdrażany na poziomie grupy zasobów. Aby uzyskać więcej informacji na temat określania wartości docelowej grupy zasobów we wdrożeniu na poziomie subskrypcji, zobacz Wdrażanie zasobów platformy Azure w więcej niż jednej subskrypcji lub grupie zasobów.
Typowym zastosowaniem resourceGroup funkcji jest utworzenie zasobów w tej samej lokalizacji co grupa zasobów. W poniższym przykładzie użyto lokalizacji grupy zasobów dla wartości parametru domyślnego.
"parameters": {
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
}
Możesz również użyć funkcji , aby zastosować resourceGroup tagi z grupy zasobów do zasobu. Aby uzyskać więcej informacji, zobacz Stosowanie tagów z grupy zasobów.
W przypadku używania szablonów zagnieżdżonych do wdrażania w wielu grupach zasobów można określić zakres oceny resourceGroup funkcji. Aby uzyskać więcej informacji, zobacz Wdrażanie zasobów platformy Azure w więcej niż jednej subskrypcji lub grupie zasobów.
Przykład grupy zasobów
Poniższy przykład zwraca właściwości grupy zasobów:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"resourceGroupOutput": {
"type": "object",
"value": "[resourceGroup()]"
}
}
}
Powyższy przykład zwraca obiekt w następującym formacie:
{
"id": "/subscriptions/{subscription-id}/resourceGroups/examplegroup",
"name": "examplegroup",
"type":"Microsoft.Resources/resourceGroups",
"location": "southcentralus",
"properties": {
"provisioningState": "Succeeded"
}
}
abonament
subscription()
Zwraca szczegóły dotyczące subskrypcji dla bieżącego wdrożenia.
W Bicep użyj subscription funkcji scope.
Wartość zwracana
Funkcja zwraca następujący format:
{
"id": "/subscriptions/{subscription-id}",
"subscriptionId": "{subscription-id}",
"tenantId": "{tenant-id}",
"displayName": "{name-of-subscription}"
}
Uwagi
W przypadku używania szablonów zagnieżdżonych do wdrażania w wielu subskrypcjach można określić zakres oceny subscription funkcji. Aby uzyskać więcej informacji, zobacz Wdrażanie zasobów platformy Azure w więcej niż jednej subskrypcji lub grupie zasobów.
Przykład subskrypcji
W poniższym przykładzie pokazano subscription funkcję o nazwie w sekcji danych wyjściowych :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"subscriptionOutput": {
"type": "object",
"value": "[subscription()]"
}
}
}
dzierżawa
tenant()
Zwraca dzierżawę użytkownika.
W Bicep użyj tenant funkcji scope.
Uwagi
tenant() może być używany z dowolnym zakresem wdrożenia. Zawsze zwraca bieżącą dzierżawę. Użyj tej funkcji, aby uzyskać właściwości dla bieżącej dzierżawy.
Podczas ustawiania zakresu połączonego szablonu lub zasobu rozszerzenia użyj składni: "scope": "/".
Wartość zwracana
Obiekt z właściwościami bieżącej dzierżawy.
Przykład dzierżawy
Poniższy przykład zwraca właściwości dzierżawy:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"tenantInfo": "[tenant()]"
},
"resources": [],
"outputs": {
"tenantResult": {
"type": "object",
"value": "[variables('tenantInfo')]"
}
}
}
Zostanie zwrócona następująca wartość:
"tenantResult": {
"type": "Object",
"value": {
"countryCode": "US",
"displayName": "Contoso",
"id": "/tenants/00000000-0000-0000-0000-000000000000",
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
}
}
Dalsze kroki
- Aby dowiedzieć się więcej na temat sekcji w szablonie usługi ARM, zobacz strukturę i składnię szablonów usługi ARM.
- Aby scalić wiele szablonów, zobacz połączone i zagnieżdżone szablony podczas wdrażania zasobów platformy Azure.
- Aby iterować określoną liczbę razy podczas tworzenia typu zasobu, zobacz iterację zasobów w szablonach usługi ARM.
- Aby dowiedzieć się więcej o wdrażaniu utworzonego szablonu, zobacz jak wdrażać zasoby przy użyciu szablonów usługi ARM i programu Azure PowerShell.