Funkcje zasobów dla szablonów ARMResource functions for ARM templates

Menedżer zasobów udostępnia następujące funkcje do pobierania wartości zasobów w szablonie Azure Resource Manager (ARM):Resource Manager provides the following functions for getting resource values in your Azure Resource Manager (ARM) template:

Aby uzyskać wartości z parametrów, zmiennych lub bieżącego wdrożenia, zobacz funkcje wartości wdrożenia.To get values from parameters, variables, or the current deployment, see Deployment value functions.

extensionResourceIdextensionResourceId

extensionResourceId(resourceId, resourceType, resourceName1, [resourceName2], ...)

Zwraca identyfikator zasobu dla zasobu rozszerzenia, który jest typem zasobu, który jest stosowany do innego zasobu, aby można go było dodać do jego możliwości.Returns the resource ID for an extension resource, which is a resource type that is applied to another resource to add to its capabilities.

ParametryParameters

ParametrParameter WymaganeRequired TypType OpisDescription
resourceIdresourceId TakYes ciągstring Identyfikator zasobu dla zasobu, do którego zastosowano zasób rozszerzenia.The resource ID for the resource that the extension resource is applied to.
resourceTyperesourceType TakYes ciągstring Typ zasobu, w tym przestrzeń nazw dostawcy zasobów.Type of resource including resource provider namespace.
resourceName1resourceName1 TakYes ciągstring Nazwa zasobu.Name of resource.
resourceName2resourceName2 NieNo ciągstring Następny segment nazwy zasobu, w razie konieczności.Next resource name segment, if needed.

Kontynuuj dodawanie nazw zasobów jako parametrów, gdy typ zasobu zawiera więcej segmentów.Continue adding resource names as parameters when the resource type includes more segments.

Wartość zwracanaReturn value

Podstawowy format identyfikatora zasobu zwracanego przez tę funkcję to:The basic format of the resource ID returned by this function is:

{scope}/providers/{extensionResourceProviderNamespace}/{extensionResourceType}/{extensionResourceName}

Segment zakresu zależy od rozszerzonego zasobu.The scope segment varies by the resource being extended.

Gdy zasób rozszerzenia zostanie zastosowany do zasobu, identyfikator zasobu jest zwracany w następującym formacie:When the extension resource is applied to a resource, the resource ID is returned in the following format:

/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{baseResourceProviderNamespace}/{baseResourceType}/{baseResourceName}/providers/{extensionResourceProviderNamespace}/{extensionResourceType}/{extensionResourceName}

Gdy zasób rozszerzenia zostanie zastosowany do grupy zasobów, format jest:When the extension resource is applied to a resource group, the format is:

/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{extensionResourceProviderNamespace}/{extensionResourceType}/{extensionResourceName}

Gdy zasób rozszerzenia zostanie zastosowany do subskrypcji, format jest:When the extension resource is applied to a subscription, the format is:

/subscriptions/{subscriptionId}/providers/{extensionResourceProviderNamespace}/{extensionResourceType}/{extensionResourceName}

Gdy zasób rozszerzenia zostanie zastosowany do grupy zarządzania, format jest:When the extension resource is applied to a management group, the format is:

/providers/Microsoft.Management/managementGroups/{managementGroupName}/providers/{extensionResourceProviderNamespace}/{extensionResourceType}/{extensionResourceName}

przykład extensionResourceIdextensionResourceId example

Poniższy przykład zwraca identyfikator zasobu dla blokady grupy zasobów.The following example returns the resource ID for a resource group lock.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "lockName":{
            "type": "string"
        }
    },
    "variables": {},
    "resources": [],
    "outputs": {
        "lockResourceId": {
            "type": "string",
            "value": "[extensionResourceId(resourceGroup().Id , 'Microsoft.Authorization/locks', parameters('lockName'))]"
        }
    }
}

Definicja zasad niestandardowych wdrożona w grupie zarządzania jest zaimplementowana jako zasób rozszerzenia.A custom policy definition deployed to a management group is implemented as an extension resource. Aby utworzyć i przypisać zasady, wdróż następujący szablon w grupie zarządzania.To create and assign a policy, deploy the following template to a management group.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-08-01/managementGroupDeploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "targetMG": {
            "type": "string",
            "metadata": {
                "description": "Target Management Group"
            }
        },
        "allowedLocations": {
            "type": "array",
            "defaultValue": [
                "australiaeast",
                "australiasoutheast",
                "australiacentral"
            ],
            "metadata": {
                "description": "An array of the allowed locations, all other locations will be denied by the created policy."
            }
        }
    },
    "variables": {
        "mgScope": "[tenantResourceId('Microsoft.Management/managementGroups', parameters('targetMG'))]",
        "policyDefinition": "LocationRestriction"
    },
    "resources": [
        {
            "type": "Microsoft.Authorization/policyDefinitions",
            "name": "[variables('policyDefinition')]",
            "apiVersion": "2019-09-01",
            "properties": {
                "policyType": "Custom",
                "mode": "All",
                "parameters": {
                },
                "policyRule": {
                    "if": {
                        "not": {
                            "field": "location",
                            "in": "[parameters('allowedLocations')]"
                        }
                    },
                    "then": {
                        "effect": "deny"
                    }
                }
            }
        },
        {
            "type": "Microsoft.Authorization/policyAssignments",
            "name": "location-lock",
            "apiVersion": "2019-09-01",
            "dependsOn": [
                "[variables('policyDefinition')]"
            ],
            "properties": {
                "scope": "[variables('mgScope')]",
                "policyDefinitionId": "[extensionResourceId(variables('mgScope'), 'Microsoft.Authorization/policyDefinitions', variables('policyDefinition'))]"
            }
        }
    ]
}

Wbudowane definicje zasad to zasoby na poziomie dzierżawy.Built-in policy definitions are tenant level resources. Aby zapoznać się z przykładem wdrażania wbudowanej definicji zasad, zobacz tenantResourceId.For an example of deploying a built-in policy definition, see tenantResourceId.

stawlist*

list{Value}(resourceName or resourceIdentifier, apiVersion, functionValues)

Składnia tej funkcji różni się od nazwy operacji na liście.The syntax for this function varies by name of the list operations. Każda implementacja zwraca wartości dla typu zasobu, który obsługuje operację listy.Each implementation returns values for the resource type that supports a list operation. Nazwa operacji musi rozpoczynać się od list .The operation name must start with list. Niektóre typowe zastosowania to listKeys , listKeyValue i listSecrets .Some common usages are listKeys, listKeyValue, and listSecrets.

ParametryParameters

ParametrParameter WymaganeRequired TypType OpisDescription
resourceName lub resourceIdentifierresourceName or resourceIdentifier TakYes ciągstring Unikatowy identyfikator zasobu.Unique identifier for the resource.
apiVersionapiVersion TakYes ciągstring Wersja interfejsu API stanu środowiska uruchomieniowego zasobu.API version of resource runtime state. Zwykle w formacie rrrr-mm-dd.Typically, in the format, yyyy-mm-dd.
functionValuesfunctionValues NieNo objectobject Obiekt, który zawiera wartości dla funkcji.An object that has values for the function. Podaj tylko ten obiekt dla funkcji, które obsługują otrzymywanie obiektów z wartościami parametrów, takimi jak listAccountSas na koncie magazynu.Only provide this object for functions that support receiving an object with parameter values, such as listAccountSas on a storage account. Przykład przekazywania wartości funkcji przedstawiono w tym artykule.An example of passing function values is shown in this article.

Prawidłowe zastosowaniaValid uses

Funkcji list można używać we właściwościach definicji zasobu.The list functions can be used in the properties of a resource definition. Nie używaj funkcji list, która uwidacznia poufne informacje w sekcji dane wyjściowe szablonu.Don't use a list function that exposes sensitive information in the outputs section of a template. Wartości wyjściowe są przechowywane w historii wdrożenia i mogą być pobierane przez złośliwego użytkownika.Output values are stored in the deployment history and could be retrieved by a malicious user.

Gdy jest używany z iteracją właściwości, można użyć funkcji listy dla, input ponieważ wyrażenie jest przypisane do właściwości zasobów.When used with property iteration, you can use the list functions for input because the expression is assigned to the resource property. Nie można ich używać z, count ponieważ należy określić liczbę przed rozliczeniem funkcji listy.You can't use them with count because the count must be determined before the list function is resolved.

ImplementacjeImplementations

W poniższej tabeli przedstawiono możliwe zastosowania list *.The possible uses of list* are shown in the following table.

Typ zasobuResource type Nazwa funkcjiFunction name
Microsoft. Dodatki/supportProvidersMicrosoft.Addons/supportProviders listsupportplaninfolistsupportplaninfo
Microsoft. AnalysisServices/serweryMicrosoft.AnalysisServices/servers listGatewayStatuslistGatewayStatus
Microsoft. ApiManagement/Service/authorizationServersMicrosoft.ApiManagement/service/authorizationServers listSecretslistSecrets
Microsoft. ApiManagement/Service/GatewaysMicrosoft.ApiManagement/service/gateways listKeyslistKeys
Microsoft. ApiManagement/Service/skojarzeniMicrosoft.ApiManagement/service/identityProviders listSecretslistSecrets
Microsoft. ApiManagement/Service/namedValuesMicrosoft.ApiManagement/service/namedValues Wartość listylistValue
Microsoft. ApiManagement/Service/openidConnectProvidersMicrosoft.ApiManagement/service/openidConnectProviders listSecretslistSecrets
Microsoft. AppConfiguration/configurationStoresMicrosoft.AppConfiguration/configurationStores ListKeysListKeys
Microsoft. AppPlatform/SprężynaMicrosoft.AppPlatform/Spring listTestKeyslistTestKeys
Microsoft. Automation/automationAccountsMicrosoft.Automation/automationAccounts listKeyslistKeys
Microsoft.Batch/batchAccountsMicrosoft.Batch/batchAccounts listkeyslistkeys
Microsoft.BatchAI/obszary robocze/eksperymenty/zadaniaMicrosoft.BatchAI/workspaces/experiments/jobs listoutputfileslistoutputfiles
Microsoft. łańcucha bloków/blockchainMembersMicrosoft.Blockchain/blockchainMembers listApiKeyslistApiKeys
Microsoft. łańcucha bloków/blockchainMembers/transactionNodesMicrosoft.Blockchain/blockchainMembers/transactionNodes listApiKeyslistApiKeys
Microsoft. BotService/botServices/ChannelsMicrosoft.BotService/botServices/channels listChannelWithKeyslistChannelWithKeys
Microsoft. cache/RedisMicrosoft.Cache/redis listKeyslistKeys
Microsoft. CognitiveServices/kontaMicrosoft.CognitiveServices/accounts listKeyslistKeys
Microsoft. ContainerRegistry/rejestryMicrosoft.ContainerRegistry/registries listBuildSourceUploadUrllistBuildSourceUploadUrl
Microsoft. ContainerRegistry/rejestryMicrosoft.ContainerRegistry/registries listCredentialslistCredentials
Microsoft. ContainerRegistry/rejestryMicrosoft.ContainerRegistry/registries listUsageslistUsages
Microsoft. ContainerRegistry/rejestry/agentpoolsMicrosoft.ContainerRegistry/registries/agentpools listQueueStatuslistQueueStatus
Microsoft. ContainerRegistry/rejestry/buildTasksMicrosoft.ContainerRegistry/registries/buildTasks listSourceRepositoryPropertieslistSourceRepositoryProperties
Microsoft. ContainerRegistry/rejestry/buildTasks/krokiMicrosoft.ContainerRegistry/registries/buildTasks/steps listBuildArgumentslistBuildArguments
Microsoft. ContainerRegistry/rejestry/taskrunsMicrosoft.ContainerRegistry/registries/taskruns listDetailslistDetails
Microsoft. ContainerRegistry/rejestry/elementy webhookMicrosoft.ContainerRegistry/registries/webhooks listEventslistEvents
Microsoft. ContainerRegistry/rejestry/uruchomieniaMicrosoft.ContainerRegistry/registries/runs listLogSasUrllistLogSasUrl
Microsoft. ContainerRegistry/rejestry/zadaniaMicrosoft.ContainerRegistry/registries/tasks listDetailslistDetails
Microsoft. ContainerService/managedClustersMicrosoft.ContainerService/managedClusters listClusterAdminCredentiallistClusterAdminCredential
Microsoft. ContainerService/managedClustersMicrosoft.ContainerService/managedClusters listClusterMonitoringUserCredentiallistClusterMonitoringUserCredential
Microsoft. ContainerService/managedClustersMicrosoft.ContainerService/managedClusters listClusterUserCredentiallistClusterUserCredential
Microsoft. ContainerService/managedClusters/accessProfilesMicrosoft.ContainerService/managedClusters/accessProfiles listCredentiallistCredential
Microsoft. DataBox/zadaniaMicrosoft.DataBox/jobs listCredentialslistCredentials
Microsoft. DataFactory/datafactors/GatewaysMicrosoft.DataFactory/datafactories/gateways listauthkeyslistauthkeys
Microsoft. DataFactory/Factors/integrationruntimesMicrosoft.DataFactory/factories/integrationruntimes listauthkeyslistauthkeys
Microsoft. DataLakeAnalytics/accounts/storageAccounts/ContainersMicrosoft.DataLakeAnalytics/accounts/storageAccounts/Containers listSasTokenslistSasTokens
Microsoft. dataudział/konta/udziałyMicrosoft.DataShare/accounts/shares listSynchronizationslistSynchronizations
Microsoft. datashare/accounts/shareSubscriptionsMicrosoft.DataShare/accounts/shareSubscriptions listSourceShareSynchronizationSettingslistSourceShareSynchronizationSettings
Microsoft. datashare/accounts/shareSubscriptionsMicrosoft.DataShare/accounts/shareSubscriptions listSynchronizationDetailslistSynchronizationDetails
Microsoft. datashare/accounts/shareSubscriptionsMicrosoft.DataShare/accounts/shareSubscriptions listSynchronizationslistSynchronizations
Microsoft. Devices/iotHubsMicrosoft.Devices/iotHubs listkeyslistkeys
Microsoft. Devices/iotHubs/iotHubKeysMicrosoft.Devices/iotHubs/iotHubKeys listkeyslistkeys
Microsoft. Devices/provisioningServices/kluczeMicrosoft.Devices/provisioningServices/keys listkeyslistkeys
Microsoft. Devices/provisioningServicesMicrosoft.Devices/provisioningServices listkeyslistkeys
Microsoft. wspólny/laboratoriaMicrosoft.DevTestLab/labs ListVhdsListVhds
Microsoft. wspólny/Labs/harmonogramyMicrosoft.DevTestLab/labs/schedules ListApplicableListApplicable
Microsoft. wspólny/Labs/użytkownicy/servicefabricsMicrosoft.DevTestLab/labs/users/serviceFabrics ListApplicableSchedulesListApplicableSchedules
Microsoft. wspólny/Labs/virtualMachinesMicrosoft.DevTestLab/labs/virtualMachines ListApplicableSchedulesListApplicableSchedules
Microsoft.DocumentDB/databaseAccountsMicrosoft.DocumentDB/databaseAccounts listConnectionStringslistConnectionStrings
Microsoft.DocumentDB/databaseAccountsMicrosoft.DocumentDB/databaseAccounts listKeyslistKeys
Microsoft.DocumentDB/databaseAccounts/notebookWorkspacesMicrosoft.DocumentDB/databaseAccounts/notebookWorkspaces listConnectionInfolistConnectionInfo
Microsoft. DomainRegistrationMicrosoft.DomainRegistration listDomainRecommendationslistDomainRecommendations
Microsoft. DomainRegistration/topLevelDomainsMicrosoft.DomainRegistration/topLevelDomains listAgreementslistAgreements
Microsoft. EventGrid/domenyMicrosoft.EventGrid/domains listKeyslistKeys
Microsoft. EventGrid/tematyMicrosoft.EventGrid/topics listKeyslistKeys
Microsoft. EventHub/przestrzenie nazw/reguł autoryzacjiMicrosoft.EventHub/namespaces/authorizationRules listkeyslistkeys
Microsoft. EventHub/przestrzenie nazw/disasterRecoveryConfigs/reguł autoryzacjiMicrosoft.EventHub/namespaces/disasterRecoveryConfigs/authorizationRules listkeyslistkeys
Microsoft. EventHub/przestrzenie nazw/eventhubs/reguł autoryzacjiMicrosoft.EventHub/namespaces/eventhubs/authorizationRules listkeyslistkeys
Microsoft. ImportExport/zadaniaMicrosoft.ImportExport/jobs listBitLockerKeyslistBitLockerKeys
Microsoft. Kusto/klastry/bazy danychMicrosoft.Kusto/Clusters/Databases ListPrincipalsListPrincipals
Microsoft. LabServices/użytkownicyMicrosoft.LabServices/users ListEnvironmentsListEnvironments
Microsoft. LabServices/użytkownicyMicrosoft.LabServices/users ListLabsListLabs
Microsoft. Logic/integrationAccounts/umowyMicrosoft.Logic/integrationAccounts/agreements listContentCallbackUrllistContentCallbackUrl
Microsoft. Logic/integrationAccounts/zestawyMicrosoft.Logic/integrationAccounts/assemblies listContentCallbackUrllistContentCallbackUrl
Microsoft. Logic/integrationAccountsMicrosoft.Logic/integrationAccounts listCallbackUrllistCallbackUrl
Microsoft. Logic/integrationAccountsMicrosoft.Logic/integrationAccounts listKeyVaultKeyslistKeyVaultKeys
Microsoft. Logic/integrationAccounts/MapsMicrosoft.Logic/integrationAccounts/maps listContentCallbackUrllistContentCallbackUrl
Microsoft. Logic/integrationAccounts/partnerzyMicrosoft.Logic/integrationAccounts/partners listContentCallbackUrllistContentCallbackUrl
Microsoft. Logic/integrationAccounts/schematyMicrosoft.Logic/integrationAccounts/schemas listContentCallbackUrllistContentCallbackUrl
Microsoft. Logic/przepływy pracyMicrosoft.Logic/workflows listCallbackUrllistCallbackUrl
Microsoft. Logic/przepływy pracyMicrosoft.Logic/workflows listSwaggerlistSwagger
Microsoft. Logic/przepływy pracy/uruchomienia/akcjeMicrosoft.Logic/workflows/runs/actions listExpressionTraceslistExpressionTraces
Microsoft. Logic/przepływy pracy/uruchomienia/akcje/powtórzeniaMicrosoft.Logic/workflows/runs/actions/repetitions listExpressionTraceslistExpressionTraces
Microsoft. Logic/przepływy pracy/wyzwalaczeMicrosoft.Logic/workflows/triggers listCallbackUrllistCallbackUrl
Microsoft. Logic/przepływy pracy/wersje/wyzwalaczeMicrosoft.Logic/workflows/versions/triggers listCallbackUrllistCallbackUrl
Microsoft. MachineLearning/WebServicesMicrosoft.MachineLearning/webServices listkeyslistkeys
Microsoft. MachineLearning/obszary roboczeMicrosoft.MachineLearning/Workspaces listworkspacekeyslistworkspacekeys
Microsoft. MachineLearningServices/obszary robocze/obliczeniaMicrosoft.MachineLearningServices/workspaces/computes listKeyslistKeys
Microsoft. MachineLearningServices/obszary robocze/obliczeniaMicrosoft.MachineLearningServices/workspaces/computes listNodeslistNodes
Microsoft. MachineLearningServices/obszary roboczeMicrosoft.MachineLearningServices/workspaces listKeyslistKeys
Microsoft. Maps/kontaMicrosoft.Maps/accounts listKeyslistKeys
Microsoft. Media/MediaServices/zasobyMicrosoft.Media/mediaservices/assets listContainerSaslistContainerSas
Microsoft. Media/MediaServices/zasobyMicrosoft.Media/mediaservices/assets listStreamingLocatorslistStreamingLocators
Microsoft. Media/MediaServices/streamingLocatorsMicrosoft.Media/mediaservices/streamingLocators listContentKeyslistContentKeys
Microsoft. Media/MediaServices/streamingLocatorsMicrosoft.Media/mediaservices/streamingLocators listPathslistPaths
Microsoft. Network/applicationSecurityGroupsMicrosoft.Network/applicationSecurityGroups listIpConfigurationslistIpConfigurations
Microsoft. NotificationHubs/przestrzenie nazw/reguł autoryzacjiMicrosoft.NotificationHubs/Namespaces/authorizationRules listkeyslistkeys
Microsoft. NotificationHubs/Namespaces/NotificationHubs/reguł autoryzacjiMicrosoft.NotificationHubs/Namespaces/NotificationHubs/authorizationRules listkeyslistkeys
Microsoft. OperationalInsights/obszary roboczeMicrosoft.OperationalInsights/workspaces listlist
Microsoft. OperationalInsights/obszary roboczeMicrosoft.OperationalInsights/workspaces listKeyslistKeys
Microsoft. PolicyInsights/korygowaniaMicrosoft.PolicyInsights/remediations listDeploymentslistDeployments
Microsoft. RedHatOpenShift/openShiftClustersMicrosoft.RedHatOpenShift/openShiftClusters listCredentialslistCredentials
Microsoft. Relay/przestrzenie nazw/reguł autoryzacjiMicrosoft.Relay/namespaces/authorizationRules listkeyslistkeys
Microsoft. Relay/przestrzenie nazw/disasterRecoveryConfigs/reguł autoryzacjiMicrosoft.Relay/namespaces/disasterRecoveryConfigs/authorizationRules listkeyslistkeys
Microsoft. Relay/przestrzenie nazw/HybridConnections/reguł autoryzacjiMicrosoft.Relay/namespaces/HybridConnections/authorizationRules listkeyslistkeys
Microsoft. Relay/przestrzenie nazw/WcfRelays/reguł autoryzacjiMicrosoft.Relay/namespaces/WcfRelays/authorizationRules listkeyslistkeys
Microsoft. Search/searchServicesMicrosoft.Search/searchServices listAdminKeyslistAdminKeys
Microsoft. Search/searchServicesMicrosoft.Search/searchServices listQueryKeyslistQueryKeys
Microsoft. ServiceBus/przestrzenie nazw/reguł autoryzacjiMicrosoft.ServiceBus/namespaces/authorizationRules listkeyslistkeys
Microsoft. ServiceBus/Namespaces/disasterRecoveryConfigs/reguł autoryzacjiMicrosoft.ServiceBus/namespaces/disasterRecoveryConfigs/authorizationRules listkeyslistkeys
Microsoft. ServiceBus/przestrzenie nazw/kolejki/reguł autoryzacjiMicrosoft.ServiceBus/namespaces/queues/authorizationRules listkeyslistkeys
Microsoft. ServiceBus/przestrzenie nazw/tematy/reguł autoryzacjiMicrosoft.ServiceBus/namespaces/topics/authorizationRules listkeyslistkeys
Microsoft. SignalRService/sygnalizującyMicrosoft.SignalRService/SignalR listkeyslistkeys
Microsoft. Storage/storageAccountsMicrosoft.Storage/storageAccounts listAccountSaslistAccountSas
Microsoft. Storage/storageAccountsMicrosoft.Storage/storageAccounts listkeyslistkeys
Microsoft. Storage/storageAccountsMicrosoft.Storage/storageAccounts listServiceSaslistServiceSas
Microsoft. StorSimple/menedżerowie/urządzeniaMicrosoft.StorSimple/managers/devices listFailoverSetslistFailoverSets
Microsoft. StorSimple/menedżerowie/urządzeniaMicrosoft.StorSimple/managers/devices listFailoverTargetslistFailoverTargets
Microsoft. StorSimple/menedżerowieMicrosoft.StorSimple/managers listActivationKeylistActivationKey
Microsoft. StorSimple/menedżerowieMicrosoft.StorSimple/managers listPublicEncryptionKeylistPublicEncryptionKey
Microsoft. Synapse/Workspaces/integrationRuntimesMicrosoft.Synapse/workspaces/integrationRuntimes listAuthKeyslistAuthKeys
Microsoft. Web/connectionGatewaysMicrosoft.Web/connectionGateways ListStatusListStatus
Microsoft. Web/Connectionsmicrosoft.web/connections listconsentlinkslistconsentlinks
Microsoft. Web/customApisMicrosoft.Web/customApis listWsdlInterfaceslistWsdlInterfaces
Microsoft. Web/lokalizacjemicrosoft.web/locations listwsdlinterfaceslistwsdlinterfaces
Microsoft. Web/apimanagementaccounts/interfejsy API/połączeniamicrosoft.web/apimanagementaccounts/apis/connections listconnectionkeyslistconnectionkeys
Microsoft. Web/apimanagementaccounts/interfejsy API/połączeniamicrosoft.web/apimanagementaccounts/apis/connections listsecretslistsecrets
Microsoft. Web/Sites/kopie zapasowemicrosoft.web/sites/backups listlist
Microsoft. Web/Sites/configMicrosoft.Web/sites/config listlist
Microsoft. Web/Sites/Functionsmicrosoft.web/sites/functions listkeyslistkeys
Microsoft. Web/Sites/Functionsmicrosoft.web/sites/functions listsecretslistsecrets
Microsoft. Web/Sites/hybridconnectionnamespaces/Przekaźnikimicrosoft.web/sites/hybridconnectionnamespaces/relays listkeyslistkeys
Microsoft. Web/witrynymicrosoft.web/sites listsyncfunctiontriggerstatuslistsyncfunctiontriggerstatus
Microsoft. Web/Sites/Slots/Functionsmicrosoft.web/sites/slots/functions listsecretslistsecrets
Microsoft. Web/Sites/gniazda/kopie zapasowemicrosoft.web/sites/slots/backups listlist
Microsoft. Web/Sites/szczeliny/konfiguracjaMicrosoft.Web/sites/slots/config listlist
Microsoft. Web/Sites/Slots/Functionsmicrosoft.web/sites/slots/functions listsecretslistsecrets

Aby określić, które typy zasobów mają operację listy, dostępne są następujące opcje:To determine which resource types have a list operation, you have the following options:

  • Wyświetlanie operacji interfejsu API REST dla dostawcy zasobów i wyszukiwanie list operacji.View the REST API operations for a resource provider, and look for list operations. Na przykład konta magazynu mają operację listKeys.For example, storage accounts have the listKeys operation.

  • Użyj polecenia cmdlet programu PowerShell Get-AzProviderOperation .Use the Get-AzProviderOperation PowerShell cmdlet. Poniższy przykład pobiera wszystkie operacje na listach dla kont magazynu:The following example gets all list operations for storage accounts:

    Get-AzProviderOperation -OperationSearchString "Microsoft.Storage/*" | where {$_.Operation -like "*list*"} | FT Operation
    
  • Następujące polecenie interfejsu wiersza polecenia platformy Azure służy do filtrowania tylko operacji na listach:Use the following Azure CLI command to filter only the list operations:

    az provider operation show --namespace Microsoft.Storage --query "resourceTypes[?name=='storageAccounts'].operations[].name | [?contains(@, 'list')]"
    

Wartość zwracanaReturn value

Zwrócony obiekt różni się w zależności od używanej funkcji list.The returned object varies by the list function you use. Na przykład listKeys dla konta magazynu zwraca następujący format:For example, the listKeys for a storage account returns the following format:

