Funzioni delle risorse per i modelli di Azure Resource ManagerResource functions for Azure Resource Manager templates

Gestione risorse fornisce le funzioni seguenti per ottenere i valori delle risorse:Resource Manager provides the following functions for getting resource values:

Per ottenere valori dai parametri, dalle variabili o dalla distribuzione corrente, vedere Funzioni dei valori della distribuzione.To get values from parameters, variables, or the current deployment, see Deployment value functions.

listKeys e list{Value}listKeys and list{Value}

listKeys(resourceName or resourceIdentifier, apiVersion)

list{Value}(resourceName or resourceIdentifier, apiVersion)

Restituisce i valori per qualsiasi tipo di risorsa che supporta l'operazione di tipo elenco.Returns the values for any resource type that supports the list operation. L'uso più comune è rappresentato da listKeys.The most common usage is listKeys.

ParametriParameters

ParametroParameter ObbligatorioRequired TipoType DescrizioneDescription
resourceName o resourceIdentifierresourceName or resourceIdentifier Yes stringstring Identificatore univoco della risorsa.Unique identifier for the resource.
apiVersionapiVersion Yes stringstring Versione dell'API dello stato di runtime della risorsa.API version of resource runtime state. In genere il formato è aaaa-mm-gg.Typically, in the format, yyyy-mm-dd.

Valore restituitoReturn value

L'oggetto restituito da listKeys è nel formato seguente:The returned object from listKeys has the following format:

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

Altre funzioni list possono avere formati di restituzione diversi.Other list functions have different return formats. Per visualizzare il formato di una funzione, includerlo nella sezione outputs, come mostrato nel modello di esempio.To see the format of a function, include it in the outputs section as shown in the example template.

OsservazioniRemarks

Qualsiasi operazione che inizia con list può essere usata come funzione nel modello.Any operation that starts with list can be used as a function in your template. Le operazioni disponibili non includono solo listKeys, ma anche operazioni come list, listAdminKeys e listStatus.The available operations include not only listKeys, but also operations like list, listAdminKeys, and listStatus. Non è tuttavia possibile usare operazioni list che richiedono valori nel corpo della richiesta.However, you cannot use list operations that require values in the request body. L'operazione List Account SAS, ad esempio, richiede parametri del corpo della richiesta come signedExpiry, quindi non è possibile usarla in un modello.For example, the List Account SAS operation requires request body parameters like signedExpiry, so you cannot use it within a template.

Per determinare quali tipi di risorse dispongono di un'operazione list, usare le opzioni seguenti:To determine which resource types have a list operation, you have the following options:

  • Visualizzare le operazioni dell'API REST di un provider di risorse e individuare le operazioni list.View the REST API operations for a resource provider, and look for list operations. Gli account di archiviazione, ad esempio, dispongono dell'operazione listKeys.For example, storage accounts have the listKeys operation.
  • Usare il cmdlet di PowerShell Get-AzureRmProviderOperation.Use the Get-AzureRmProviderOperation PowerShell cmdlet. L'esempio seguente ottiene tutte le operazioni list degli account di archiviazione:The following example gets all list operations for storage accounts:

    Get-AzureRmProviderOperation -OperationSearchString "Microsoft.Storage/*" | where {$_.Operation -like "*list*"} | FT Operation
    
  • Usare il comando seguente dell'interfaccia della riga di comando di Azure per filtrare solo le operazioni list: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')]"
    

Specificare la risorsa usando la funzione resourceId o il formato {providerNamespace}/{resourceType}/{resourceName}.Specify the resource by using either the resourceId function, or the format {providerNamespace}/{resourceType}/{resourceName}.

EsempioExample

Il modello di esempio seguente mostra come restituire le chiavi primaria e secondaria da un account di archiviazione nella sezione outputs.The following example template shows how to return the primary and secondary keys from a storage account in the outputs section.

{
  "$schema": "http://schema.management.azure.com/schemas/2015-01-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": "[listKeys(parameters('storageAccountName'), '2016-12-01')]"
      }
    }
}

