jsonPathとpick関数を使用して、現在のドメインに基づいてルールを実行する必要があるかどうかを判断しようとしています。私がやっていることの簡略版はここにあります:
global
{
dataset shopscotchMerchants <- "https://s3.amazonaws.com/app-files/dev/merchantJson.json" cachable for 2 seconds
}
rule checkdataset is active
{
select when pageview ".*" setting ()
pre
{
merchantData = shopscotchMerchants.pick("$.merchants[?(@.merchant=='Telefora')]");
}
emit
<|
console.log(merchantData);
|>
}
私が期待するコンソール出力はteleforaオブジェクトですが、代わりにjsonファイルから3つのオブジェクトすべてを取得します。
Merchant=='Telefora'の代わりにmerchantID==16を使用すると、うまく機能します。jsonPathは文字列にも一致する可能性があると思いました。上記の例はjsonのmerchantDomain部分を検索していませんが、同じ問題が発生しています。