{
  "keys": [
    {
      "keyName": "key1",
      "permissions": "Full",
      "value": "{value}"
    },
    {
      "keyName": "key2",
      "permissions": "Full",
      "value": "{value}"
    }
  ]
}

Inne funkcje list mają różne formaty Return.Other list functions have different return formats. Aby wyświetlić format funkcji, należy dołączyć ją w sekcji dane wyjściowe, jak pokazano w przykładowym szablonie.To see the format of a function, include it in the outputs section as shown in the example template.

UwagiRemarks

Określ zasób przy użyciu nazwy zasobu lub funkcji ResourceID.Specify the resource by using either the resource name or the resourceId function. W przypadku używania funkcji list w tym samym szablonie, który wdraża przywoływany zasób, należy użyć nazwy zasobu.When using a list function in the same template that deploys the referenced resource, use the resource name.

Jeśli używasz funkcji list w zasobie, który jest wdrażany warunkowo, funkcja zostanie oceniona, nawet jeśli zasób nie zostanie wdrożony.If you use a list function in a resource that is conditionally deployed, the function is evaluated even if the resource isn't deployed. Występuje błąd, jeśli funkcja list odwołuje się do zasobu, który nie istnieje.You get an error if the list function refers to a resource that doesn't exist. Użyj funkcji if , aby upewnić się, że funkcja jest obliczana tylko wtedy, gdy zasób jest wdrażany.Use the if function to make sure the function is only evaluated when the resource is being deployed. Zobacz funkcję if , aby zapoznać się z przykładowym szablonem, który używa elementu if i z użyciem warunkowo wdrożonego zasobu.See the if function for a sample template that uses if and list with a conditionally deployed resource.

Przykład listyList example

Poniższy przykład używa listKeys podczas ustawiania wartości dla skryptów wdrażania.The following example uses listKeys when setting a value for deployment scripts.

"storageAccountSettings": {
    "storageAccountName": "[variables('storageAccountName')]",
    "storageAccountKey": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName')), '2019-06-01').keys[0].value]"
}

W następnym przykładzie pokazano funkcję listy, która przyjmuje parametr.The next example shows a list function that takes a parameter. W takim przypadku funkcja jest listAccountSas.In this case, the function is listAccountSas. Przekaż obiekt przez czas wygaśnięcia.Pass an object for the expiry time. Czas wygaśnięcia musi przypadać w przyszłości.The expiry time must be in the future.

"parameters": {
    "accountSasProperties": {
        "type": "object",
        "defaultValue": {
            "signedServices": "b",
            "signedPermission": "r",
            "signedExpiry": "2020-08-20T11:00:00Z",
            "signedResourceTypes": "s"
        }
    }
},
...
"sasToken": "[listAccountSas(parameters('storagename'), '2018-02-01', parameters('accountSasProperties')).accountSasToken]"

pickZonespickZones

pickZones(providerNamespace, resourceType, location, [numberOfZones], [offset])

Określa, czy typ zasobu obsługuje strefy dla regionu.Determines whether a resource type supports zones for a region.

ParametryParameters

ParametrParameter WymaganeRequired TypType OpisDescription
providerNamespaceproviderNamespace TakYes ciągstring Przestrzeń nazw dostawcy zasobów dla typu zasobu, aby sprawdzić obsługę strefy.The resource provider namespace for the resource type to check for zone support.
resourceTyperesourceType TakYes ciągstring Typ zasobu służący do sprawdzania obsługi strefy.The resource type to check for zone support.
locationlocation TakYes ciągstring Region, w którym ma zostać wyszukana obsługa strefy.The region to check for zone support.
numberOfZonesnumberOfZones NieNo liczba całkowitainteger Liczba stref logicznych do zwrócenia.The number of logical zones to return. Wartość domyślna to 1.The default is 1. Liczba musi być dodatnią liczbą całkowitą z przedziału od 1 do 3.The number must a positive integer from 1 to 3. W przypadku zasobów z jedną strefą Użyj wartości 1.Use 1 for single-zoned resources. W przypadku zasobów z obsługą wielu stref wartość musi być mniejsza lub równa liczbie obsługiwanych stref.For multi-zoned resources, the value must be less than or equal to the number of supported zones.
przesunięcieoffset NieNo liczba całkowitainteger Przesunięcie od początkowej strefy logicznej.The offset from the starting logical zone. Funkcja zwraca błąd, jeśli Offset plus numberOfZones przekracza liczbę obsługiwanych stref.The function returns an error if offset plus numberOfZones exceeds the number of supported zones.

Wartość zwracanaReturn value

Tablica z obsługiwanymi strefami.An array with the supported zones. W przypadku używania wartości domyślnych dla przesunięcia i numberOfZones, typ zasobu i region obsługujący strefy zwracają następującą tablicę:When using the default values for offset and numberOfZones, a resource type and region that supports zones returns the following array:

[
    "1"
]

Gdy numberOfZones parametr jest ustawiony na 3, zwraca:When the numberOfZones parameter is set to 3, it returns:

[
    "1",
    "2",
    "3"
]

Gdy typ zasobu lub region nie obsługuje stref, zwracana jest pusta tablica.When the resource type or region doesn't support zones, an empty array is returned.

[
]

przykład pickZonespickZones example

Poniższy szablon przedstawia trzy wyniki przy użyciu funkcji pickZones.The following template shows three results for using the pickZones function.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {},
    "functions": [],
    "variables": {},
    "resources": [],
    "outputs": {
        "supported": {
            "type": "array",
            "value": "[pickZones('Microsoft.Compute', 'virtualMachines', 'westus2')]"
        },
        "notSupportedRegion": {
            "type": "array",
            "value": "[pickZones('Microsoft.Compute', 'virtualMachines', 'northcentralus')]"
        },
        "notSupportedType": {
            "type": "array",
            "value": "[pickZones('Microsoft.Cdn', 'profiles', 'westus2')]"
        }
    }
}

Dane wyjściowe z powyższych przykładów zwracają trzy tablice.The output from the preceding examples returns three arrays.

NazwaName TypType WartośćValue
Obsługiwanesupported arrayarray ["1"][ "1" ]
notSupportedRegionnotSupportedRegion arrayarray [][]
notSupportedTypenotSupportedType arrayarray [][]

Możesz użyć odpowiedzi z pickZones, aby określić, czy podać wartość null dla stref lub przypisać maszyny wirtualne do różnych stref.You can use the response from pickZones to determine whether to provide null for zones or assign virtual machines to different zones. Poniższy przykład ustawia wartość dla strefy na podstawie dostępności stref.The following example sets a value for the zone based on the availability of zones.

"zones": {
    "value": "[if(not(empty(pickZones('Microsoft.Compute', 'virtualMachines', 'westus2'))), string(add(mod(copyIndex(),3),1)), json('null'))]"
},

dostawcówproviders

providers(providerNamespace, [resourceType])

Zwraca informacje o dostawcy zasobów i jego obsługiwanych typach zasobów.Returns information about a resource provider and its supported resource types. Jeśli nie podano typu zasobu, funkcja zwraca wszystkie obsługiwane typy dla dostawcy zasobów.If you don't provide a resource type, the function returns all the supported types for the resource provider.

ParametryParameters

ParametrParameter WymaganeRequired TypType OpisDescription
providerNamespaceproviderNamespace TakYes ciągstring Przestrzeń nazw dostawcyNamespace of the provider
resourceTyperesourceType NieNo ciągstring Typ zasobu w określonym obszarze nazw.The type of resource within the specified namespace.

Wartość zwracanaReturn value

Każdy obsługiwany typ jest zwracany w następującym formacie:Each supported type is returned in the following format:

{
    "resourceType": "{name of resource type}",
    "locations": [ all supported locations ],
    "apiVersions": [ all supported API versions ]
}

Kolejność tablic dla zwracanych wartości nie jest gwarantowana.Array ordering of the returned values isn't guaranteed.

Przykład dostawcyProviders example

Poniższy przykładowy szablon pokazuje, jak używać funkcji dostawcy:The following example template shows how to use the provider function:

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "providerNamespace": {
            "type": "string"
        },
        "resourceType": {
            "type": "string"
        }
    },
    "resources": [],
    "outputs": {
        "providerOutput": {
            "value": "[providers(parameters('providerNamespace'), parameters('resourceType'))]",
            "type" : "object"
        }
    }
}

W przypadku zasobu dostawcy zasobów Microsoft. Web i typu witryny powyższy przykład zwraca obiekt w następującym formacie:For the Microsoft.Web resource provider and sites resource type, the preceding example returns an object in the following format:

{
  "resourceType": "sites",
  "locations": [
    "South Central US",
    "North Europe",
    "West Europe",
    "Southeast Asia",
    ...
  ],
  "apiVersions": [
    "2016-08-01",
    "2016-03-01",
    "2015-08-01-preview",
    "2015-08-01",
    ...
  ]
}

referencereference

reference(resourceName or resourceIdentifier, [apiVersion], ['Full'])

Zwraca obiekt reprezentujący stan środowiska uruchomieniowego zasobu.Returns an object representing a resource's runtime state.

ParametryParameters

ParametrParameter WymaganeRequired TypType OpisDescription
resourceName lub resourceIdentifierresourceName or resourceIdentifier TakYes ciągstring Nazwa lub unikatowy identyfikator zasobu.Name or unique identifier of a resource. W przypadku odwoływania się do zasobu w bieżącym szablonie podaj tylko nazwę zasobu jako parametr.When referencing a resource in the current template, provide only the resource name as a parameter. W przypadku odwoływania się do wcześniej wdrożonego zasobu lub gdy nazwa zasobu jest niejednoznaczna, podaj identyfikator zasobu.When referencing a previously deployed resource or when the name of the resource is ambiguous, provide the resource ID.
apiVersionapiVersion NieNo ciągstring Wersja interfejsu API określonego zasobu.API version of the specified resource. Ten parametr jest wymagany, jeśli zasób nie jest obsługiwany w ramach tego samego szablonu.This parameter is required when the resource isn't provisioned within same template. Zwykle w formacie rrrr-mm-dd.Typically, in the format, yyyy-mm-dd. Aby uzyskać prawidłowe wersje interfejsu API dla zasobu, zobacz Dokumentacja szablonu.For valid API versions for your resource, see template reference.
Szczegółowe'Full' NieNo ciągstring Wartość określająca, czy ma zostać zwrócony pełny obiekt zasobów.Value that specifies whether to return the full resource object. Jeśli nie zostanie określony 'Full' , zwracany jest tylko obiekt właściwości zasobu.If you don't specify 'Full', only the properties object of the resource is returned. Pełny obiekt zawiera wartości, takie jak identyfikator zasobu i lokalizacja.The full object includes values such as the resource ID and location.

Wartość zwracanaReturn value

Każdy typ zasobu zwraca różne właściwości funkcji Reference.Every resource type returns different properties for the reference function. Funkcja nie zwraca pojedynczego, wstępnie zdefiniowanego formatu.The function doesn't return a single, predefined format. Ponadto zwracana wartość różni się w zależności od wartości 'Full' argumentu.Also, the returned value differs based on the value of the 'Full' argument. Aby wyświetlić właściwości typu zasobu, zwróć obiekt w sekcji dane wyjściowe, jak pokazano w przykładzie.To see the properties for a resource type, return the object in the outputs section as shown in the example.

UwagiRemarks

Funkcja Reference Pobiera stan środowiska uruchomieniowego wcześniej wdrożonego zasobu lub zasobu wdrożonego w bieżącym szablonie.The reference function retrieves the runtime state of either a previously deployed resource or a resource deployed in the current template. W tym artykule przedstawiono przykłady dla obu scenariuszy.This article shows examples for both scenarios.

Zwykle funkcja Reference służy do zwracania określonej wartości z obiektu, takiego jak identyfikator URI punktu końcowego obiektu BLOB lub w pełni kwalifikowana nazwa domeny.Typically, you use the reference function to return a particular value from an object, such as the blob endpoint URI or fully qualified domain name.

"outputs": {
    "BlobUri": {
        "value": "[reference(resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))).primaryEndpoints.blob]",
        "type" : "string"
    },
    "FQDN": {
        "value": "[reference(resourceId('Microsoft.Network/publicIPAddresses', parameters('ipAddressName'))).dnsSettings.fqdn]",
        "type" : "string"
    }
}

Użyj, 'Full' gdy potrzebujesz wartości zasobów, które nie są częścią schematu właściwości.Use 'Full' when you need resource values that aren't part of the properties schema. Na przykład aby ustawić zasady dostępu do magazynu kluczy, Pobierz właściwości tożsamości dla maszyny wirtualnej.For example, to set key vault access policies, get the identity properties for a virtual machine.

{
  "type": "Microsoft.KeyVault/vaults",
  "properties": {
    "tenantId": "[subscription().tenantId]",
    "accessPolicies": [
      {
        "tenantId": "[reference(resourceId('Microsoft.Compute/virtualMachines', variables('vmName')), '2019-03-01', 'Full').identity.tenantId]",
        "objectId": "[reference(resourceId('Microsoft.Compute/virtualMachines', variables('vmName')), '2019-03-01', 'Full').identity.principalId]",
        "permissions": {
          "keys": [
            "all"
          ],
          "secrets": [
            "all"
          ]
        }
      }
    ],
    ...

Prawidłowe zastosowaniaValid uses

Funkcji Reference można używać tylko we właściwościach definicji zasobu i sekcji Output szablonu lub wdrożenia.The reference function can only be used in the properties of a resource definition and the outputs section of a template or deployment. Gdy jest używany z iteracją właściwości, można użyć funkcji Reference dla, input ponieważ wyrażenie jest przypisane do właściwości Resource.When used with property iteration, you can use the reference function for input because the expression is assigned to the resource property.

Nie można użyć funkcji Reference do ustawienia wartości count właściwości w pętli kopiowania.You can't use the reference function to set the value of the count property in a copy loop. Można użyć, aby ustawić inne właściwości w pętli.You can use to set other properties in the loop. Odwołanie jest blokowane dla właściwości count, ponieważ ta właściwość musi zostać określona przed rozwiązanym funkcją referencyjną.Reference is blocked for the count property because that property must be determined before the reference function is resolved.

Aby użyć funkcji Reference lub dowolnej funkcji list * w sekcji Output (dane wyjściowe) szablonu, należy ustawić expressionEvaluationOptions do używania wewnętrznej oceny zakresu lub użyć połączone zamiast szablonu zagnieżdżonego.To use the reference function or any list* function in the outputs section of a nested template, you must set the expressionEvaluationOptions to use inner scope evaluation or use a linked instead of a nested template.

Jeśli używasz funkcji Reference w zasobie, który jest wdrażany warunkowo, funkcja jest oceniana, nawet jeśli zasób nie zostanie wdrożony.If you use the reference function in a resource that is conditionally deployed, the function is evaluated even if the resource isn't deployed. Występuje błąd, jeśli funkcja referencyjna odwołuje się do zasobu, który nie istnieje.You get an error if the reference function refers to a resource that doesn't exist. Użyj funkcji if , aby upewnić się, że funkcja jest obliczana tylko wtedy, gdy zasób jest wdrażany.Use the if function to make sure the function is only evaluated when the resource is being deployed. Zobacz funkcję if , aby zapoznać się z przykładowym szablonem, który używa if i Reference z wdrożonym warunkowo zasobem.See the if function for a sample template that uses if and reference with a conditionally deployed resource.

Niejawna zależnośćImplicit dependency

Za pomocą funkcji Reference, niejawnie deklaruje, że jeden zasób zależy od innego zasobu, jeśli zasób, do którego się odwoływano, jest inicjowany w ramach tego samego szablonu i odwołujesz się do zasobu według jego nazwy (nie identyfikatora zasobu).By using the reference function, you implicitly declare that one resource depends on another resource if the referenced resource is provisioned within same template and you refer to the resource by its name (not resource ID). Nie trzeba również używać właściwości dependsOn.You don't need to also use the dependsOn property. Funkcja nie jest szacowana do momentu zakończenia wdrożenia zasobu, do którego się odwoływano.The function isn't evaluated until the referenced resource has completed deployment.

Nazwa lub identyfikator zasobuResource name or identifier

W przypadku odwoływania się do zasobu, który jest wdrożony w tym samym szablonie, podaj nazwę zasobu.When referencing a resource that is deployed in the same template, provide the name of the resource.

"value": "[reference(parameters('storageAccountName'))]"

W przypadku odwoływania się do zasobu, który nie jest wdrożony w tym samym szablonie, podaj identyfikator zasobu i apiVersion .When referencing a resource that isn't deployed in the same template, provide the resource ID and apiVersion.

"value": "[reference(resourceId(parameters('storageResourceGroup'), 'Microsoft.Storage/storageAccounts', parameters('storageAccountName')), '2018-07-01')]"

Aby uniknąć niejednoznaczności, do której odwołuje się zasób, można podać w pełni kwalifikowany identyfikator zasobu.To avoid ambiguity about which resource you're referencing, you can provide a fully qualified resource identifier.

"value": "[reference(resourceId('Microsoft.Network/publicIPAddresses', parameters('ipAddressName')))]"

W przypadku konstruowania w pełni kwalifikowanego odwołania do zasobu kolejność łączenia segmentów z typu i nazwy nie jest po prostu połączeniem obu.When constructing a fully qualified reference to a resource, the order to combine segments from the type and name isn't simply a concatenation of the two. Zamiast tego, po przestrzeni nazw, należy użyć sekwencji par typu/nazwa od najmniej określonych do najbardziej szczegółowych:Instead, after the namespace, use a sequence of type/name pairs from least specific to most specific:

{Resource-Provider-Namespace}/{Parent-Resource-Type}/{Parent-Resource-Name} [/{Child-Resource-Type}/{Child-resource-name}]{resource-provider-namespace}/{parent-resource-type}/{parent-resource-name}[/{child-resource-type}/{child-resource-name}]

Na przykład:For example:

Microsoft.Compute/virtualMachines/myVM/extensions/myExt``Microsoft.Compute/virtualMachines/extensions/myVM/myExtjest niepoprawnyMicrosoft.Compute/virtualMachines/myVM/extensions/myExt is correct Microsoft.Compute/virtualMachines/extensions/myVM/myExt is not correct

Aby uprościć tworzenie dowolnego identyfikatora zasobu, użyj resourceId() funkcji opisanych w tym dokumencie zamiast concat() funkcji.To simplify the creation of any resource ID, use the resourceId() functions described in this document instead of the concat() function.

Pobierz tożsamość zarządzanąGet managed identity

Zarządzane tożsamości dla zasobów platformy Azure to typy zasobów rozszerzeń , które są tworzone niejawnie dla niektórych zasobów.Managed identities for Azure resources are extension resource types that are created implicitly for some resources. Ponieważ zarządzana tożsamość nie jest jawnie zdefiniowana w szablonie, należy odwołać się do zasobu, do którego jest stosowana tożsamość.Because the managed identity isn't explicitly defined in the template, you must reference the resource that the identity is applied to. Użyj Full , aby pobrać wszystkie właściwości, w tym niejawnie utworzoną tożsamość.Use Full to get all of the properties, including the implicitly created identity.

Wzorzec to:The pattern is:

"[reference(resourceId(<resource-provider-namespace>, <resource-name>, <API-version>, 'Full').Identity.propertyName]"

Aby na przykład uzyskać identyfikator podmiotu zabezpieczeń dla tożsamości zarządzanej, która jest zastosowana do maszyny wirtualnej, należy użyć:For example, to get the principal ID for a managed identity that is applied to a virtual machine, use:

"[reference(resourceId('Microsoft.Compute/virtualMachines', variables('vmName')),'2019-12-01', 'Full').identity.principalId]",

Lub, aby uzyskać identyfikator dzierżawy dla tożsamości zarządzanej, która została zastosowana do zestawu skalowania maszyn wirtualnych, użyj:Or, to get the tenant ID for a managed identity that is applied to a virtual machine scale set, use:

"[reference(resourceId('Microsoft.Compute/virtualMachineScaleSets',  variables('vmNodeType0Name')), 2019-12-01, 'Full').Identity.tenantId]"

Przykład odwołaniaReference example

Poniższy przykładowy szablon wdraża zasób i odwołuje się do tego zasobu.The following example template deploys a resource, and references that resource.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
      "storageAccountName": {
          "type": "string"
      }
  },
  "resources": [
    {
      "name": "[parameters('storageAccountName')]",
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2016-12-01",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "Storage",
      "location": "[resourceGroup().location]",
      "tags": {},
      "properties": {
      }
    }
  ],
  "outputs": {
      "referenceOutput": {
          "type": "object",
          "value": "[reference(parameters('storageAccountName'))]"
      },
      "fullReferenceOutput": {
        "type": "object",
        "value": "[reference(parameters('storageAccountName'), '2016-12-01', 'Full')]"
      }
    }
}