Per distribuire questo modello di esempio con l'interfaccia della riga di comando di Azure, usare:To deploy this example template with Azure CLI, use:

az group deployment create -g functionexamplegroup --template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/listkeys.json --parameters storageAccountName=<your-storage-account>

Per distribuire questo modello di esempio con PowerShell, usare:To deploy this example template with PowerShell, use:

New-AzureRmResourceGroupDeployment -ResourceGroupName functionexamplegroup -TemplateUri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/listkeys.json -storageAccountName <your-storage-account>

providerproviders

providers(providerNamespace, [resourceType])

Restituisce informazioni su un provider di risorse e i relativi tipi di risorse supportati.Returns information about a resource provider and its supported resource types. Se non si specifica un tipo di risorsa, la funzione restituisce tutti i tipi supportati per il provider di risorse.If you do not provide a resource type, the function returns all the supported types for the resource provider.

ParametriParameters

ParametroParameter ObbligatorioRequired TipoType DescrizioneDescription
providerNamespaceproviderNamespace Yes stringstring Spazio dei nomi del providerNamespace of the provider
resourceTyperesourceType NoNo stringstring Il tipo di risorsa all'interno dello spazio dei nomi specificato.The type of resource within the specified namespace.

Valore restituitoReturn value

Ogni tipo supportato viene restituito nel formato seguente:Each supported type is returned in the following format:

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

L'ordine della matrice dei valori restituiti non è garantito.Array ordering of the returned values is not guaranteed.

EsempioExample

Il modello di esempio seguente mostra come usare la funzione provider:The following example template shows how to use the provider function:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-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"
        }
    }
}

Per il provider di risorse Microsoft e il tipo di risorsa siti, l'esempio precedente restituisce un oggetto nel formato seguente: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",
    ...
  ]
}

Per distribuire questo modello di esempio con l'interfaccia della riga di comando di Azure, usare:To deploy this example template with Azure CLI, use:

az group deployment create -g functionexamplegroup --template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/providers.json --parameters providerNamespace=Microsoft.Web resourceType=sites

Per distribuire questo modello di esempio con PowerShell, usare:To deploy this example template with PowerShell, use:

New-AzureRmResourceGroupDeployment -ResourceGroupName functionexamplegroup -TemplateUri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/providers.json -providerNamespace Microsoft.Web -resourceType sites

referencereference

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

Restituisce un oggetto che rappresenta lo stato di runtime di una risorsa.Returns an object representing a resource's runtime state.

ParametriParameters

ParametroParameter ObbligatorioRequired TipoType DescrizioneDescription
resourceName o resourceIdentifierresourceName or resourceIdentifier Yes stringstring Nome o identificatore univoco di una risorsa.Name or unique identifier of a resource.
apiVersionapiVersion NoNo stringstring Versione dell'API della risorsa specificata.API version of the specified resource. Includere questo parametro quando non viene effettuato il provisioning della risorsa nello stesso modello.Include this parameter when the resource is not provisioned within same template. In genere il formato è aaaa-mm-gg.Typically, in the format, yyyy-mm-dd.
'Full''Full' NoNo stringstring Valore che specifica se restituire l'oggetto risorsa completo.Value that specifies whether to return the full resource object. Se non si specifica 'Full', viene restituito solo l'oggetto proprietà della risorsa.If you do not specify 'Full', only the properties object of the resource is returned. L'oggetto completo include valori quali l'ID e la posizione della risorsa.The full object includes values such as the resource ID and location.

Valore restituitoReturn value

Ogni tipo di risorsa restituisce proprietà diverse per la funzione di riferimento.Every resource type returns different properties for the reference function. La funzione non restituisce un singolo formato predefinito.The function does not return a single, predefined format. Il valore restituito, poi, è diverso a seconda del fatto che sia stato richiesto l'oggetto completo o meno.Also, the returned value differs based on whether you specified the full object. Per visualizzare le proprietà per un tipo di risorsa, restituire l'oggetto nella sezione output, come illustrato nell'esempio.To see the properties for a resource type, return the object in the outputs section as shown in the example.

OsservazioniRemarks

