Workato Expression Language
WEL(Workato Expression Language)はWorkatoの変換言語です。システム間を移動するデータの形を変え、フィールド名の変更や構造の再編成、レコードの結合と集計、型の変換、宛先向けの値の書式設定を行います。
WELはWorkatoプラットフォームの一部であるため、インストールするもの、接続先、管理するランタイムはありません。 WELはレシピと並行してWorkatoのデータプレーンで実行されます。
機能の提供状況
WELは現在、一部のお客様にご利用いただけます。ご利用のワークスペースで利用可能かどうかを確認するには、Customer Success Representativeにお問い合わせください。
WELが存在する理由
連携は変換の問題です。システム間でオブジェクトの意味は一致していても、その形式は一致しません。例:
- ソースは氏名を送信し、宛先は2つのフィールドを想定しています。
- ソースは文字列として
"12.50"を送信し、宛先は厳密な10進数を想定しています。 - ソースはUTCタイムスタンプを送信し、宛先はローカルのカレンダー日付を想定しています。
適切に変換するには、フィールドマッピング以上のことが必要です。変換に汎用スクリプト言語を使用すると、保護すべきランタイム、最新状態を保つべき依存関係、安全に変更できるのが作成者だけのコードなどの問題が発生します。
WELは変換用に構築され、スコープが定められているため、汎用言語のセキュリティや保守の問題に直面せずにシステムを連携できます。
WELを言語たらしめるもの
WELをマッピングツールではなく言語にしている4つの特性があり、それぞれがフィールドマッピングでは防げない種類のバグを防ぎます。
16種類のデータ型: 厳密な10進数とゾーン対応の時間型により、ビジネスデータが転送中にひそかに形を変えるのを防ぎます。
245個の組み込み関数: 文字列、リスト、マップ、時間演算、数値の丸め、エンコード、エスケープ、Unicode、暗号化を網羅し、追加するライブラリではなく言語内ですべて提供されます。
合成: パイプライン演算子
>>を使用すると、複数ステップの変換を内側から外側へではなく、実行される順序で読み取れます。text_.orders >> filter_by(o ~> o.status == 'open') >> sort_by(o ~> o.total) >> reverse >> take(3)厳密性: デフォルトでは、WELは式を成功させるために値を強制変換せず、
ListまたはMapが意図せず文字列になることはありません。 WELは、不一致に対して、もっともらしい誤った回答を生成するのではなく、番号付きエラーを発生させます。
ユースケース
変換がフィールドマッピングを超える場合は、WELを使用します。
- ネストされたAPIレスポンスを、宛先が想定するフラットなレコードに再形成します。
- レコードのバッチをグループ化、重複排除、または集計します。
- 厳密な演算と近似演算の差が請求書に影響するような金額を計算します。
- 形式が一致しないシステムから届く日付、タイムゾーン、テキストを正規化します。
- CSV行、クエリ、URL、メッセージ本文など、書式設定された文字列を安全に作成します。
- 不正なデータをそのまま渡すのではなく、ペイロードを検証し、失敗したものをルーティングします。
単純な1対1のフィールドマッピングにはWELは必要ありません。
WELの実行場所
WELはWorkatoのデータプレーンで実行されます。データプレーンは、レシピの実行中にデータを処理するプラットフォームの部分であり、設定を処理するコントロールプレーンとは対照的です。 WELはレシピの他の部分と同じ場所で実行されるため、データを移動してWELに到達させる必要はありません。
WELはレシピ内でTransform data(データを変換)アクションを通じて利用できます。入力シェイプを宣言し、式を記述して、出力シェイプを宣言します。結果は下流ステップで使用できるデータピルになります。
次のステップ
最終更新日: