Azure 리소스 관리자 API를 사용하여 리소스를 검색하려고했습니다. 쿼리 문자열에 지정된Azure Resource Manager 리소스가있는 InvalidFilter API
GET /subscriptions/xxx/resources?$filter=startswith(name,%20'web')&api-version=2015-01-01
잘못된 $ 필터
'startswith(name, 'web')'
: 우선이 시도. 세부 정보 : '지원되지 않는 필터 함수가 발견되었습니다 :'startswith '. 속성 이름 : '이름'. 지원되는 기능 : 그럼 난이 시도
'substringof' ': 쿼리 문자열에 지정된
GET /subscriptions/xxx/resources?$filter=substringof('web',%20name)%20eq%20true&api-version=2015-01-01
잘못된 $ 필터
'substringof('web', name) eq true'
. 세부 정보 : '$ filter 문자열에 지원되지 않는 토큰이 있습니다.'
저는 OData 전문가가 아니므로 구문이 잘못되었거나이 API에서 실제로 지원되지 않는 작업을 수행하려고하는지 확신 할 수 없습니다.
OData v2 및 v3 사양을 선택하면 구문이 정상적으로 보입니다. OData v4는 조금 다르며 기능은 부분 문자열이라고합니다. substringof가 어쨌든 boolean을 반환해야하기 때문에 무의미한 것이므로 * eq true *를 생략 해 주시겠습니까? – juunas
@juunas 그래, * eq true * 였고, Find-AzureRmResource -ResourceNameContains' PowerShell 명령의 흔적을 찾아 냈습니다. – BenV