14.4. JSON を使用した JSON のイベント変換


JSONata は、JSON データ用の軽量のクエリーおよび変換言語です。Knative EventTransform 内では、JSONata 式がイベントを再成する重要な方法を提供します。これらを使用して、イベントデータから値を抽出し、CloudEvent 属性に特定のフィールドをプロモートし、ペイロード全体を再構築し、計算された値を追加し、条件付きロジックを適用してイベントの変換方法を制御できます。

EventTransform リソースの spec.jsonata.expression フィールドに JSONata 式を指定できます。以下の例のように、式により、受信 CloudEvent が新しい CloudEvent にマッピングされます。

JSONata を使用した単純なイベント変換の例

apiVersion: eventing.knative.dev/v1alpha1
kind: EventTransform
metadata:
  name: simple-transform
spec:
  jsonata:
    expression: |
      {
        "specversion": "1.0",
        "id": id,
        "time": time,
        "type": "transformed.type",
        "source": "transform.simple",
        "data": data
      }
Copy to Clipboard Toggle word wrap

14.4.1. JSONata の CloudEvent 構造

EventTransform で JSONata を使用する場合、式への入力は完全な CloudEvent オブジェクトになります。これには、すべての標準属性とイベントペイロードが含まれます。

JSONata 式の出力では、有効な CloudEvent を生成する必要があります。CloudEvents 仕様への準拠を確保するには、少なくとも以下のフィールドが必要です。

Expand
フィールドRequirement説明

specversion

1.0でなければなりません

CloudEvents 仕様バージョンを識別します。

id

一意の文字列

イベントの一意の識別子として機能します。

type

必須

com.example.object.created などのイベントタイプを示します。

source

必須

イベントが発生したコンテキストを識別します。

data

必須

配信されるイベントペイロードが含まれます。

これらのフィールドを JSONata 式に明示的に構築することで、必要に応じて再成形、エンリッチメント、または条件付きロジックを適用しても、変換イベントが有効であることを確認します。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat