Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Resource Manager предоставляет ряд функций для выполнения сравнений в шаблонах Azure Resource Manager (шаблон ARM):
Совет
Bicep рекомендуется, так как он предлагает те же возможности, что и шаблоны ARM, и синтаксис проще использовать. Дополнительные сведения см. в разделе логических bool функций и логических операторов.
и
and(arg1, arg2, ...)
Проверяет, являются ли все значения параметров истинными.
Функция and не поддерживается в Bicep.
Вместо этого используйте оператор &>.
Параметры
| Параметр | Обязательное поле | Type | Описание |
|---|---|---|---|
| arg1 | Да | boolean | Первое значение, которое необходимо проверить, имеет ли значение true. |
| arg2 | Да | boolean | Второе значение, которое необходимо проверить, имеет ли значение true. |
| дополнительные аргументы | No | boolean | Дополнительные аргументы, чтобы проверить, верно ли они. |
Возвращаемое значение
Возвращает результат True, если все значения соответствуют истине. В противном случае — False.
Примеры
В следующем примере показано, как использовать функцию logical :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"andExampleOutput": {
"type": "bool",
"value": "[and(bool('true'), bool('false'))]"
},
"orExampleOutput": {
"type": "bool",
"value": "[or(bool('true'), bool('false'))]"
},
"notExampleOutput": {
"type": "bool",
"value": "[not(bool('true'))]"
}
}
}
Выходные данные из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| andExampleOutput | Bool | False |
| orExampleOutput | Bool | Истина |
| notExampleOutput | Bool | False |
bool
bool(arg1)
Преобразует параметр в логическое значение.
В Bicep используйте логическую функцию bool.
Параметры
| Параметр | Обязательное поле | Type | Описание |
|---|---|---|---|
| arg1 | Да | строка или целое число | Значение, которое необходимо преобразовать в логическое. |
Возвращаемое значение
Логическое выражение преобразованного значения.
Замечания
Для получения логических значений также можно использовать операторы true () и false ().
Примеры
В следующем примере показано, как использовать bool строку или целое число:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"trueString": {
"type": "bool",
"value": "[bool('true')]"
},
"falseString": {
"type": "bool",
"value": "[bool('false')]"
},
"trueInt": {
"type": "bool",
"value": "[bool(1)]"
},
"falseInt": {
"type": "bool",
"value": "[bool(0)]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| trueString | Bool | Истина |
| falseString | Bool | False |
| trueInt | Bool | Истина |
| falseInt | Bool | False |
false
false()
Возвращает значение false.
Функция false недоступна в Bicep. Вместо этого используйте ключевое слово false.
Параметры
Функция false не принимает никаких параметров.
Возвращаемое значение
Логическое значение, которое всегда является ложным.
Пример
В следующем примере возвращается ложное выходное значение:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"falseOutput": {
"type": "bool",
"value": "[false()]"
}
}
}
Выходные данные из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| falseOutput | Bool | False |
if
if(condition, trueValue, falseValue)
Возвращает значение в зависимости от того, имеет ли условие значение true или false.
Функция if не поддерживается в Bicep. Вместо нее используйте оператор ?:.
Параметры
| Параметр | Обязательное поле | Type | Описание |
|---|---|---|---|
| condition | Да | boolean | Значение, указывающее, имеет ли значение true или false. |
| trueValue | Да | строка, целое число, объект или массив | Возвращаемое значение, если условие выполняется. |
| falseValue | Да | строка, целое число, объект или массив | Возвращаемое значение, если условие не выполняется. |
Возвращаемое значение
Возвращает второй параметр, если первый параметр имеет значение True (Истина). В противном случае возвращает третий параметр.
Замечания
Для условия True вычисляется только истинное значение. Для условия False вычисляется только ложное значение. С помощью функции if можно включать выражения, которые являются только условно допустимыми. Например, можно сослаться на ресурс, который существует при одном условии, но не существует при другом. Пример условной оценки выражений показан в следующем разделе.
Обратите внимание, что приведенное выше правило применяется только в том случае, если условие можно оценить в начале процесса развертывания шаблона. Например, нельзя использовать reference() в условии.
Примеры
В следующем примере показано, как использовать функцию if :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
],
"outputs": {
"yesOutput": {
"type": "string",
"value": "[if(equals('a', 'a'), 'yes', 'no')]"
},
"noOutput": {
"type": "string",
"value": "[if(equals('a', 'b'), 'yes', 'no')]"
},
"objectOutput": {
"type": "object",
"value": "[if(equals('a', 'a'), json('{\"test\": \"value1\"}'), json('null'))]"
}
}
}
Выходные данные из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| yesOutput | Строка | yes |
| noOutput | Строка | no |
| objectOutput | Object | { "test": "value1" } |
В следующем примере шаблона показано использование этой функцию с выражениями, которые являются только условно допустимыми.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string"
},
"location": {
"type": "string"
},
"logAnalytics": {
"type": "string",
"defaultValue": ""
}
},
"resources": [
{
"condition": "[not(empty(parameters('logAnalytics')))]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2025-04-01",
"name": "[format('{0}/omsOnboarding', parameters('vmName'))]",
"location": "[parameters('location')]",
"properties": {
"publisher": "Microsoft.EnterpriseCloud.Monitoring",
"type": "MicrosoftMonitoringAgent",
"typeHandlerVersion": "1.0",
"autoUpgradeMinorVersion": true,
"settings": {
"workspaceId": "[if(not(empty(parameters('logAnalytics'))), reference(parameters('logAnalytics'), '2015-11-01-preview').customerId, null())]"
},
"protectedSettings": {
"workspaceKey": "[if(not(empty(parameters('logAnalytics'))), listKeys(parameters('logAnalytics'), '2015-11-01-preview').primarySharedKey, null())]"
}
}
}
],
"outputs": {
"mgmtStatus": {
"type": "string",
"value": "[if(not(empty(parameters('logAnalytics'))), 'Enabled monitoring for VM!', 'Nothing to enable')]"
}
}
}
not
not(arg1)
Преобразует логическое значение в противоположное ему значение.
Функция not не поддерживается в Bicep. Вместо нее используйте оператор !.
Параметры
| Параметр | Обязательное поле | Type | Описание |
|---|---|---|---|
| arg1 | Да | boolean | Преобразуемое значение . |
Возвращаемое значение
Возвращает значение True (Истина), если параметр имеет значение False (Ложь). Возвращает значение False (Ложь), если параметр имеет значение True (Истина).
Примеры
В следующем примере показано, как использовать функцию logical :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"andExampleOutput": {
"type": "bool",
"value": "[and(bool('true'), bool('false'))]"
},
"orExampleOutput": {
"type": "bool",
"value": "[or(bool('true'), bool('false'))]"
},
"notExampleOutput": {
"type": "bool",
"value": "[not(bool('true'))]"
}
}
}
Выходные данные из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| andExampleOutput | Bool | False |
| orExampleOutput | Bool | Истина |
| notExampleOutput | Bool | False |
В следующем примере используются notравные значения:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
],
"outputs": {
"checkNotEquals": {
"type": "bool",
"value": "[not(equals(1, 2))]"
}
}
}
Выходные данные из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| checkNotEquals | Bool | Истина |
or
or(arg1, arg2, ...)
Проверяет, имеет ли значение параметра значение true.
Функция or не поддерживается в Bicep. Вместо нее используйте оператор ||.
Параметры
| Параметр | Обязательное поле | Type | Описание |
|---|---|---|---|
| arg1 | Да | boolean | Первое значение, которое необходимо проверить, имеет ли значение true. |
| arg2 | Да | boolean | Второе значение, которое необходимо проверить, имеет ли значение true. |
| дополнительные аргументы | No | boolean | Дополнительные аргументы, чтобы проверить, верно ли они. |
Возвращаемое значение
Возвращает результат True, если какое-либо значение соответствует истине. В противном случае — False.
Примеры
В следующем примере показано, как использовать функцию logical :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"andExampleOutput": {
"type": "bool",
"value": "[and(bool('true'), bool('false'))]"
},
"orExampleOutput": {
"type": "bool",
"value": "[or(bool('true'), bool('false'))]"
},
"notExampleOutput": {
"type": "bool",
"value": "[not(bool('true'))]"
}
}
}
Выходные данные из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| andExampleOutput | Bool | False |
| orExampleOutput | Bool | Истина |
| notExampleOutput | Bool | False |
true
true()
Возвращает значение true.
Функция true недоступна в Bicep. Вместо этого используйте ключевое слово true.
Параметры
Функция true не принимает никаких параметров.
Возвращаемое значение
Логическое значение, которое всегда верно.
Пример
В следующем примере возвращается истинное выходное значение:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"trueOutput": {
"type": "bool",
"value": "[true()]"
}
}
}
Выходные данные из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| trueOutput | Bool | Истина |
Следующие шаги
- Описание разделов в шаблоне ARM приведено в статье Общие сведения о структуре и синтаксисе шаблонов ARM.