背景情報
EventBridgeは、次のイベント変換メソッドをサポートしています。
完全なデータ
変換方法として完全イベントを指定した場合、EventBridgeはイベントを変換せず、完全イベントをCloudEvents形式でイベントターゲットにルーティングします。 次の表に、完全イベント変換方法を使用するサンプルイベントを示します。
変換前のイベント | 変換方法 | イベントafter transformation |
{
"id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
"source":"acs.oss",
"specversion":"1.0",
"type":"oss:ObjectCreated:PostObject",
"datacontenttype":"application/json",
"dataschema":"http://example.com/test.json",
"subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
"time":"2020-08-17T16:04:46.149Asia/Shanghai",
"aliyuneventbusname":"demo-bus",
"aliyunregionid":"Shanghai",
"data":{
"name":"test",
"scope":100
}
}
| 完全なイベント | {
"id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
"source":"acs.oss",
"specversion":"1.0",
"type":"oss:ObjectCreated:PostObject",
"datacontenttype":"application/json",
"dataschema":"http://example.com/test.json",
"subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
"time":"2020-08-17T16:04:46.149Asia/Shanghai",
"aliyuneventbusname":"demo-bus",
"aliyunregionid":"Shanghai",
"data":{
"name":"test",
"scope":100
}
}
|
データ抽出
変換方法として部分イベントを指定した場合、EventBridgeはJSONPathを使用してCloudEvents形式のイベントからフィールドを抽出し、イベントの指定されたコンテンツをイベントターゲットにルーティングします。 次の表に、部分イベント変換メソッドを使用するサンプルイベントを示します。
変換前のイベント | 変換方法 | イベントafter transformation |
{
"id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
"source":"acs.oss",
"specversion":"1.0",
"type":"oss:ObjectCreated:PostObject",
"datacontenttype":"application/json",
"dataschema":"http://example.com/test.json",
"subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
"time":"2020-08-17T16:04:46.149Asia/Shanghai",
"aliyuneventbusname":"demo-bus",
"aliyunregionid":"Shanghai",
"data":{
"name":"test",
"scope":100
}
}
| 部分イベント $.data.name
| test
|
固定値
変換方法として固定値を指定した場合、イベントはトリガーとしてのみ機能します。 EventBridgeは、イベントの内容に関係なく、イベント内の固定値をイベントターゲットにルーティングします。 次の表に、固定値変換方式を使用するサンプルイベントを示します。
変換前のイベント | 変換方法 | イベントafter transformation |
{
"id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
"source":"acs.oss",
"specversion":"1.0",
"type":"oss:ObjectCreated:PostObject",
"datacontenttype":"application/json",
"dataschema":"http://example.com/test.json",
"subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
"time":"2020-08-17T16:04:46.149Asia/Shanghai",
"aliyuneventbusname":"demo-bus",
"aliyunregionid":"Shanghai",
"data":{
"name":"test",
"scope":100
}
}
| 固定値 test1
説明 value: 値の長さは最大10,240文字です。 | test1
|
テンプレート
変換方法としてテンプレートを指定した場合、EventBridgeはJSONPathを使用してCloudEvents形式のイベントからフィールドを抽出し、値を変数に格納してから、テンプレートで定義されている形式のイベントをイベントターゲットにルーティングします。 次の表に、テンプレート変換方法が使用されるサンプルイベントを示します。
変換前のイベント | 変換方法 | イベントafter transformation |
{
"id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
"source":"acs.oss",
"specversion":"1.0",
"type":"oss:ObjectCreated:PostObject",
"datacontenttype":"application/json",
"dataschema":"http://example.com/test.json",
"subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
"time":"2020-08-17T16:04:46.149Asia/Shanghai",
"aliyuneventbusname":"demo-bus",
"aliyunregionid":"Shanghai",
"data":{
"name":"test",
"scope":100
}
}
| テンプレート パラメーター {
"name":"$.data.name",
"constant":"Please deal with it timely."
}
説明 JSONPathによって抽出される値は、変数または固定値であり得る。 変数を定義する場合、ネストされた構造はサポートされません。 value: 値の長さは最大10,240文字です。
テンプレート The instance is broken, which name is ${name}, ${constant}
説明 テンプレートの長さは最大10,240文字です。
| The instance is broken, which name is test, Please deal with it timely.
|
カスタムテンプレートを文字列またはJSON形式で指定し、テンプレートに基づいてイベントを変換し、イベントをイベントターゲットにルーティングできます。 EventBridgeは、次のタイプのテンプレートをサポートします。
表 1. シンプルな文字列
変換前のイベント | 変換方法 | イベントafter transformation |
{
"id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
"source":"acs.oss",
"specversion":"1.0",
"type":"oss:ObjectCreated:PostObject",
"datacontenttype":"application/json",
"dataschema":"http://example.com/test.json",
"subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
"time":"2020-08-17T16:04:46.149Asia/Shanghai",
"aliyuneventbusname":"demo-bus",
"aliyunregionid":"Shanghai",
"data":{
"name":"test",
"state":"RUNNING"
}
}
| テンプレート | "name test is in RUNNING"
|
表 2. シンプルなJSON
変換前のイベント | 変換方法 | イベントafter transformation |
{
"id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
"source":"acs.oss",
"specversion":"1.0",
"type":"oss:ObjectCreated:PostObject",
"datacontenttype":"application/json",
"dataschema":"http://example.com/test.json",
"subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
"time":"2020-08-17T16:04:46.149Asia/Shanghai",
"aliyuneventbusname":"demo-bus",
"aliyunregionid":"Shanghai",
"data":{
"name":"test",
"state":"RUNNING"
}
}
| テンプレート | {
"name":"test",
"state":"RUNNING"
}
|
表 3. 変数と固定値を含むJSON
変換前のイベント | 変換方法 | イベントafter transformation |
{
"id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
"source":"acs.oss",
"specversion":"1.0",
"type":"oss:ObjectCreated:PostObject",
"datacontenttype":"application/json",
"dataschema":"http://example.com/test.json",
"subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
"time":"2020-08-17T16:04:46.149Asia/Shanghai",
"aliyuneventbusname":"demo-bus",
"aliyunregionid":"Shanghai",
"data":{
"name":"test",
"state":"RUNNING"
}
}
| テンプレート パラメーター {
"name":"$.data.name" 、
"state":"$.data.state"
}
テンプレート {
"name":"${name}",
"state":[
9,
"${state}",
true
],
"Transformed":"Yes"
}
| {
"name":"test",
"state":[
9,
"RUNNING",
true
],
"Transformed":"Yes"
}
|