La funzione reference deriva il proprio valore da uno stato di runtime, quindi non può essere usata nella sezione variables.The reference function derives its value from a runtime state, and therefore cannot be used in the variables section. Può essere usata, invece, nella sezione outputs di un modello.It can be used in outputs section of a template.

Usando la funzione di riferimento, si dichiara implicitamente che una risorsa dipende da un'altra se il provisioning della risorsa cui si fa riferimento viene effettuato nello stesso modello.By using the reference function, you implicitly declare that one resource depends on another resource if the referenced resource is provisioned within same template. Non è necessario usare anche la proprietà dependsOn.You do not need to also use the dependsOn property. La funzione non viene valutata fino a quando la risorsa cui si fa riferimento ha completato la distribuzione.The function is not evaluated until the referenced resource has completed deployment.

Per visualizzare i nomi e i valori delle proprietà per un tipo di risorsa, creare un modello che restituisca l'oggetto nella sezione outputs.To see the property names and values for a resource type, create a template that returns the object in the outputs section. Se si dispone di una risorsa esistente di quel tipo, il modello restituisce l'oggetto senza distribuire nuove risorse.If you have an existing resource of that type, your template returns the object without deploying any new resources.

In genere, la funzione reference viene usata per restituire un valore specifico da un oggetto, ad esempio l'URI dell'endpoint BLOB o il nome di dominio completo.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(concat('Microsoft.Storage/storageAccounts/', parameters('storageAccountName')), '2016-01-01').primaryEndpoints.blob]",
        "type" : "string"
    },
    "FQDN": {
        "value": "[reference(concat('Microsoft.Network/publicIPAddresses/', parameters('ipAddressName')), '2016-03-30').dnsSettings.fqdn]",
        "type" : "string"
    }
}

Usare 'Full' se sono necessari valori della risorsa che non fanno parte dello schema delle proprietà.Use 'Full' when you need resource values that are not part of the properties schema. Per impostare criteri di accesso all'insieme di credenziali delle chiavi, ad esempio, ottenere le proprietà di identità per una macchina virtuale.For example, to set key vault access policies, get the identity properties for a virtual machine.

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

Per l'esempio completo del modello precedente, vedere WindowsToKeyvault.For the complete example of the preceding template, see Windows to Key Vault. Un esempio simile è disponibile per Linux.A similar example is available for Linux.

EsempioExample

Il modello di esempio seguente distribuisce una risorsa e fa riferimento a tale risorsa.The following example template deploys a resource, and references that resource.

{
  "$schema": "http://schema.management.azure.com/schemas/2015-01-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')]"
      }
    }
}

L'esempio precedente restituisce i due oggetti.The preceding example returns the two objects. L'oggetto proprietà è nel formato seguente: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
}

L'oggetto completo è nel formato seguente: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"
}

Per distribuire questo modello di esempio con l'interfaccia della riga di comando di Azure, usare:To deploy this example template with Azure CLI, use:

az group deployment create -g functionexamplegroup --template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/referencewithstorage.json --parameters storageAccountName=<your-storage-account>

Per distribuire questo modello di esempio con PowerShell, usare:To deploy this example template with PowerShell, use:

New-AzureRmResourceGroupDeployment -ResourceGroupName functionexamplegroup -TemplateUri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/referencewithstorage.json -storageAccountName <your-storage-account>

Il modello di esempio seguente fa riferimento a un account di archiviazione non distribuito in questo modello.The following example template references a storage account that is not deployed in this template. L'account di archiviazione esiste già nello stesso gruppo di risorse.The storage account already exists within the same resource group.

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

Per distribuire questo modello di esempio con l'interfaccia della riga di comando di Azure, usare:To deploy this example template with Azure CLI, use:

az group deployment create -g functionexamplegroup --template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/reference.json --parameters storageAccountName=<your-storage-account>

Per distribuire questo modello di esempio con PowerShell, usare:To deploy this example template with PowerShell, use:

New-AzureRmResourceGroupDeployment -ResourceGroupName functionexamplegroup -TemplateUri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/reference.json -storageAccountName <your-storage-account>

resourceGroupresourceGroup

resourceGroup()

Restituisce un oggetto che rappresenta il gruppo di risorse corrente.Returns an object that represents the current resource group.

Valore restituitoReturn value

L'oggetto restituito è nel formato seguente:The returned object is in the following format:

{
  "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}",
  "name": "{resourceGroupName}",
  "location": "{resourceGroupLocation}",
  "tags": {
  },
  "properties": {
    "provisioningState": "{status}"
  }
}

OsservazioniRemarks

Un utilizzo comune della funzione resourceGroup consiste nel creare risorse nello stesso percorso del gruppo di risorse.A common use of the resourceGroup function is to create resources in the same location as the resource group. L'esempio seguente usa il percorso del gruppo di risorse per assegnare il percorso per un sito Web.The following example uses the resource group location to assign the location for a web site.

"resources": [
   {
      "apiVersion": "2016-08-01",
      "type": "Microsoft.Web/sites",
      "name": "[parameters('siteName')]",
      "location": "[resourceGroup().location]",
      ...
   }
]

EsempioExample

Il modello di esempio seguente restituisce le proprietà del gruppo di risorse.The following example template returns the properties of the resource group.

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

L'esempio precedente restituisce un oggetto nel formato seguente:The preceding example returns an object in the following format:

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

Per distribuire questo modello di esempio con l'interfaccia della riga di comando di Azure, usare:To deploy this example template with Azure CLI, use:

az group deployment create -g functionexamplegroup --template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/resourcegroup.json

Per distribuire questo modello di esempio con PowerShell, usare:To deploy this example template with PowerShell, use:

New-AzureRmResourceGroupDeployment -ResourceGroupName functionexamplegroup -TemplateUri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/resourcegroup.json 

resourceIdresourceId

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

Restituisce l'identificatore univoco di una risorsa.Returns the unique identifier of a resource. Questa funzione viene usata quando il nome della risorsa è ambiguo o non è stato sottoposto a provisioning all'interno dello stesso modello.You use this function when the resource name is ambiguous or not provisioned within the same template.

ParametriParameters

ParametroParameter ObbligatorioRequired TipoType DescrizioneDescription
subscriptionIdsubscriptionId NoNo Stringa (in formato GUID)string (In GUID format) Il valore predefinito è la sottoscrizione corrente.Default value is the current subscription. Specificare questo valore quando si vuole recuperare una risorsa in un'altra sottoscrizione.Specify this value when you need to retrieve a resource in another subscription.
resourceGroupNameresourceGroupName NoNo stringstring Il valore predefinito è il gruppo di risorse corrente.Default value is current resource group. Specificare questo valore quando si vuole recuperare una risorsa in un altro gruppo di risorse.Specify this value when you need to retrieve a resource in another resource group.
resourceTyperesourceType Yes stringstring Tipo di risorsa, incluso lo spazio dei nomi del provider di risorse.Type of resource including resource provider namespace.
resourceName1resourceName1 Yes stringstring Nome della risorsa.Name of resource.
resourceName2resourceName2 NoNo stringstring Segmento successivo del nome della risorsa se la risorsa è annidata.Next resource name segment if resource is nested.

Valore restituitoReturn value

L'identificatore viene restituito nel formato seguente:The identifier is returned in the following format:

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

OsservazioniRemarks

I valori da specificare per i parametri dipendono dall'appartenenza o meno della risorsa alla stessa sottoscrizione e allo stesso gruppo di risorse della distribuzione corrente.The parameter values you specify depend on whether the resource is in the same subscription and resource group as the current deployment.

Per ottenere l'ID risorsa per un account di archiviazione nella stessa sottoscrizione e nello stesso gruppo di risorse, usare:To get the resource ID for a storage account in the same subscription and resource group, use:

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

Per ottenere l'ID risorsa per un account di archiviazione nella stessa sottoscrizione, ma in un gruppo di risorse differente, usare:To get the resource ID for a storage account in the same subscription but a different resource group, use:

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

