翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
FROM 句
FROM 句はルールをトピックやトピックのフィルターに受信登録します。トピックまたはトピックフィルタは、一重引用符 (') で囲みます。ここで指定されたトピックフィルタに一致する MQTT トピックに送信されるメッセージごとに、ルールがトリガーされます。トピックのフィルタを使って、類似のトピックのグループにサブスクライブできます。
例:
トピックに公開された受信ペイロード 'topic/subtopic'
: {temperature:
50}
。
トピックに公開された受信ペイロード 'topic/subtopic-2'
: {temperature: 50}
。
SQL: "SELECT temperature AS t FROM 'topic/subtopic'"
。
ルールが 'topic/subtopic'
に受信登録されるため、受信ペイロードがルールに渡されます。ルールアクションに渡される発信ペイロードは、{t:
50}
です。ルールが 'topic/subtopic-2'
に受信登録されていないので、ルールは 'topic/subtopic-2'
で公開されるメッセージにトリガーされません。
# ワイルドカードの例:
「#」(複数レベル) ワイルドカード文字を使用して、1 つ以上の特定のパス要素に一致させることができます。
トピックに公開された受信ペイロード 'topic/subtopic'
: {temperature:
50}
。
トピックに公開された受信ペイロード 'topic/subtopic-2'
: {temperature: 60}
。
トピックに公開された受信ペイロード 'topic/subtopic-3/details'
: {temperature: 70}
。
トピックに公開された受信ペイロード 'topic-2/subtopic-x'
: {temperature: 80}
。
SQL: "SELECT temperature AS t FROM 'topic/#'"
。
ルールは 'topic'
で始まるすべてのトピックにサブスクライブされるため、3 回実行され、{t: 50}
(topic/subtopic)、{t: 60}
(topic/subtopic-2)、および {t: 70}
(topic/subtopic-3/details) の送信ペイロードがアクションに送信されます。'topic-2/subtopic-x'
に受信登録されていないので、{temperature: 80}
のメッセージにルールはトリガーされません。
+ ワイルドカードの例:
「+」(単数レベル) ワイルドカード文字を使用して、1 つの特定のパス要素に一致させることができます。
トピックに公開された受信ペイロード 'topic/subtopic'
: {temperature:
50}
。
トピックに公開された受信ペイロード 'topic/subtopic-2'
: {temperature: 60}
。
トピックに公開された受信ペイロード 'topic/subtopic-3/details'
: {temperature: 70}
。
トピックに公開された受信ペイロード 'topic-2/subtopic-x'
: {temperature: 80}
。
SQL: "SELECT temperature AS t FROM 'topic/+'"
。
ルールは、2 つのパス要素のあるすべてのトピックに受信登録されていて、最初の要素は 'topic'
です。ルールは 'topic/subtopic'
および 'topic/subtopic-2'
に送信されたメッセージに対して実行されますが、'topic/subtopic-3/details'
(トピックフィルターよりも多くのレベルがある) または 'topic-2/subtopic-x'
(topic
で始まらない) に対しては実行されません。