Пытается использовать API-интерфейс Azure Resource Manager для поиска ресурсов. Сначала я попытался это:InvalidFilter с ресурсами ресурсов ресурса Azure
GET /subscriptions/xxx/resources?$filter=startswith(name,%20'web')&api-version=2015-01-01
Invalid $ фильтр
'startswith(name, 'web')'
указанный в строке запроса. Подробности: 'Неподдерживаемая функция фильтра найдена:' startswith '. Имя свойства: 'name'. Поддерживаемые функции: 'substringof'»
Тогда я попытался это:
GET /subscriptions/xxx/resources?$filter=substringof('web',%20name)%20eq%20true&api-version=2015-01-01
Invalid $ Фильтр
'substringof('web', name) eq true'
указан в строке запроса. Подробности: 'Неподдерживаемый токен, найденный в $ filter string.'
Я не эксперт по OData, поэтому я не уверен, что мой синтаксис неверен, или если я пытаюсь сделать что-то, что не поддерживается в этом API.
Проверено OData версии v2 и v3, синтаксис выглядит хорошо там .. OData v4 немного отличается, функция называется подстрокой там. Не могли бы вы исключить * eq true *, так как это бесполезно, поскольку подстрока должна возвращать логическое значение в любом случае? – juunas
@juunas Да, это был * eq true *, я понял это, выполнив трассировку команды PowerShell 'Find-AzureRmResource -ResourceNameContains'. – BenV