Per ottenere l'ID risorsa per un account di archiviazione in una sottoscrizione differente, ma nello stesso gruppo di risorse, usare:To get the resource ID for a storage account in a different subscription and resource group, use:

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

Per ottenere l'ID risorsa per un database in un gruppo di risorse differente, usare:To get the resource ID for a database in a different resource group, use:

"[resourceId('otherResourceGroup', 'Microsoft.SQL/servers/databases', parameters('serverName'), parameters('databaseName'))]"

Spesso è necessario usare questa funzione quando si usa un account di archiviazione o una rete virtuale in un gruppo di risorse alternative.Often, you need to use this function when using a storage account or virtual network in an alternate resource group. L'esempio seguente mostra come usare facilmente una risorsa di un gruppo di risorse esterno:The following example shows how a resource from an external resource group can easily be used:

{
  "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
      "virtualNetworkName": {
          "type": "string"
      },
      "virtualNetworkResourceGroup": {
          "type": "string"
      },
      "subnet1Name": {
          "type": "string"
      },
      "nicName": {
          "type": "string"
      }
  },
  "variables": {
      "vnetID": "[resourceId(parameters('virtualNetworkResourceGroup'), 'Microsoft.Network/virtualNetworks', parameters('virtualNetworkName'))]",
      "subnet1Ref": "[concat(variables('vnetID'),'/subnets/', 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')]"
                  }
              }
          }]
       }
  }]
}

EsempioExample

Il modello di esempio seguente restituisce l'ID della risorsa per un account di archiviazione nel gruppo di risorse:The following example template returns the resource ID for a storage account in the resource group:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-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"
        }
    }
}

L'output dell'esempio precedente con i valori predefiniti è il seguente:The output from the preceding example with the default values is:

NomeName TipoType ValoreValue
sameRGOutputsameRGOutput StringString /subscriptions/{id-sott-corrente}/resourceGroups/examplegroup/providers/Microsoft.Storage/storageAccounts/examplestorage/subscriptions/{current-sub-id}/resourceGroups/examplegroup/providers/Microsoft.Storage/storageAccounts/examplestorage
differentRGOutputdifferentRGOutput StringString /subscriptions/{id-sott-corrente}/resourceGroups/otherResourceGroup/providers/Microsoft.Storage/storageAccounts/examplestorage/subscriptions/{current-sub-id}/resourceGroups/otherResourceGroup/providers/Microsoft.Storage/storageAccounts/examplestorage
differentSubOutputdifferentSubOutput StringString /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 StringString /subscriptions/{id-sott-corrente}/resourceGroups/examplegroup/providers/Microsoft.SQL/servers/serverName/databases/databaseName/subscriptions/{current-sub-id}/resourceGroups/examplegroup/providers/Microsoft.SQL/servers/serverName/databases/databaseName

Per distribuire questo modello di esempio con l'interfaccia della riga di comando di Azure, usare:To deploy this example template with Azure CLI, use:

az group deployment create -g functionexamplegroup --template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/resourceid.json

Per distribuire questo modello di esempio con PowerShell, usare:To deploy this example template with PowerShell, use:

New-AzureRmResourceGroupDeployment -ResourceGroupName functionexamplegroup -TemplateUri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/resourceid.json 

sottoscrizionesubscription

subscription()

Restituisce i dettagli sulla sottoscrizione per la distribuzione corrente.Returns details about the subscription for the current deployment.

Valore restituitoReturn value

La funzione restituisce il formato seguente:The function returns the following format:

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

EsempioExample

Il modello di esempio seguente mostra la funzione subscription chiamata nella sezione outputs.The following example template shows the subscription function called in the outputs section.

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

Per distribuire questo modello di esempio con l'interfaccia della riga di comando di Azure, usare:To deploy this example template with Azure CLI, use:

az group deployment create -g functionexamplegroup --template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/subscription.json

Per distribuire questo modello di esempio con PowerShell, usare:To deploy this example template with PowerShell, use:

New-AzureRmResourceGroupDeployment -ResourceGroupName functionexamplegroup -TemplateUri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/subscription.json 

Passaggi successiviNext steps