14.4. JSON を使用した 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 仕様への準拠を確保するには、少なくとも以下のフィールドが必要です。
| フィールド | Requirement | 説明 |
|---|---|---|
|
|
| CloudEvents 仕様バージョンを識別します。 |
|
| 一意の文字列 | イベントの一意の識別子として機能します。 |
|
| 必須 |
|
|
| 必須 | イベントが発生したコンテキストを識別します。 |
|
| 必須 | 配信されるイベントペイロードが含まれます。 |
これらのフィールドを JSONata 式に明示的に構築することで、必要に応じて再成形、エンリッチメント、または条件付きロジックを適用しても、変換イベントが有効であることを確認します。