2
我正在嘗試爲Amazon SNS設置Webhook。 SNS將發送一個JSON對象給webhook。基於KRL文檔,我可以使用event:param('name')來獲取事件參數。這適用於表單編碼數據,但是JSON呢?KRL webhooks接收JSON
我發出了呼籲postbin.org,這是postbin報道什麼:
body {
"Message": "You have ...",
"MessageId": "958....",
"Signature": "vo3v5f....",
...
}
這裏是我想什麼KRL寫:
rule sns_webhook {
select when webhook sometopic Type "SubscriptionConfirmation"
pre {
topic_arn = event:param("TopicARN");
signature = event:param("Signature");
message = event:param("Message");
subscribe_url = event:param("SubscribeURL");
}
if valid_signature(signature) then {
confirm_subscription(subscribe_url);
}
}
這會爲HTTP可能工作形式編碼的數據,但與JSON我期望以下將需要:
rule sns_json {
select when webhook sometopic
pre {
body = event:param('body').decode();
msg_type = body.pick("Type");
signature = body.pick("Signature");
...
}
if msg_type eq "SubscriptionConfirmation" && valid(signature) then
{
confirm_subscription(...);
}
}
我是否需要使用秒這裏介紹的ond方法?請問event:param('body')從SNS消息中獲取JSON數據?