Powyższy przykład zwraca dwa obiekty.The preceding example returns the two objects. Obiekt właściwości ma następujący format:The properties object is in the following format:

{
   "creationTime": "2017-10-09T18:55:40.5863736Z",
   "primaryEndpoints": {
     "blob": "https://examplestorage.blob.core.windows.net/",
     "file": "https://examplestorage.file.core.windows.net/",
     "queue": "https://examplestorage.queue.core.windows.net/",
     "table": "https://examplestorage.table.core.windows.net/"
   },
   "primaryLocation": "southcentralus",
   "provisioningState": "Succeeded",
   "statusOfPrimary": "available",
   "supportsHttpsTrafficOnly": false
}

Pełny obiekt ma następujący format:The full object is in the following format:

{
  "apiVersion":"2016-12-01",
  "location":"southcentralus",
  "sku": {
    "name":"Standard_LRS",
    "tier":"Standard"
  },
  "tags":{},
  "kind":"Storage",
  "properties": {
    "creationTime":"2017-10-09T18:55:40.5863736Z",
    "primaryEndpoints": {
      "blob":"https://examplestorage.blob.core.windows.net/",
      "file":"https://examplestorage.file.core.windows.net/",
      "queue":"https://examplestorage.queue.core.windows.net/",
      "table":"https://examplestorage.table.core.windows.net/"
    },
    "primaryLocation":"southcentralus",
    "provisioningState":"Succeeded",
    "statusOfPrimary":"available",
    "supportsHttpsTrafficOnly":false
  },
  "subscriptionId":"<subscription-id>",
  "resourceGroupName":"functionexamplegroup",
  "resourceId":"Microsoft.Storage/storageAccounts/examplestorage",
  "referenceApiVersion":"2016-12-01",
  "condition":true,
  "isConditionTrue":true,
  "isTemplateResource":false,
  "isAction":false,
  "provisioningOperation":"Read"
}

Poniższy przykładowy szablon odwołuje się do konta magazynu, które nie zostało wdrożone w tym szablonie.The following example template references a storage account that isn't deployed in this template. Konto magazynu już istnieje w ramach tej samej subskrypcji.The storage account already exists within the same subscription.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "storageResourceGroup": {
            "type": "string"
        },
        "storageAccountName": {
            "type": "string"
        }
    },
    "resources": [],
    "outputs": {
        "ExistingStorage": {
            "value": "[reference(resourceId(parameters('storageResourceGroup'), 'Microsoft.Storage/storageAccounts', parameters('storageAccountName')), '2018-07-01')]",
            "type": "object"
        }
    }
}

resourceGroupresourceGroup

resourceGroup()

Zwraca obiekt, który reprezentuje bieżącą grupę zasobów.Returns an object that represents the current resource group.

Wartość zwracanaReturn value

Zwrócony obiekt ma następujący format:The returned object is in the following 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ść zarządzane jest zwracana tylko dla grup zasobów zawierających zasoby, które są zarządzane przez inną usługę.The managedBy property is returned only for resource groups that contain resources that are managed by another service. W przypadku aplikacji zarządzanych, datakostki i AKS wartość właściwości jest identyfikator zasobu zasobu zarządzania.For Managed Applications, Databricks, and AKS, the value of the property is the resource ID of the managing resource.

UwagiRemarks

resourceGroup()Nie można użyć funkcji w szablonie wdrożonym na poziomie subskrypcji.The resourceGroup() function can't be used in a template that is deployed at the subscription level. Może być używany tylko w szablonach wdrożonych w grupie zasobów.It can only be used in templates that are deployed to a resource group. 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 został wdrożony w subskrypcji.You can use the resourceGroup() function in a linked or nested template (with inner scope) that targets a resource group, even when the parent template is deployed to the subscription. W tym scenariuszu szablon połączony lub zagnieżdżony jest wdrażany na poziomie grupy zasobów.In that scenario, the linked or nested template is deployed at the resource group level. Aby uzyskać więcej informacji na temat określania docelowych grup zasobów w ramach wdrożenia na poziomie subskrypcji, zobacz wdrażanie zasobów platformy Azure w więcej niż jednej subskrypcji lub grupie zasobów.For more information about targeting a resource group in a subscription level deployment, see Deploy Azure resources to more than one subscription or resource group.

Typowym zastosowaniem funkcji resourceing jest utworzenie zasobów w tej samej lokalizacji co grupa zasobów.A common use of the resourceGroup function is to create resources in the same location as the resource group. Poniższy przykład używa lokalizacji grupy zasobów dla domyślnej wartości parametru.The following example uses the resource group location for a default parameter value.

"parameters": {
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    }
}

Można również użyć funkcji grupy zasobów, aby zastosować do zasobu Tagi ze źródła danych.You can also use the resourceGroup function to apply tags from the resource group to a resource. Aby uzyskać więcej informacji, zobacz stosowanie tagów z grupy zasobów.For more information, see Apply tags from resource group.

W przypadku użycia szablonów zagnieżdżonych do wdrożenia w wielu grupach zasobów można określić zakres oceniania funkcji ResourceManager.When using nested templates to deploy to multiple resource groups, you can specify the scope for evaluating the resourceGroup function. Aby uzyskać więcej informacji, zobacz wdrażanie zasobów platformy Azure w więcej niż jednej subskrypcji lub grupie zasobów.For more information, see Deploy Azure resources to more than one subscription or resource group.

Przykład grupy zasobówResource group example

Poniższy przykładowy szablon zwraca właściwości grupy zasobów.The following example template returns the properties of the resource group.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [],
    "outputs": {
        "resourceGroupOutput": {
            "value": "[resourceGroup()]",
            "type" : "object"
        }
    }
}

Poprzedni przykład zwraca obiekt w następującym formacie:The preceding example returns an object in the following format:

{
  "id": "/subscriptions/{subscription-id}/resourceGroups/examplegroup",
  "name": "examplegroup",
  "type":"Microsoft.Resources/resourceGroups",
  "location": "southcentralus",
  "properties": {
    "provisioningState": "Succeeded"
  }
}

resourceIdresourceId

resourceId([subscriptionId], [resourceGroupName], resourceType, resourceName1, [resourceName2], ...)

Zwraca unikatowy identyfikator zasobu.Returns the unique identifier of a resource. Ta funkcja jest używana, gdy nazwa zasobu jest niejednoznaczna lub nie została zainicjowana w ramach tego samego szablonu.You use this function when the resource name is ambiguous or not provisioned within the same template. Format zwróconego identyfikatora różni się w zależności od tego, czy wdrożenie występuje w zakresie grupy zasobów, subskrypcji, grupy zarządzania czy dzierżawcy.The format of the returned identifier varies based on whether the deployment happens at the scope of a resource group, subscription, management group, or tenant.

ParametryParameters

ParametrParameter WymaganeRequired TypType OpisDescription
subscriptionIdsubscriptionId NieNo ciąg (w formacie identyfikatora GUID)string (In GUID format) Wartość domyślna to bieżąca subskrypcja.Default value is the current subscription. Określ tę wartość, jeśli chcesz pobrać zasób w innej subskrypcji.Specify this value when you need to retrieve a resource in another subscription. Podaj tę wartość tylko podczas wdrażania w zakresie grupy zasobów lub subskrypcji.Only provide this value when deploying at the scope of a resource group or subscription.
resourceGroupNameresourceGroupName NieNo ciągstring Wartość domyślna to bieżąca Grupa zasobów.Default value is current resource group. Określ tę wartość, jeśli chcesz pobrać zasób z innej grupy zasobów.Specify this value when you need to retrieve a resource in another resource group. Podaj tę wartość tylko w przypadku wdrażania w zakresie grupy zasobów.Only provide this value when deploying at the scope of a resource group.
resourceTyperesourceType TakYes ciągstring Typ zasobu, w tym przestrzeń nazw dostawcy zasobów.Type of resource including resource provider namespace.
resourceName1resourceName1 TakYes ciągstring Nazwa zasobu.Name of resource.
resourceName2resourceName2 NieNo ciągstring Następny segment nazwy zasobu, w razie konieczności.Next resource name segment, if needed.

Kontynuuj dodawanie nazw zasobów jako parametrów, gdy typ zasobu zawiera więcej segmentów.Continue adding resource names as parameters when the resource type includes more segments.

Wartość zwracanaReturn value

Gdy szablon zostanie wdrożony w zakresie grupy zasobów, identyfikator zasobu jest zwracany w następującym formacie:When the template is deployed at the scope of a resource group, the resource ID is returned in the following format:

/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

Można użyć funkcji resourceId dla innych zakresów wdrożenia, ale format identyfikatora zmienia się.You can use the resourceId function for other deployment scopes, but the format of the ID changes.

Jeśli używasz resourceId podczas wdrażania subskrypcji, identyfikator zasobu jest zwracany w następującym formacie:If you use resourceId while deploying to a subscription, the resource ID is returned in the following format:

/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

Jeśli używasz resourceId podczas wdrażania do grupy zarządzania lub dzierżawy, identyfikator zasobu jest zwracany w następującym formacie:If you use resourceId while deploying to a management group or tenant, the resource ID is returned in the following format:

/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

Aby uniknąć nieporozumień, zalecamy użycie resourceId podczas pracy z zasobami wdrożonymi w subskrypcji, grupie zarządzania lub dzierżawie.To avoid confusion, we recommend that you not use resourceId when working with resources deployed to the subscription, management group, or tenant. Zamiast tego należy użyć funkcji identyfikatora, która została zaprojektowana dla zakresu.Instead, use the ID function that is designed for the scope.

W przypadku zasobów na poziomie subskrypcjinależy użyć funkcji subscriptionResourceId .For subscription-level resources, use the subscriptionResourceId function.

W przypadku zasobów na poziomie grupy zarządzaniaUżyj funkcji extensionResourceId , aby odwołać się do zasobu, który jest zaimplementowany jako rozszerzenie grupy zarządzania.For management group-level resources, use the extensionResourceId function to reference a resource that is implemented as an extension of a management group. Na przykład niestandardowe definicje zasad wdrożone w grupie zarządzania to rozszerzenia grupy zarządzania.For example, custom policy definitions that are deployed to a management group are extensions of the management group. Użyj funkcji tenantResourceId , aby odwoływać się do zasobów wdrożonych w dzierżawie, ale dostępnych w grupie zarządzania.Use the tenantResourceId function to reference resources that are deployed to the tenant but available in your management group. Na przykład wbudowane definicje zasad są implementowane jako zasoby na poziomie dzierżawy.For example, built-in policy definitions are implemented as tenant level resources.

W przypadku zasobów na poziomie dzierżawyUżyj funkcji tenantResourceId .For tenant-level resources, use the tenantResourceId function. Użyj tenantResourceId dla wbudowanych definicji zasad, ponieważ są one implementowane na poziomie dzierżawy.Use tenantResourceId for built-in policy definitions because they are implemented at the tenant level.

UwagiRemarks

Liczba parametrów, które należy podać, zależy od tego, czy zasób jest zasobem nadrzędnym, czy podrzędnym, oraz czy zasób znajduje się w tej samej subskrypcji lub grupie zasobów.The number of parameters you provide varies based on whether the resource is a parent or child resource, and whether the resource is in the same subscription or resource group.

Aby uzyskać identyfikator zasobu dla zasobu nadrzędnego w tej samej subskrypcji i grupie zasobów, podaj typ i nazwę zasobu.To get the resource ID for a parent resource in the same subscription and resource group, provide the type and name of the resource.

"[resourceId('Microsoft.ServiceBus/namespaces', 'namespace1')]"

Aby uzyskać identyfikator zasobu dla zasobu podrzędnego, należy zwrócić uwagę na liczbę segmentów w typie zasobu.To get the resource ID for a child resource, pay attention to the number of segments in the resource type. Podaj nazwę zasobu dla każdego segmentu typu zasobu.Provide a resource name for each segment of the resource type. Nazwa segmentu odpowiada zasobowi, który istnieje dla tej części hierarchii.The name of the segment corresponds to the resource that exists for that part of the hierarchy.

"[resourceId('Microsoft.ServiceBus/namespaces/queues/authorizationRules', 'namespace1', 'queue1', 'auth1')]"

Aby uzyskać identyfikator zasobu dla zasobu w tej samej subskrypcji, ale w innej grupie zasobów, podaj nazwę grupy zasobów.To get the resource ID for a resource in the same subscription but different resource group, provide the resource group name.

"[resourceId('otherResourceGroup', 'Microsoft.Storage/storageAccounts', 'examplestorage')]"

Aby uzyskać identyfikator zasobu dla zasobu w innej subskrypcji i grupie zasobów, podaj identyfikator subskrypcji i nazwę grupy zasobów.To get the resource ID for a resource in a different subscription and resource group, provide the subscription ID and resource group name.

"[resourceId('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 'otherResourceGroup', 'Microsoft.Storage/storageAccounts','examplestorage')]"

Często należy używać tej funkcji w przypadku korzystania z konta magazynu lub sieci wirtualnej w alternatywnej grupie zasobów.Often, you need to use this function when using a storage account or virtual network in an alternate resource group. Poniższy przykład pokazuje, jak można łatwo używać zasobu z zewnętrznej grupy zasobów:The following example shows how a resource from an external resource group can easily be used:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
      "virtualNetworkName": {
          "type": "string"
      },
      "virtualNetworkResourceGroup": {
          "type": "string"
      },
      "subnet1Name": {
          "type": "string"
      },
      "nicName": {
          "type": "string"
      }
  },
  "variables": {
      "subnet1Ref": "[resourceId(parameters('virtualNetworkResourceGroup'), 'Microsoft.Network/virtualNetworks/subnets', parameters('virtualNetworkName'), parameters('subnet1Name'))]"
  },
  "resources": [
  {
      "apiVersion": "2015-05-01-preview",
      "type": "Microsoft.Network/networkInterfaces",
      "name": "[parameters('nicName')]",
      "location": "[parameters('location')]",
      "properties": {
          "ipConfigurations": [{
              "name": "ipconfig1",
              "properties": {
                  "privateIPAllocationMethod": "Dynamic",
                  "subnet": {
                      "id": "[variables('subnet1Ref')]"
                  }
              }
          }]
       }
  }]
}

Przykład identyfikatora zasobuResource ID example

Poniższy przykładowy szablon zwraca identyfikator zasobu dla konta magazynu w grupie zasobów:The following example template returns the resource ID for a storage account in the resource group:

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [],
    "outputs": {
        "sameRGOutput": {
            "value": "[resourceId('Microsoft.Storage/storageAccounts','examplestorage')]",
            "type" : "string"
        },
        "differentRGOutput": {
            "value": "[resourceId('otherResourceGroup', 'Microsoft.Storage/storageAccounts','examplestorage')]",
            "type" : "string"
        },
        "differentSubOutput": {
            "value": "[resourceId('11111111-1111-1111-1111-111111111111', 'otherResourceGroup', 'Microsoft.Storage/storageAccounts','examplestorage')]",
            "type" : "string"
        },
        "nestedResourceOutput": {
            "value": "[resourceId('Microsoft.SQL/servers/databases', 'serverName', 'databaseName')]",
            "type" : "string"
        }
    }
}

Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi są następujące:The output from the preceding example with the default values is:

