Bu sayfada, hesapları filtrelemek için kullanmanız gereken söz dizimi açıklanmaktadır.
Söz dizimi
Tam sayılar dışındaki tüm değerler çift tırnak (") içine alınmalıdır. Alıcı: belirli bir alanın hangi değerleri kabul ettiğini öğrenmek için referans bölümüne dokümanlarına göz atabilirsiniz.
Aynı sorguda birden çok alanı filtrelemek için AND
kullanabilirsiniz. Ayrıca transkriptinizi
birden çok relationship(...)
ve service(...)
filtresini birleştirmek için AND
kullanın.
Birden çok relationship(...)
ve service(...)
birleşimini birleştiren bir örneği aşağıda bulabilirsiniz
filtreler:
(relationship(service(type = "ACCOUNT_MANAGEMENT") AND service(handshakeState = "PENDING"))) OR (accountName = "store" AND relationship(...))
Bu örnek aşağıdaki hesapları döndürür:
Başka bir hesapla hesap yönetimi ilişkisi olan tüm hesaplar, ve kabul edilmeyi bekleyen ek bir ilişki.
Başka hesaplarla ilişkisi olan, görünen adı
"store"
olan tüm hesaplar.
Aynı alanda birden çok değeri filtrelemek için AND
parametresini kullanamazsınız. Örneğin,
Örneğin, accountName = "*A*" AND accountName = "*B*"
kullanamazsınız.
Aynı sorgudaki iki alanı filtrelemek için OR
kullanabilirsiniz. Filtreyi içine alın
OR
operatörünün her iki tarafına da parantez işareti koyun. Örneğin,
(accountName = "storeA") OR (accountName = "storeB")
İki alanı birleştirmek için yalnızca OR
kullanabilirsiniz. Örneğin,
(accountName = "storeA") OR (accountName = "storeB") OR (accountName =
"storeC")
AND
ve OR
operatörleri dışında ve
işlev çağrıları (ör. relationship(...)
ve service(...)
).
accountName
ve accountIdAlias
gibi dize alanları için şu ölçütlere göre filtreleme yapabilirsiniz:
değerleri
yıldız işareti (*
) dizilimi. Örneğin, accountName = "*foo*"
tüm
foo
içeren accountName
içeren hesaplar (ör. "storeFoo").
!=
kullanarak belirli bir sırayı içermeyen değerleri filtreleyebilirsiniz
ve *
. Örneğin, accountName != "*foo*"
,
foo
değerini içermeyen accountName
.
Fazladan boşluklar yoksayılır. Örneğin, foo AND bar
ile foo
AND bar
aynıdır.
Spesifikasyon
Filtreler, AIP filtresinin bir alt kümesini izler. ve onun resmi EBNF'si dil bilgisi:
filter
: accountFilterDisj
| accountFilterConj
;
accountFilterDisj
: "(" accountFilterConj " OR " accountFilterConj ")"
;
accountFilterConj
: accountFilter {" AND " accountFilter}
;
accountFilter
: displayNameFilter | relationshipFn
;
displayNameFilter
: "displayName" comparator value
;
relationshipFn
: "relationship(" relationshipConj ")"
;
relationshipConj
: relationshipFilter {" AND " relationshipFilter}
;
relationshipFilter
: "providerId = " numValue
| "callerHasAccessToProviderFilter()"
| "externalAccountId" comparator value
| "accountIdAlias" comparator value
| serviceFn
;
serviceFn
: "service(" serviceConj ")"
;
serviceConj
: serviceFilter {" AND " serviceFilter}
;
serviceFilter
: handshakeStateFilter
| typeFilter
;
handshakeStateFilter
: "handshakeState = " value
;
typeFilter
: "type = " value
;
comparator
: " = " | " != "
;