Soracom

Users

ドキュメント
Home ドキュメント SORACOM Flux (Public beta) アクションリファレンス

OUTPUT の [高度な設定]

アクションの設定にある [OUTPUT][高度な設定] では、別のチャネルに送信するデータ形式を変更したり、アクションの実行結果が JSON 配列の場合に、要素ごとに個別の新しいイベントを発生させたりできます。

[データを変換する]

アクションの実行結果 (Webhook アクションの場合はレスポンスのこと) を変換できます。変換時には、「アクションへの入力」や「アクションの結果」などから必要なデータを抽出できます。

[データを変換する] にチェックを入れて、以下の項目を設定します。

項目説明
[Content-Type]別のチャネルに送信するデータの Content-Type を入力します。
[Content]

変換内容を設定します。この変換結果が、アクションの実行結果として扱われます。

  • アクションへの入力は、${payload.xxxxx} で取得できます。
  • 変換前のアクションの実行結果は、${result.xxxxx} で取得できます。

入力例 (1-1):

簡易物体検知アクション の実行結果のうち、検知した人の数 (${result.person}) だけを取り出します。

{
  "person": "${result.person}"
}

入力例 (1-2):

以下の 2 つのデータを、アクションの実行結果として扱います。

  • AI アクション を追加したチャネルに関するデータ (${payload})
  • AI アクションの結果から AI モデルからのレスポンス (${result.output})
{
  "payload": "${payload}",
  "ai_response": "${result.output}"
}
Flux アプリの動作途中のデータを抽出したり演算したりできます

入力できる式について詳しくは、アクション、コンディションの記法 を参照してください。

別のチャネルに送信できるペイロードの上限は 32,768 バイトです。アクションの結果が 32,768 バイトを超える場合は、当機能を利用して必要な項目に絞り込んでください。

[遅延 (秒)]

別のチャネルにデータを出力を開始するまでに待機する時間 (秒) を設定します。

  • [遅延(秒)] に設定できる値は最大 900 秒です。
  • [配列データを分割して、新規イベントとして送信する] にチェックが付いている場合は、[遅延 (秒)] は 1 個目の要素の出力を開始するまでに待機する時間 (秒) として扱われます。

[配列データを分割して、新規イベントとして送信する]

アクションの実行結果が JSON 配列の場合に、要素ごとに個別の新しいイベントを発生させることができます。なお、新しいイベントは、[OUTPUT][送信先チャネル] で指定したチャネルから開始されます。

[配列データを分割して、新規イベントとして送信する] にチェックを入れて、以下の項目を設定します。

項目説明
[間隔 (秒)]

JSON 配列の各要素を新しいイベントとして送信する際の、送信間隔(秒)を設定します。

  • 空欄の場合 (設定しない場合) は、5 秒間隔で送信されます。

  • JSON 配列のすべての要素が新しいイベントとして送信されるまでの時間が、[遅延 (秒)] とあわせて 900 秒を超える場合、全体で 900 秒に収まるように送信間隔が調整されます。このとき、[遅延 (秒)] は変更されません。

    たとえば、[遅延 (秒)] を「100」に設定し、[間隔 (秒)] を「1000」に設定して、要素が 3 つの JSON 配列を処理した場合は、以下のように動作します。

    イベントJSON 配列を処理するイベントが発生してからの経過時間説明
    JSON 配列を処理するイベント0 秒後基準になるイベントです。ここで JSON 配列が処理され、すべての要素に対して新しいイベントが発生します。
    1 個目のイベント100 秒後[遅延 (秒)] で指定した時間が経過したときに要素の処理が始まります。
    2 個目のイベント500 秒後1 個目のイベントと最後のイベントの間で均等に実行されます。
    3 個目のイベント900 秒後全体で 900 秒に収まるように調整されるため、900 秒後に実行されます。
新しいイベントとして個別にカウントされます
  • JSON 配列の各要素は、新しいイベントとしてチャネルに送信されます。その結果、イベント数として個別にカウントされます。たとえば、JSON 配列に 10 個の要素が含まれていた場合は、イベント数が 10 増加します。

  • 分割された要素をすべて実行した場合にイベント数の上限を超過するときは、別のチャネルには 1 つも送信されません (新しいイベントは発生しません)。イベント数の上限については、イベント数、クレジット使用量の上限を設定する を参照してください。

  • 新しいイベントの履歴は SORACOM Flux Studio の [実行履歴] で確認できます。詳しくは、実行履歴/メッセージ履歴 (ログ)を確認する を参照してください。

    要素ごとに発生した個別のイベントでは、CONTEXT に以下のようなデータが表示されます。

    {"eventType":"action","actionRunId":"0123456789ABCDEFGHIJKLMNOP"}
    

[OUTPUT][高度な設定][データを変換する][Content] を設定している場合は、その結果がアクションの実行結果として扱われます。そのため、[Content] でアクションの実行結果を JSON 配列にすれば、要素ごとに個別の新しいイベントを発生させることができます。