Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Azure Blueprints (Preview) sarà ritirato il 31 gennaio 2027, con un pensionamento graduale a partire dal 31 luglio 2026. Migra le definizioni e le assegnazioni dei tuoi blueprint esistenti verso gli Stack di Distribuzione (consigliati) e le specifiche dei Template. Gli artefatti dei blueprint vengono convertiti in template ARM JSON o file Bicep utilizzati per definire gli stack di deployment. Per la timeline a fasi completa, l'impatto e le FAQ, vedi Azure Blueprints retirement oppure https://aka.ms/AzureBlueprintsRetirement. Per informazioni su come definire un artefatto come risorsa ARM, vedere:
Azure Blueprints fornisce funzioni che rendono la definizione di un blueprint più dinamica. Queste funzioni sono destinate all'uso con definizioni di blueprint e artefatti di blueprint. Un artefatto Azure Resource Manager Template (template ARM) supporta l'uso completo delle funzioni di Resource Manager oltre a ottenere un valore dinamico tramite un parametro blueprint.
Sono supportate le funzioni seguenti:
artifacts
artifacts(artifactName)
Restituisce un oggetto di proprietà popolato con quegli artefatti del blueprint.
Annotazioni
La artifacts() funzione non può essere utilizzata all'interno di un template ARM. La funzione può essere utilizzata solo nella definizione del blueprint JSON o nell'artefact JSON quando si gestisce il blueprint con Azure PowerShell o l'API REST come parte di Blueprints-as-code.
Parametri
| Parametro | Required | Tipo | Description |
|---|---|---|---|
| artifactName | Yes | string | Il nome di un artefatto di progetto. |
Valore restituito
Un oggetto delle proprietà di output. Le proprietà degli output dipendono dal tipo di artefatto del progetto a cui si fa riferimento. Tutti i tipi seguono il formato:
{
"outputs": {collectionOfOutputProperties}
}
Artefatto sull'assegnazione delle policy
{
"outputs": {
"policyAssignmentId": "{resourceId-of-policy-assignment}",
"policyAssignmentName": "{name-of-policy-assignment}",
"policyDefinitionId": "{resourceId-of-policy-definition}",
}
}
Artefatto del modello ARM
Le proprietà di output dell'oggetto restituito sono definite all'interno del template ARM e restituite dalla distribuzione.
Artefatto sull'assegnazione dei ruoli
{
"outputs": {
"roleAssignmentId": "{resourceId-of-role-assignment}",
"roleDefinitionId": "{resourceId-of-role-definition}",
"principalId": "{principalId-role-is-being-assigned-to}",
}
}
Esempio
Un artefatto di template ARM con l'ID myTemplateArtifact contenente la seguente proprietà di output campione:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
...
"outputs": {
"myArray": {
"type": "array",
"value": ["first", "second"]
},
"myString": {
"type": "string",
"value": "my string value"
},
"myObject": {
"type": "object",
"value": {
"myProperty": "my value",
"anotherProperty": true
}
}
}
}
Alcuni esempi di recupero di dati dal campione myTemplateArtifact sono:
| Espressione | Tipo | Value |
|---|---|---|
[artifacts("myTemplateArtifact").outputs.myArray] |
Array | ["prima", "seconda"] |
[artifacts("myTemplateArtifact").outputs.myArray[0]] |
String | "Prima" |
[artifacts("myTemplateArtifact").outputs.myString] |
String | "il mio valore di stringa" |
[artifacts("myTemplateArtifact").outputs.myObject] |
Object | { "miaproprietà": "il mio valore", "un'altraProprietà": vero } |
[artifacts("myTemplateArtifact").outputs.myObject.myProperty] |
String | "Il mio valore" |
[artifacts("myTemplateArtifact").outputs.myObject.anotherProperty] |
Bool | True |
concat
concat(string1, string2, string3, ...)
Combina più valori di stringhe e restituisce la stringa concatenata.
Parametri
| Parametro | Required | Tipo | Description |
|---|---|---|---|
| stringa1 | Yes | string | Il primo valore per la concatenazione. |
| argomenti aggiuntivi | No | string | Valori aggiuntivi in ordine sequenziale per la concatenazione |
Valore restituito
Una stringa di valori concatenati.
Osservazioni:
La funzione Azure Blueprints si differenzia dalla funzione modello ARM perché funziona solo con stringhe.
Esempio
concat(parameters('organizationName'), '-vm')
parametri
parameters(parameterName)
Restituisce un valore del parametro blueprint. Il nome del parametro specificato deve essere definito nella definizione del blueprint o negli artefatti del blueprint.
Parametri
| Parametro | Required | Tipo | Description |
|---|---|---|---|
| nomeparametro | Yes | string | Nome del parametro da restituire. |
Valore restituito
Il valore del parametro specificato del blueprint o dell'artefatto del blueprint.
Osservazioni:
La funzione Azure Blueprints si differenzia dalla funzione modello ARM in quanto funziona solo con i parametri del blueprint.
Esempio
Definisci i principali Ids del parametro nella definizione del progetto:
{
"type": "Microsoft.Blueprint/blueprints",
"properties": {
...
"parameters": {
"principalIds": {
"type": "array",
"metadata": {
"displayName": "Principal IDs",
"description": "This is a blueprint parameter that any artifact can reference. We'll display these descriptions for you in the info bubble. Supply principal IDs for the users,groups, or service principals for the Azure role assignment.",
"strongType": "PrincipalId"
}
}
},
...
}
}
Poi usa i principalIds come argomento per parameters() un artefatto di progetto:
{
"type": "Microsoft.Blueprint/blueprints/artifacts",
"kind": "roleAssignment",
...
"properties": {
"roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635",
"principalIds": "[parameters('principalIds')]",
...
}
}
resourceGroup
resourceGroup()
Restituisce un oggetto che rappresenta il gruppo di risorse corrente.
Valore restituito
L'oggetto restituito è nel seguente formato:
{
"name": "{resourceGroupName}",
"location": "{resourceGroupLocation}",
}
Osservazioni:
La funzione Azure Blueprints differisce dalla funzione modello ARM. La resourceGroup() funzione non può essere usata in un artefatto a livello di abbonamento o nella definizione del blueprint. Può essere utilizzato solo negli artefatti dei progetti che fanno parte di un artefatto di un gruppo di risorse.
Un uso comune della resourceGroup() funzione è creare risorse nella stessa posizione dell'artefatto del gruppo risorse.
Esempio
Per usare la posizione del gruppo risorse, impostata nella definizione del blueprint o durante l'assegnazione, come posizione per un altro artefatto, dichiara un oggetto segnaposto del gruppo risorse nella definizione del tuo blueprint. In questo esempio, NetworkingPlaceholder è il nome del gruppo risorse, che rappresenta il segnaposto.
{
"type": "Microsoft.Blueprint/blueprints",
"properties": {
...
"resourceGroups": {
"NetworkingPlaceholder": {
"location": "eastus"
}
}
}
}
Poi usa la resourceGroup() funzione nel contesto di un artefatto di blueprint che mira a un oggetto placeholder del gruppo risorse. In questo esempio, l'artefatto del template viene distribuito nel gruppo di risorse NetworkingPlaceholder e fornisce il parametro resourceLocation popolato dinamicamente con la posizione del gruppo risorse NetworkingPlaceholder al template. La posizione del gruppo di risorse NetworkingPlaceholder potrebbe essere stata definita staticamente sulla definizione del blueprint o definita dinamicamente durante l'assegnazione. In entrambi i casi, l'artefatto template riceve quell'informazione come parametro e la utilizza per distribuire le risorse nella posizione corretta.
{
"type": "Microsoft.Blueprint/blueprints/artifacts",
"kind": "template",
"properties": {
"template": {
...
},
"resourceGroup": "NetworkingPlaceholder",
...
"parameters": {
"resourceLocation": {
"value": "[resourceGroup().location]"
}
}
}
}
gruppi di risorse
resourceGroups(placeholderName)
Restituisce un oggetto che rappresenta l'artefatto specificato del gruppo di risorse. A differenza di , che richiede il contesto dell'artefatto, questa funzione viene usata per ottenere le proprietà di un specifico gruppo di risorse come resourceGroup()segnaposto quando non si trova nel contesto di quel gruppo di risorse.
Parametri
| Parametro | Required | Tipo | Description |
|---|---|---|---|
| Nome segnaposto | Yes | string | Il nome provvisorio dell'artefatto del gruppo risorse da restituire. |
Valore restituito
L'oggetto restituito è nel seguente formato:
{
"name": "{resourceGroupName}",
"location": "{resourceGroupLocation}",
}
Esempio
Per usare la posizione del gruppo risorse, impostata nella definizione del blueprint o durante l'assegnazione, come posizione per un altro artefatto, dichiara un oggetto segnaposto del gruppo risorse nella definizione del tuo blueprint. In questo esempio, NetworkingPlaceholder è il nome del gruppo risorse, che rappresenta il segnaposto.
{
"type": "Microsoft.Blueprint/blueprints",
"properties": {
...
"resourceGroups": {
"NetworkingPlaceholder": {
"location": "eastus"
}
}
}
}
Poi usa la resourceGroups() funzione dal contesto di qualsiasi artefatto di progetto per ottenere un riferimento all'oggetto segnaposto del gruppo risorse. In questo esempio, l'artefatto del template viene distribuito al di fuori del gruppo di risorse NetworkingPlaceholder e fornisce l'artefacto dei parametri Popolata dinamicamente con la posizione del gruppo risorse NetworkingPlaceholder al template. La posizione del gruppo di risorse NetworkingPlaceholder potrebbe essere stata definita staticamente sulla definizione del blueprint o definita dinamicamente durante l'assegnazione. In entrambi i casi, l'artefatto template riceve quell'informazione come parametro e la utilizza per distribuire le risorse nella posizione corretta.
{
"kind": "template",
"properties": {
"template": {
...
},
...
"parameters": {
"artifactLocation": {
"value": "[resourceGroups('NetworkingPlaceholder').location]"
}
}
},
"type": "Microsoft.Blueprint/blueprints/artifacts",
"name": "myTemplate"
}
subscription
subscription()
Restituisce dettagli sull'abbonamento per l'assegnazione attuale del progetto.
Valore restituito
L'oggetto restituito è nel seguente formato:
{
"id": "/subscriptions/{subscriptionId}",
"subscriptionId": "{subscriptionId}",
"tenantId": "{tenantId}",
"displayName": "{name-of-subscription}"
}
Esempio
Usa il nome visualizzato dell'abbonamento e la concat() funzione per creare una convenzione di denominazione passata come parametro resourceName all'artefatto del template.
{
"kind": "template",
"properties": {
"template": {
...
},
...
"parameters": {
"resourceName": {
"value": "[concat(subscription().displayName, '-vm')]"
}
}
},
"type": "Microsoft.Blueprint/blueprints/artifacts",
"name": "myTemplate"
}
Passaggi successivi
- Informazioni sul ciclo di vita del progetto.
- Informazioni su come usare parametri statici e dinamici.
- Informazioni su come personalizzare l'ordine di sequenziazione del progetto.
- Informazioni su come usare in modo ottimale il blocco delle risorse del progetto.
- Informazioni su come aggiornare le assegnazioni esistenti.
- Risolvere i problemi durante l'assegnazione di un progetto con la risoluzione generale dei problemi.