14.4. JSONata を使用した JSON のイベント変換
JSONata は、JSON データ用の軽量クエリーおよび変換言語です。Knative EventTransform では、JSONata 式がイベントを再形成する重要な方法を提供します。これらを使用すると、イベントデータから値を抽出したり、特定のフィールドを CloudEvent 属性に昇格したり、ペイロード全体を再構築したり、計算された値を追加したり、条件付きロジックを適用してイベントの変換方法を制御したりできます。
EventTransform リソースの spec.jsonata.expression フィールドに JSONata 式を指定できます。次の例に示すように、式は受信した CloudEvent を新しい CloudEvent にマッピングします。
JSONata を使用した簡単なイベント変換の例
14.4.1. JSONata での CloudEvent 構造 リンクのコピーリンクがクリップボードにコピーされました!
EventTransform で JSONata を使用する場合、式への入力はすべての標準属性とイベントペイロードを含む完全な CloudEvent オブジェクトです。
JSONata 式の出力では有効な CloudEvent を生成する必要があります。CloudEvents 仕様に準拠するには、少なくとも次のフィールドが必要です。
| フィールド | 要件 | 説明 |
|---|---|---|
|
|
| CloudEvents 仕様のバージョンを識別します。 |
|
| 一意の文字列 | イベントの一意識別子として機能します。 |
|
| 必須 |
|
|
| 必須 | イベントが発生したコンテキストを識別します。 |
|
| 必須 | 配信されるイベントペイロードが含まれます。 |
JSONata 式でこれらのフィールドを明示的に構築して、必要に応じて、再形成、補完および条件付きロジックを適用する間にも変換されたイベントが確実に有効になるようにします。