NazwaName TypType WartośćValue
sameRGOutputsameRGOutput CiągString /subscriptions/{current-sub-id}/resourceGroups/examplegroup/providers/Microsoft.Storage/storageAccounts/examplestorage/subscriptions/{current-sub-id}/resourceGroups/examplegroup/providers/Microsoft.Storage/storageAccounts/examplestorage
differentRGOutputdifferentRGOutput CiągString /subscriptions/{current-sub-id}/resourceGroups/otherResourceGroup/providers/Microsoft.Storage/storageAccounts/examplestorage/subscriptions/{current-sub-id}/resourceGroups/otherResourceGroup/providers/Microsoft.Storage/storageAccounts/examplestorage
differentSubOutputdifferentSubOutput CiągString /subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/otherResourceGroup/providers/Microsoft.Storage/storageAccounts/examplestorage/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/otherResourceGroup/providers/Microsoft.Storage/storageAccounts/examplestorage
nestedResourceOutputnestedResourceOutput CiągString /subscriptions/{current-sub-id}/resourceGroups/examplegroup/providers/Microsoft.SQL/servers/serverName/databases/databaseName/subscriptions/{current-sub-id}/resourceGroups/examplegroup/providers/Microsoft.SQL/servers/serverName/databases/databaseName

subskrypcjasubscription

subscription()

Zwraca szczegółowe informacje o subskrypcji dla bieżącego wdrożenia.Returns details about the subscription for the current deployment.

Wartość zwracanaReturn value

Funkcja zwraca następujący format:The function returns the following format:

{
    "id": "/subscriptions/{subscription-id}",
    "subscriptionId": "{subscription-id}",
    "tenantId": "{tenant-id}",
    "displayName": "{name-of-subscription}"
}

UwagiRemarks

W przypadku używania szablonów zagnieżdżonych do wdrażania w wielu subskrypcjach można określić zakres oceniania funkcji subskrypcji.When using nested templates to deploy to multiple subscriptions, you can specify the scope for evaluating the subscription function. Aby uzyskać więcej informacji, zobacz wdrażanie zasobów platformy Azure w więcej niż jednej subskrypcji lub grupie zasobów.For more information, see Deploy Azure resources to more than one subscription or resource group.

Przykład subskrypcjiSubscription example

Poniższy przykładowy szablon pokazuje funkcję subskrypcji o nazwie w sekcji dane wyjściowe.The following example template shows the subscription function called in the outputs section.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [],
    "outputs": {
        "subscriptionOutput": {
            "value": "[subscription()]",
            "type" : "object"
        }
    }
}

subscriptionResourceIdsubscriptionResourceId

subscriptionResourceId([subscriptionId], resourceType, resourceName1, [resourceName2], ...)

Zwraca unikatowy identyfikator zasobu wdrożonego na poziomie subskrypcji.Returns the unique identifier for a resource deployed at the subscription level.

ParametryParameters

ParametrParameter WymaganeRequired TypType OpisDescription
subscriptionIdsubscriptionId NieNo ciąg (w formacie identyfikatora GUID)string (in GUID format) Wartość domyślna to bieżąca subskrypcja.Default value is the current subscription. Określ tę wartość, jeśli chcesz pobrać zasób w innej subskrypcji.Specify this value when you need to retrieve a resource in another subscription.
resourceTyperesourceType TakYes ciągstring Typ zasobu, w tym przestrzeń nazw dostawcy zasobów.Type of resource including resource provider namespace.
resourceName1resourceName1 TakYes ciągstring Nazwa zasobu.Name of resource.
resourceName2resourceName2 NieNo ciągstring Następny segment nazwy zasobu, w razie konieczności.Next resource name segment, if needed.

Kontynuuj dodawanie nazw zasobów jako parametrów, gdy typ zasobu zawiera więcej segmentów.Continue adding resource names as parameters when the resource type includes more segments.

Wartość zwracanaReturn value

Identyfikator jest zwracany w następującym formacie:The identifier is returned in the following format:

/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

UwagiRemarks

Ta funkcja służy do pobierania identyfikatora zasobu dla zasobów wdrożonych w subskrypcji , a nie w grupie zasobów.You use this function to get the resource ID for resources that are deployed to the subscription rather than a resource group. Zwrócony identyfikator różni się od wartości zwracanej przez funkcję ResourceID przez nie uwzględniając wartości grupy zasobów.The returned ID differs from the value returned by the resourceId function by not including a resource group value.

przykład subscriptionResourceIDsubscriptionResourceID example

Poniższy szablon przypisuje wbudowaną rolę.The following template assigns a built-in role. Można wdrożyć je w grupie zasobów lub w ramach subskrypcji.You can deploy it to either a resource group or subscription. Używa funkcji subscriptionResourceId, aby uzyskać identyfikator zasobu dla ról wbudowanych.It uses the subscriptionResourceId function to get the resource ID for built-in roles.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "principalId": {
            "type": "string",
            "metadata": {
                "description": "The principal to assign the role to"
            }
        },
        "builtInRoleType": {
            "type": "string",
            "allowedValues": [
                "Owner",
                "Contributor",
                "Reader"
            ],
            "metadata": {
                "description": "Built-in role to assign"
            }
        },
        "roleNameGuid": {
            "type": "string",
            "defaultValue": "[newGuid()]",
            "metadata": {
                "description": "A new GUID used to identify the role assignment"
            }
        }
    },
    "variables": {
        "Owner": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '8e3af657-a8ff-443c-a75c-2fe8c4bcb635')]",
        "Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c')]",
        "Reader": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'acdd72a7-3385-48ef-bd42-f606fba81ae7')]"
    },
    "resources": [
        {
            "type": "Microsoft.Authorization/roleAssignments",
            "apiVersion": "2018-09-01-preview",
            "name": "[parameters('roleNameGuid')]",
            "properties": {
                "roleDefinitionId": "[variables(parameters('builtInRoleType'))]",
                "principalId": "[parameters('principalId')]"
            }
        }
    ]
}

tenantResourceIdtenantResourceId

tenantResourceId(resourceType, resourceName1, [resourceName2], ...)

Zwraca unikatowy identyfikator zasobu wdrożonego na poziomie dzierżawy.Returns the unique identifier for a resource deployed at the tenant level.

ParametryParameters

ParametrParameter WymaganeRequired TypType OpisDescription
resourceTyperesourceType TakYes ciągstring Typ zasobu, w tym przestrzeń nazw dostawcy zasobów.Type of resource including resource provider namespace.
resourceName1resourceName1 TakYes ciągstring Nazwa zasobu.Name of resource.
resourceName2resourceName2 NieNo ciągstring Następny segment nazwy zasobu, w razie konieczności.Next resource name segment, if needed.

Kontynuuj dodawanie nazw zasobów jako parametrów, gdy typ zasobu zawiera więcej segmentów.Continue adding resource names as parameters when the resource type includes more segments.

Wartość zwracanaReturn value

Identyfikator jest zwracany w następującym formacie:The identifier is returned in the following format:

/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

UwagiRemarks

Ta funkcja służy do pobierania identyfikatora zasobu dla zasobu, który jest wdrażany w dzierżawie.You use this function to get the resource ID for a resource that is deployed to the tenant. Zwrócony identyfikator różni się od wartości zwracanych przez inne funkcje identyfikatora zasobu, nie uwzględniając wartości grup zasobów lub subskrypcji.The returned ID differs from the values returned by other resource ID functions by not including resource group or subscription values.

przykład tenantResourceIdtenantResourceId example

Wbudowane definicje zasad to zasoby na poziomie dzierżawy.Built-in policy definitions are tenant level resources. Aby wdrożyć przypisanie zasad odwołujące się do wbudowanej definicji zasad, użyj funkcji tenantResourceId.To deploy a policy assignment that references a built-in policy definition, use the tenantResourceId function.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "policyAssignmentName": {
      "type": "string",
      "defaultValue": "[guid(parameters('policyDefinitionID'), resourceGroup().name)]",
      "metadata": {
        "description": "Specifies the name of the policy assignment, can be used defined or an idempotent name as the defaultValue provides."
      }
    },
    "policyDefinitionID": {
      "type": "string",
      "defaultValue": "0a914e76-4921-4c19-b460-a2d36003525a",
      "metadata": {
        "description": "Specifies the ID of the policy definition or policy set definition being assigned."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.Authorization/policyAssignments",
      "name": "[parameters('policyAssignmentName')]",
      "apiVersion": "2019-09-01",
      "properties": {
        "scope": "[subscriptionResourceId('Microsoft.Resources/resourceGroups', resourceGroup().name)]",
        "policyDefinitionId": "[tenantResourceId('Microsoft.Authorization/policyDefinitions', parameters('policyDefinitionID'))]"
      }
    }
  ]
}

Następne krokiNext steps