Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważna
Azure Blueprints (Podgląd) zostanie wycofany 31 stycznia 2027 roku, z etapowym wycofywaniem rozpoczynającym się 31 lipca 2026 roku. Migruj istniejące definicje i przypisania blueprintów do stosów wdrożeń (zalecane) oraz specyfikacji szablonów. Artefakty blueprintów są konwertowane na szablony JSON ARM lub pliki Bicep używane do definiowania stosów wdrożeń. Pełną fazowaną oś czasu, wpływ i FAQ można znaleźć w sekcji Azure Blueprints retirement lub https://aka.ms/AzureBlueprintsRetirement. Aby dowiedzieć się, jak utworzyć artefakt jako zasób ARM, sprawdź:
Azure Blueprints oferuje funkcje czynią definicję blueprintu bardziej dynamiczną. Funkcje te są przeznaczone do użycia z definicjami planów i artefaktami planów. Artefakt szablonu Azure Resource Manager (ARM template) wspiera pełne wykorzystanie funkcji Resource Manager, a także umożliwia uzyskanie wartości dynamicznej za pomocą parametru blueprint.
Obsługiwane są następujące funkcje:
artifacts
artifacts(artifactName)
Zwraca obiekt właściwości wypełnionych tymi artefaktami blueprintu.
Note
Funkcja nie artifacts() może być używana z wewnątrz szablonu ARM. Funkcja ta może być używana wyłącznie w definicji blueprintu JSON lub w artifact JSON podczas zarządzania blueprintem za pomocą Azure PowerShell lub REST API jako części Blueprints-as-code.
Parametry
| Parameter | Obowiązkowy | Typ | Description |
|---|---|---|---|
| artifactName | Yes | ciąg | Nazwa artefaktu planowego. |
Wartość zwracana
Obiekt o właściwościach wyjściowych. Właściwości wyjściowe zależą od rodzaju artefaktu blueprintu, do którego się odwołuje. Wszystkie typy podążają za tym formatem:
{
"outputs": {collectionOfOutputProperties}
}
Artefakt przypisania polityki
{
"outputs": {
"policyAssignmentId": "{resourceId-of-policy-assignment}",
"policyAssignmentName": "{name-of-policy-assignment}",
"policyDefinitionId": "{resourceId-of-policy-definition}",
}
}
Artefakt szablonu ARM
Właściwości wyjściowe zwróconego obiektu są definiowane w szablonie ARM i zwracane przez wdrożenie.
Artefakt przypisania roli
{
"outputs": {
"roleAssignmentId": "{resourceId-of-role-assignment}",
"roleDefinitionId": "{resourceId-of-role-definition}",
"principalId": "{principalId-role-is-being-assigned-to}",
}
}
Przykład
Artefakt szablonu ARM z identyfikatorem myTemplateArtifact zawierający następującą próbkową właściwość wyjściową:
{
"$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
}
}
}
}
Przykłady pobierania danych z próbki myTemplateArtifact to:
| Expression | Typ | Value |
|---|---|---|
[artifacts("myTemplateArtifact").outputs.myArray] |
Tablica | ["pierwszy", "drugi"] |
[artifacts("myTemplateArtifact").outputs.myArray[0]] |
String | "Pierwszy" |
[artifacts("myTemplateArtifact").outputs.myString] |
String | "Moja wartość struny" |
[artifacts("myTemplateArtifact").outputs.myObject] |
Object | { "myproperty": "moja wartość", "anotherProperty": true } |
[artifacts("myTemplateArtifact").outputs.myObject.myProperty] |
String | "Moja wartość" |
[artifacts("myTemplateArtifact").outputs.myObject.anotherProperty] |
bool | True |
concat
concat(string1, string2, string3, ...)
Łączy wiele wartości ciągu i zwraca związany ciąg znaków.
Parametry
| Parameter | Obowiązkowy | Typ | Description |
|---|---|---|---|
| ciąg1 | Yes | ciąg | Pierwsza wartość dla łączenia się. |
| argumenty dodatkowe | No | ciąg | Dodatkowe wartości w kolejności sekwencyjnej dla konkatenacji |
Wartość zwracana
Ciąg skatowanych wartości.
Remarks
Funkcja Azure Blueprints różni się od funkcji szablonu ARM tym, że działa tylko ze znakami znaków.
Przykład
concat(parameters('organizationName'), '-vm')
parameters
parameters(parameterName)
Zwraca wartość parametru blueprint. Określona nazwa parametru musi być zdefiniowana w definicji blueprintu lub w artefaktach blueprintu.
Parametry
| Parameter | Obowiązkowy | Typ | Description |
|---|---|---|---|
| nazwa parametru | Yes | ciąg | Nazwa parametru do zwrócenia. |
Wartość zwracana
Wartość określonego parametru niebieskiego lub artefaktu projektu.
Remarks
Funkcja Azure Blueprints różni się od funkcji szablonu ARM tym, że działa tylko z parametrami blueprintów.
Przykład
Zdefiniuj principalIds parametrów w definicji blueprintu:
{
"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"
}
}
},
...
}
}
Następnie użyj principalIds jako argumentu dla w parameters() artefaktie blueprintu:
{
"type": "Microsoft.Blueprint/blueprints/artifacts",
"kind": "roleAssignment",
...
"properties": {
"roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635",
"principalIds": "[parameters('principalIds')]",
...
}
}
resourceGroup
resourceGroup()
Zwraca obiekt reprezentujący aktualną grupę zasobów.
Wartość zwracana
Zwrócony obiekt ma następujący format:
{
"name": "{resourceGroupName}",
"location": "{resourceGroupLocation}",
}
Remarks
Funkcja Azure Blueprints różni się od funkcji szablonu ARM. Funkcja nie może być użyta resourceGroup() w artefakcie na poziomie subskrypcji ani w definicji blueprintu. Może być używany tylko w artefaktach blueprintów będących częścią artefaktu grupy zasobów.
Powszechnym zastosowaniem resourceGroup() tej funkcji jest tworzenie zasobów w tym samym miejscu co artefakt grupy zasobów.
Przykład
Aby użyć lokalizacji grupy zasobów, ustawionej w definicji blueprintu lub podczas przypisania, jako lokalizacji innego artefaktu, zadeklaruj obiekt zastępczy grupy zasobów w swojej definicji blueprintu. W tym przykładzie NetworkingPlaceholder to nazwa zastępczego miejsca grupy zasobów.
{
"type": "Microsoft.Blueprint/blueprints",
"properties": {
...
"resourceGroups": {
"NetworkingPlaceholder": {
"location": "eastus"
}
}
}
}
Następnie użyj tej resourceGroup() funkcji w kontekście artefaktu blueprint, który celuje w obiekt zastępczy grupy zasobów. W tym przykładzie artefakt szablonu jest wdrażany do grupy zasobów NetworkingPlaceholder i dostarcza parametr resourceLocation dynamicznie wypełniany lokalizacją grupy zasobów NetworkingPlaceholder do szablonu. Lokalizacja grupy zasobów NetworkingPlaceholder mogła być statycznie zdefiniowana na definicji blueprintu lub dynamicznie podczas przypisania. W obu przypadkach artefakt szablonu otrzymuje tę informację jako parametr i wykorzystuje ją do rozmieszczenia zasobów we właściwym miejscu.
{
"type": "Microsoft.Blueprint/blueprints/artifacts",
"kind": "template",
"properties": {
"template": {
...
},
"resourceGroup": "NetworkingPlaceholder",
...
"parameters": {
"resourceLocation": {
"value": "[resourceGroup().location]"
}
}
}
}
resourceGroups
resourceGroups(placeholderName)
Zwraca obiekt reprezentujący określony artefakt grupy zasobów. W przeciwieństwie do , który wymaga kontekstu resourceGroup()artefaktu, funkcja ta służy do uzyskania właściwości konkretnej grupy zasobów zastępczej, gdy nie znajduje się w kontekście tej grupy.
Parametry
| Parameter | Obowiązkowy | Typ | Description |
|---|---|---|---|
| placeholderNazwa | Yes | ciąg | Tymczasowa nazwa artefaktu grupy zasobów do zwrotu. |
Wartość zwracana
Zwrócony obiekt ma następujący format:
{
"name": "{resourceGroupName}",
"location": "{resourceGroupLocation}",
}
Przykład
Aby użyć lokalizacji grupy zasobów, ustawionej w definicji blueprintu lub podczas przypisania, jako lokalizacji innego artefaktu, zadeklaruj obiekt zastępczy grupy zasobów w swojej definicji blueprintu. W tym przykładzie NetworkingPlaceholder to nazwa zastępczego miejsca grupy zasobów.
{
"type": "Microsoft.Blueprint/blueprints",
"properties": {
...
"resourceGroups": {
"NetworkingPlaceholder": {
"location": "eastus"
}
}
}
}
Następnie użyj resourceGroups() funkcji z kontekstu dowolnego artefaktu blueprint, aby uzyskać odwołanie do obiektu zastępczego grupy zasobów. W tym przykładzie artefakt szablonu jest wdrażany poza grupą zasobów NetworkingPlaceholder i dostarcza parametrów artifactLocation dynamicznie uzupełnianych lokalizacją grupy zasobów NetworkingPlaceholder do szablonu. Lokalizacja grupy zasobów NetworkingPlaceholder mogła być statycznie zdefiniowana na definicji blueprintu lub dynamicznie podczas przypisania. W obu przypadkach artefakt szablonu otrzymuje tę informację jako parametr i wykorzystuje ją do rozmieszczenia zasobów we właściwym miejscu.
{
"kind": "template",
"properties": {
"template": {
...
},
...
"parameters": {
"artifactLocation": {
"value": "[resourceGroups('NetworkingPlaceholder').location]"
}
}
},
"type": "Microsoft.Blueprint/blueprints/artifacts",
"name": "myTemplate"
}
abonament
subscription()
Zwraca szczegóły dotyczące subskrypcji aktualnego zadania blueprint.
Wartość zwracana
Zwrócony obiekt ma następujący format:
{
"id": "/subscriptions/{subscriptionId}",
"subscriptionId": "{subscriptionId}",
"tenantId": "{tenantId}",
"displayName": "{name-of-subscription}"
}
Przykład
Użyj nazwy wyświetlania subskrypcji oraz concat() funkcji, aby stworzyć konwencję nazewnictwa przekazywaną jako parameter resourceName do artefaktu szablonu.
{
"kind": "template",
"properties": {
"template": {
...
},
...
"parameters": {
"resourceName": {
"value": "[concat(subscription().displayName, '-vm')]"
}
}
},
"type": "Microsoft.Blueprint/blueprints/artifacts",
"name": "myTemplate"
}
Następne kroki
- Uzyskaj informacje na temat cyklu życia strategii.
- Dowiedz się, jak używać parametrów statycznych i dynamicznych.
- Dowiedz się, jak dostosować kolejność sekwencjonowania strategii.
- Dowiedz się, jak używać blokowania zasobów planu.
- Dowiedz się, jak zaktualizować istniejące przypisania.
- Rozwiązywanie problemów podczas przypisywania strategii za pomocą ogólnych procedur rozwiązywania problemów.