Любая функция для Bicep

Bicep поддерживает функцию под названием any() для разрешения ошибок типов в системе типов Bicep. Эта функция используется, если формат предоставленного значения не соответствует тому, что ожидает система типов. Например, если свойству требуется число, но необходимо указать его как строку, к примеру '0.5'. Используйте функцию any(), чтобы подавить ошибку, о которой сообщает система типов.

Эта функция не существует в среде выполнения шаблона Azure Resource Manager. Ее использует только Bicep, и она не создается в JSON для созданного шаблона.

Примечание

Чтобы помочь в решении ошибок типа, сообщите нам, когда отсутствующие или неправильные типы потребовали от вас использования функции any(). Добавьте свои сведения к недостаточной проверке типов/неточностям GitHub.

any

any(value)

Возвращает значение, совместимое с любым типом данных.

Пространство имен: sys.

Параметры

Параметр Обязательно Тип Описание
value Да все типы Значение, которое нужно преобразовать в значение совместимого типа.

Возвращаемое значение

Значение в форме, совместимой с любым типом данных.

Примеры

В следующем примере показано, как использовать функцию any() для предоставления числовых значений в виде строк.

resource wpAci 'microsoft.containerInstance/containerGroups@2019-12-01' = {
  name: 'wordpress-containerinstance'
  location: location
  properties: {
    containers: [
      {
        name: 'wordpress'
        properties: {
          ...
          resources: {
            requests: {
              cpu: any('0.5')
              memoryInGB: any('0.7')
            }
          }
        }
      }
    ]
  }
}

Функция работает с любым присвоенным значением в Bicep. В следующем примере используется any() с тернарным выражением в качестве аргумента.

publicIPAddress: any((pipId == '') ? null : {
  id: pipId
})

Дальнейшие действия

Более сложные способы использования функции any() см. в следующих примерах: