Function Compute のさまざまなトリガーのイベントパラメーターの内容と構造は、特定のトリガーイベントによって異なります。関数が呼び出されると、event の情報に基づいて対応するビジネスロジックが実装されます。
使用上の注意
event の形式で渡されるトリガーのトリガーイベントは、使用する前に解析する必要があります。 event パラメーターの解析に使用するサンプルコードの詳細については、「例 1:JSON 形式のパラメーターを解析する」をご参照ください。
HTTP トリガー
HTTP トリガーの関数シグネチャは、イベントオブジェクトではなく、リクエストオブジェクトとレスポンスオブジェクトです。したがって、HTTP トリガーはイベント形式に従いません。詳細については、「HTTP トリガーを設定する」をご参照ください。
時間トリガー
{
"triggerTime":"2023-12-26T07:49:00Z",
"triggerName":"timer-trigger",
"payload":"awesome-fc"
} パラメーター | タイプ | 例 | 説明 |
triggerTime | 文字列 | 2023-12-26T07:49:00Z | 関数がトリガーされる時刻。 |
triggerName | 文字列 | timer-trigger | 時間トリガーの名前。 |
payload | 文字列 | awesome-fc | トリガーを作成したときに [トリガーメッセージ] パラメーターに指定したカスタム値。 |
OSS トリガー
{
"events": [
{
"eventName": "ObjectCreated:PutObject",
"eventSource": "acs:oss",
"eventTime": "2022-08-13T06:45:43.000Z",
"eventVersion": "1.0",
"oss": {
"bucket": {
"arn": "acs:oss:cn-hangzhou:123456789:testbucket",
"name": "testbucket",
"ownerIdentity": "164901546557****"
},
"object": {
"deltaSize": 122539,
"eTag": "688A7BF4F233DC9C88A80BF985AB****",
"key": "source/a.png",
"objectMeta": {
"mimeType": "application/zip",
"userMeta": {
"x-oss-meta-last-modified":"20250213"
}
},
"size": 122539
},
"ossSchemaVersion": "1.0",
"ruleId": "9adac8e253828f4f7c0466d941fa3db81161****"
},
"region": "cn-hangzhou",
"requestParameters": {
"sourceIPAddress": "140.205.XX.XX"
},
"responseElements": {
"requestId": "58F9FF2D3DF792092E12044C"
},
"userIdentity": {
"principalId": "164901546557****"
}
}
]
}次の表は、イベントオブジェクトのパラメーターについて説明しています。
パラメーター | タイプ | 例 | 説明 |
eventName | 文字列 | ObjectCreated:PutObject | イベントのタイプ。 |
eventSource | 文字列 | acs:oss | イベントソース。値は |
eventTime | 文字列 | 2022-08-13T06:45:43.000Z | イベントが発生した時刻。値は ISO 8601 標準時刻形式です。 |
eventVersion | 文字列 | 1.0 | イベントプロトコルのバージョン番号。 |
oss | マップ | イベントの内容。 | |
bucket | マップ | bucket の詳細。 | |
name | 文字列 | testbucket | バケット名。 |
arn | 文字列 | acs:oss:cn-hangzhou:123456789:testbucket | バケットの Alibaba Cloud リソースネーム(ARN)。 |
ownerIdentity | 文字列 | 164901546557**** | バケットを作成したユーザーの ID。 |
object | マップ | object の詳細。 | |
size | 整数 | 122539 | object のサイズ。単位:バイト。 |
deltaSize | 整数 | 122539 | object サイズの変化。単位:バイト。
|
eTag | 文字列 | 688A7BF4F233DC9C88A80BF985AB**** | オブジェクトタグ。 |
key | 文字列 | source/a.png | オブジェクト名。 |
objectMeta | マップ | objectMeta パラメーターの詳細。 | |
mimeType | 文字列 | application/zip | オブジェクトタイプ。詳細については、「Content-Type ヘッダーを設定するにはどうすればよいですか?」をご参照ください。 |
userMeta | マップ | ユーザーメタデータ。オブジェクトの目的または属性を識別します。 | |
x-oss-meta-last-modified | 文字列 | 20250213 | ユーザーメタデータは、一連のキーと値のペアで構成されます。ユーザーメタデータヘッダーの名前は、 |
ossSchemaVersion | 文字列 | 1.0 | OSS スキーマのバージョン番号。 |
ruleId | 文字列 | 9adac8e253828f4f7c0466d941fa3db81161**** | イベントに一致するルールの ID。 |
region | 文字列 | cn-hangzhou | バケットが存在するリージョン。 |
requestParameters | マップ | リクエストパラメーター。 | |
sourceIPAddress | 文字列 | 140.205.XX.XX | リクエストの送信元の IP アドレス。 |
responseElements | マップ | レスポンスの詳細。 | |
requestId | 文字列 | 58F9FF2D3DF792092E12044C | リクエスト ID。 |
userIdentity | マップ | ユーザー属性。 | |
principalId | 文字列 | 164901546557**** | リクエストを開始した Alibaba Cloud アカウントの ID。 |
Simple Log Service トリガー
{
"parameter": {},
"source": {
"endpoint": "http://cn-hangzhou-intranet.log.aliyuncs.com",
"projectName": "fc-test-project",
"logstoreName": "fc-test-logstore",
"shardId": 0,
"beginCursor": "MTUyOTQ4MDIwOTY1NTk3ODQ2Mw==",
"endCursor": "MTUyOTQ4MDIwOTY1NTk3ODQ2NA=="
},
"jobName": "1f7043ced683de1a4e3d8d70b5a412843d81****",
"taskId": "c2691505-38da-4d1b-998a-f1d4bb8c****",
"cursorTime": 1529486425
} パラメーター | 説明 |
parameter | トリガーを作成するときに設定する 呼び出しパラメーター パラメーターの値。 |
source | 関数が Simple Log Service から読み取るログブロック情報。
説明 GetCursor 操作を呼び出して、beginCursor と endCursor を取得できます。その後、上記の形式でイベントを作成して、関数をデバッグできます。 |
jobName | Simple Log Service の ETL ジョブの名前です。Simple Log Service トリガーは、Simple Log Service の ETL ジョブに対応している必要があります。 このパラメーターは、Function Compute によって自動的に生成されるため、設定する必要はありません。 |
taskId | ETL タスクの場合、taskId は確定的な関数呼び出しの識別子です。 このパラメーターは Function Compute によって自動的に生成されるため、設定する必要はありません。 |
cursorTime | Simple Log Service に最後のログが到着した時間の UNIX タイムスタンプ。単位:秒。 |
Alibaba Cloud CDN トリガー
LogFileCreated イベントの例
filePathを Alibaba Cloud CDN ログまたはテストファイルのパスに置き換えます。{ "events": [ { "eventName": "LogFileCreated", "eventSource": "cdn", "region": "cn-hangzhou", "eventVersion": "1.0.0", "eventTime": "2018-06-14T15:31:49+08:00", "traceId": "c6459282-6a4d-4413-894c-e4ea3968****", "userIdentity": { "aliUid": "164901546557****" }, "resource": { "domain": "example.com" }, "eventParameter": { "domain": "example.com", "endTime": 1528959900, "fileSize": 1788115, "filePath": "http://cdnlog.cn-hangzhou.oss.aliyun-inc.com/www.aliyun.com/2017_12_27/www.aliyun.com_2017_12_27_0800_0900.gz?OSSAccessKeyId=xxxx&Expires=xxxx&Signature=xxxx", "startTime": 1528959600 } } ] }次の表に、イベントパラメーターのフィールドを示します。
パラメーター
タイプ
例
説明
eventName
String
LogFileCreated
イベントタイプ。
eventSource
String
cdn
イベントソースの名前。
region
String
cn-hangzhou
Alibaba Cloud CDN のリージョン。
eventVersion
String
1.0.0
イベントトリガーのバージョン。
eventTime
String
2018-06-14T15:31:49+08:00
イベントが発生した時刻。
traceId
String
c6459282-6a4d-4413-894c-e4ea3968****
トラブルシューティングのためにイベントソースによって配信される ID。
userIdentity
Map
ユーザーに関する情報。
aliUid
String
164901546557****
名前空間を作成した Alibaba Cloud アカウントの ID。
resource
Map
リソースに関する情報。
domain
String
example.com
エンドポイント。
eventParameter
Map
イベントパラメーター。
domain
String
example.com
エンドポイント。
endTime
String
1528959900
ログファイルの終了時刻。
fileSize
String
1788115
ログファイルのサイズ。
filePath
String
http://cdnlog.cn-hangzhou.oss.aliyun-inc.com/www.aliyun.com/2017_12_27/www.aliyun.com_2017_12_27_0800_0900.gz?OSSAccessKeyId=xxxx&Expires=xxxx&Signature=xxxx
ログファイルの場所。
startTime
String
1528959600
ログファイルの開始時刻。
CachedObjectsRefreshed イベントと CachedObjectsPushed イベントの例
{ "events": [ { "eventName": "CachedObjectsRefreshed", // イベント名 "eventVersion": "1.0.0", // イベントのバージョン "eventSource": "cdn", // イベントソース "region": "cn-hangzhou", // リージョン "eventTime": "2018-03-16T14:19:55+08:00", // イベント発生時刻 "traceId": "cf89e5a8-7d59-4bb5-a33e-4c3d08e2****", // トレースID "resource": { "domain": "example.com" // ドメイン }, "eventParameter": { "objectPath": [ "/2018/03/16/13/33b430c57e7.mp4", // オブジェクトパス "/2018/03/16/14/4ff6b9bd54d.mp4" // オブジェクトパス ], "createTime": 1521180769, // 作成時刻 "domain": "example.com", // ドメイン "completeTime": 1521180777, // 完了時刻 "objectType": "File", // オブジェクトタイプ "taskId": 2089687230 // タスクID }, "userIdentity": { "aliUid": "164901546557****" // ユーザーID } } ] }次の表に、イベントパラメーターのフィールドを示します。
パラメーター
タイプ
例
説明
eventName
String
CachedObjectsRefreshed
イベントタイプ。
eventSource
String
cdn
イベントソースの名前。
region
String
cn-hangzhou
Alibaba Cloud コンテンツデリバリーネットワークのリージョン。
eventVersion
String
1.0.0
イベントトリガーのバージョン。
eventTime
String
2018-06-14T15:31:49+08:00
イベントが発生した時刻。
traceId
String
c6459282-6a4d-4413-894c-e4ea3968****
トラブルシューティングのためにイベントソースによって配信される ID。
resource
Map
リソースに関する情報。
domain
String
example.com
エンドポイント。
eventParameter
Map
イベントパラメーター。
objectPath
String
/2018/03/16/13/33b430c57e7.mp4
リソース識別子。
createTime
String
1521180769
リフレッシュの開始時刻。
domain
String
example.com
エンドポイント。
completeTime
String
1521180777
リフレッシュの終了時刻。
objectType
String
File
リフレッシュされるアイテム。有効な値:
File: ファイル
Directory: フォルダー
taskId
String
2089687230
リソースリフレッシュタスクの ID。
userIdentity
Map
ユーザーに関する情報。
aliUid
String
164901546557****
名前空間を作成した Alibaba Cloud アカウントの ID。
CdnDomainStarted イベントと CdnDomainStopped イベントのサンプル
{ "events": [ { "eventName": "CdnDomainStarted", // イベント名:CDNドメイン開始 "eventVersion": "1.0.0", // イベントバージョン "eventSource": "cdn", // イベントソース "region": "cn-hangzhou", // リージョン "eventTime": "2018-03-16T14:19:55+08:00", // イベント発生時刻 "traceId": "cf89e5a8-7d59-4bb5-a33e-4c3d08e2****", // トレースID "resource": { "domain": "example.com" // ドメイン }, "eventParameter": { "domain": "example.com", // ドメイン "status": "online" // ステータス }, "userIdentity": { "aliUid": "164901546557****" // ユーザーID } } ] }次の表に、イベントパラメーターのフィールドを示します。
パラメーター
タイプ
例
説明
eventName
String
CdnDomainStarted
イベントタイプ。
eventSource
String
cdn
イベントソースの名前。
region
String
cn-hangzhou
Alibaba Cloud CDN のリージョン。
eventVersion
String
1.0.0
イベントトリガーのバージョン。
eventTime
String
2018-06-14T15:31:49+08:00
イベントが発生した時刻。
traceId
String
c6459282-6a4d-4413-894c-e4ea3968****
トラブルシューティングのためにイベントソースによって配信される ID。
resource
Map
リソースに関する情報。
domain
String
example.com
エンドポイント。
eventParameter
Map
イベントパラメーター。
domain
String
example.com
エンドポイント。
status
String
online
高速化ドメイン名のステータス。
userIdentity
Map
ユーザーに関する情報。
aliUid
String
164901546557****
名前空間を作成した Alibaba Cloud アカウントの ID。
CdnDomainAdded イベントと CdnDomainDeleted イベントのサンプル
{ "events": [ { "eventName": "CdnDomainAdded", // イベント名:CDNドメイン追加 "eventVersion": "1.0.0", // イベントバージョン "eventSource": "cdn", // イベントソース "region": "cn-hangzhou", // リージョン "eventTime": "2018-03-16T14:19:55+08:00", // イベント発生時刻 "traceId": "cf89e5a8-7d59-4bb5-a33e-4c3d08e2****", // トレースID "resource": { "domain": "example.com" // ドメイン }, "eventParameter": { "domain": "example.com" // ドメイン }, "userIdentity": { "aliUid": "164901546557****" // ユーザーID } } ] }次の表に、イベントパラメーターのフィールドを示します。
パラメーター
タイプ
例
説明
eventName
String
CdnDomainAdded
イベントタイプ。
eventSource
String
cdn
イベントソースの名前。
region
String
cn-hangzhou
Alibaba Cloud CDN のリージョン。
eventVersion
String
1.0.0
イベントトリガーのバージョン。
eventTime
String
2018-06-14T15:31:49+08:00
イベントが発生した時刻。
traceId
String
c6459282-6a4d-4413-894c-e4ea3968****
トラブルシューティングのためにイベントソースによって配信される ID。
resource
Map
リソースに関する情報。
domain
String
example.com
エンドポイント。
eventParameter
Map
イベントパラメーター。
domain
String
example.com
エンドポイント。
userIdentity
Map
ユーザーに関する情報。
aliUid
String
164901546557****
名前空間を作成した Alibaba Cloud アカウントの ID。
Tablestore トリガー
{
"Version": "Sync-v1",
"Records": [
{
"Type": "PutRow",
"Info": {
"Timestamp": 1506416585740836
},
"PrimaryKey": [
{
"ColumnName": "pk_0",
"Value": 1506416585881590900
},
{
"ColumnName": "pk_1",
"Value": "2017-09-26 17:03:05.8815909 +0800 CST"
},
{
"ColumnName": "pk_2",
"Value": 1506416585741000
}
],
"Columns": [
{
"Type": "Put",
"ColumnName": "attr_0",
"Value": "hello_table_store",
"Timestamp": 1506416585741
},
{
"Type": "Put",
"ColumnName": "attr_1",
"Value": 1506416585881590900,
"Timestamp": 1506416585741
}
]
}
]
}パラメーター | 説明 |
バージョン | ペイロードのバージョン。例:Sync-v1。値は文字列です。 |
レコード | テーブル内の増分データの行を格納する配列。各要素には、次のパラメーターが含まれています。
|
プライマリキー | プライマリキー列を格納する配列。各要素には、次のパラメーターが含まれています。
|
列 | 属性列を格納する配列。各要素には、次のパラメーターが含まれています。
|
MNS トピックトリガー
Simple Message Queue (formerly MNS) Topic トリガーで [イベント形式] パラメーターを [STREAM] に設定した場合のイベントコンテンツの形式の例:
メッセージにメッセージ属性が含まれていない場合のイベントコンテンツの形式の例を、次のサンプルコードに示します。
説明メッセージにメッセージ属性が含まれていない場合、イベントのコンテンツは JSON 形式の文字列です。
# メッセージ本文 'hello topic'メッセージにメッセージ属性が含まれている場合のイベントコンテンツの形式の例を、次のサンプルコードに示します。
説明イベントのコンテンツには、メッセージ属性に関連するキーと値のペアが含まれています。詳細については、「PublishMessage」をご参照ください。
{ "body": "hello topic", "attrs": { "Extend": "{\\"key\\":\\"value\\"}" } }
Simple Message Queue (formerly MNS) Topic トリガーでイベント形式パラメーターを [JSON] に設定した場合のイベントコンテンツの形式の例:
メッセージにメッセージ属性が含まれていない場合のイベントコンテンツの形式の例を、次のサンプルコードに示します。
{ "TopicOwner": "118620210433****", "Message": "hello topic", "Subscriber": "118620210433****", "PublishTime": 1550216480040, "SubscriptionName": "test-fc-subscribe", "MessageMD5": "BA4BA9B48AC81F0F9C66F6C909C3****", "TopicName": "Mytopic", "MessageId": "2F5B3C082B923D4EAC694B76D928****" }メッセージにメッセージ属性が含まれている場合のイベントコンテンツの形式の例を、次のサンプルコードに示します。
説明イベントのコンテンツには、メッセージ属性に関連するキーと値のペアが含まれています。詳細については、「PublishMessage」をご参照ください。
{ "key": "value", "TopicOwner": "118620210433****", "Message": "hello topic", "Subscriber": "118620210433****", "PublishTime": 1550216302888, "SubscriptionName": "test-fc-subscribe", "MessageMD5": "BA4BA9B48AC81F0F9C66F6C909C3****", "TopicName": "Mytopic", "MessageId": "2F5B3C281B283D4EAC694B742528****" }
次の表では、イベントのパラメーターについて説明します。
パラメータ | タイプ | 例 | 説明 |
キー | String | 値 | メッセージ属性に関連するキーと値のペア。 |
TopicOwner | String | 118620210433**** | Simple Message Queue (formerly MNS) Topic オーナーのアカウント ID。 |
メッセージ | String | hello topic | メッセージの内容。 |
サブスクライバー | String | 118620210433**** | Simple Message Queue (formerly MNS) の Topic をサブスクライブするユーザーのアカウント ID です。 |
PublishTime | Int | 1550216302888 | メッセージが公開された時間。 |
SubscriptionName | String | test-fc-subscribe | サブスクリプションの名前。 |
MessageMD5 | String | BA4BA9B48AC81F0F9C66F6C909C3**** | メッセージ本文の MD5 ハッシュ値。 |
TopicName | String | Mytopic | Simple Message Queue (formerly MNS) Topic の名前。 |
MessageId | String | 2F5B3C281B283D4EAC694B742528**** | メッセージ ID。 |
MNS キュー トリガー
event のサンプルコード:
[
{
"id":"c2g71017-6f65-fhcf-a814-a396fc8d****",
"source":"MNS-Function-mnstrigger",
"specversion":"1.0",
"type":"mns:Queue:SendMessage",
"datacontenttype":"application/json; charset=utf-8",
"subject":"acs:mns:cn-hangzhou:164901546557****:queues/zeus",
"time":"2021-04-08T06:28:17.093Z",
"aliyunaccountid":"164901546557****",
"aliyunpublishtime":"2021-10-15T07:06:34.028Z",
"aliyunoriginalaccountid":"164901546557****",
"aliyuneventbusname":"MNS-Function-mnstrigger",
"aliyunregionid":"cn-chengdu",
"aliyunpublishaddr":"42.120.XX.XX",
"data":{
"requestId":"606EA3074344430D4C81****",
"messageId":"C6DB60D1574661357FA227277445****",
"messageBody":"TEST"
}
},
{
"id":"d2g71017-6f65-fhcf-a814-a396fc8d****",
"source":"MNS-Function-mnstrigger",
"specversion":"1.0",
"type":"mns:Queue:SendMessage",
"datacontenttype":"application/json; charset=utf-8",
"subject":"acs:mns:cn-hangzhou:164901546557****:queues/zeus",
"time":"2021-04-08T06:28:17.093Z",
"aliyunaccountid":"164901546557****",
"aliyunpublishtime":"2021-10-15T07:06:34.028Z",
"aliyunoriginalaccountid":"164901546557****",
"aliyuneventbusname":"MNS-Function-mnstrigger",
"aliyunregionid":"cn-chengdu",
"aliyunpublishaddr":"42.120.XX.XX",
"data":{
"requestId":"606EA3074344430D4C81****",
"messageId":"C6DB60D1574661357FA227277445****",
"messageBody":"TEST"
}
}
]次の表は、data に含まれるパラメーターについて説明しています。CloudEvents 仕様で定義されているパラメーターについては、「概要」をご参照ください。
パラメーター | 必須 | 例 | 説明 |
requestId | String | 606EA3074344430D4C81**** | リクエスト ID。各リクエストの ID は一意です。 |
messageId | String | C6DB60D1574661357FA227277445**** | メッセージ ID。各メッセージの ID は一意です。 |
messageBody | String | TEST | メッセージ本文。 |
ApsaraMQ for RocketMQ トリガー
event のサンプルコード:
[
{
"id":"94ebc15f-f0db-4bbe-acce-56fb72fb****",
"source":"RocketMQ-Function-rocketmq-trigger",
"specversion":"1.0",
"type":"mq:Topic:SendMessage",
"datacontenttype":"application/json; charset=utf-8",
"subject":"acs:mq:cn-hangzhou:164901546557****:MQ_INST_164901546557****_BXhFHryi%TopicName",
"time":"2021-04-08T06:01:20.766Z",
"aliyunaccountid":"164901546557****",
"aliyunpublishtime":"2021-10-15T02:05:16.791Z",
"aliyunoriginalaccountid":"164901546557****",
"aliyuneventbusname":"RocketMQ-Function-rocketmq-trigger",
"aliyunregionid":"cn-chengdu",
"aliyunpublishaddr":"42.120.XX.XX",
"data":{
"topic":"TopicName",
"systemProperties":{
"MIN_OFFSET":"0",
"TRACE_ON":"true",
"MAX_OFFSET":"8",
"MSG_REGION":"cn-hangzhou",
"KEYS":"systemProperties.KEYS",
"CONSUME_START_TIME":1628577790396,
"TAGS":"systemProperties.TAGS",
"INSTANCE_ID":"MQ_INST_164901546557****_BXhFHryi"
},
"userProperties":{
},
"body":"TEST"
}
},
{
"id":"94ebc15f-f0db-4bbe-acce-56fb72fb****",
"source":"RocketMQ-Function-rocketmq-trigger",
"specversion":"1.0",
"type":"mq:Topic:SendMessage",
"datacontenttype":"application/json; charset=utf-8",
"subject":"acs:mq:cn-hangzhou:164901546557****:MQ_INST_164901546557****_BXhFHryi%TopicName",
"time":"2021-04-08T06:01:20.766Z",
"aliyunaccountid":"164901546557****",
"aliyunpublishtime":"2021-10-15T02:05:16.791Z",
"aliyunoriginalaccountid":"164901546557****",
"aliyuneventbusname":"RocketMQ-Function-rocketmq-trigger",
"aliyunregionid":"cn-chengdu",
"aliyunpublishaddr":"42.120.XX.XX",
"data":{
"topic":"TopicName",
"systemProperties":{
"MIN_OFFSET":"0",
"TRACE_ON":"true",
"MAX_OFFSET":"8",
"MSG_REGION":"cn-hangzhou",
"KEYS":"systemProperties.KEYS",
"CONSUME_START_TIME":1628577790396,
"TAGS":"systemProperties.TAGS",
"INSTANCE_ID":"MQ_INST_164901546557****_BXhFHryi"
},
"userProperties":{
},
"body":"TEST"
}
}
]data に含まれるパラメーターについて、次の表で説明します。CloudEvents 仕様で定義されているパラメーターについては、「概要」をご参照ください。
パラメーター | タイプ | 例 | 説明 |
topic | String | TopicName | Topic 名。 |
systemProperties | Map | システムプロパティ。 | |
MIN_OFFSET | Int | 0 | 最も古いオフセット。 |
TRACE_ON | ブール値 | true | メッセージトレースが存在するかどうかを示します。有効な値:
|
MAX_OFFSET | Int | 8 | 最新のオフセット。 |
MSG_REGION | String | cn-hangzhou | メッセージが送信されるリージョン。 |
KEYS | String | systemProperties.KEYS | メッセージのフィルタリングに使用されるキー。 |
CONSUME_START_TIME | Long | 1628577790396 | メッセージ消費の開始時刻。単位: ミリ秒。 |
UNIQ_KEY | String | AC14C305069E1B28CDFA3181CDA2**** | メッセージの一意のキー。 |
TAGS | String | systemProperties.TAGS | メッセージのフィルタリングに使用されるタグ。 |
INSTANCE_ID | String | MQ_INST_123456789098****_BXhFHryi | ApsaraMQ for RocketMQ インスタンスの ID。 |
userProperties | Map | なし | ユーザープロパティ。 |
body | String | TEST | メッセージ本文。 |
ApsaraMQ for RabbitMQ トリガー
イベント のサンプルコード:
[
{
"id":"bj694332-4cj1-389e-9d8c-b137h30b****",
"source":"RabbitMQ-Function-rabbitmq-trigger",
"specversion":"1.0",
"type":"amqp:Queue:SendMessage",
"datacontenttype":"application/json;charset=utf-8",
"subject":"acs:amqp:cn-hangzhou:164901546557****:/instances/amqp-cn-tl32e756****/vhosts/eb-connect/queues/housekeeping",
"time":"2021-08-12T06:56:40.709Z",
"aliyunaccountid":"164901546557****",
"aliyunpublishtime":"2021-10-15T08:58:55.140Z",
"aliyunoriginalaccountid":"164901546557****",
"aliyuneventbusname":"RabbitMQ-Function-rabbitmq-trigger",
"aliyunregionid":"cn-chengdu",
"aliyunpublishaddr":"42.120.XX.XX",
"data":{
"envelope":{
"deliveryTag":98,
"exchange":"",
"redeliver":false,
"routingKey":"housekeeping"
},
"body":{
"Hello":"RabbitMQ"
},
"props":{
"contentEncoding":"UTF-8",
"messageId":"f7622d51-e198-41de-a072-77c1ead7****"
}
}
},
{
"id":"bj694332-4cj1-389e-9d8c-b137h30b****",
"source":"RabbitMQ-Function-rabbitmq-trigger",
"specversion":"1.0",
"type":"amqp:Queue:SendMessage",
"datacontenttype":"application/json;charset=utf-8",
"subject":"acs:amqp:cn-hangzhou:164901546557****:/instances/amqp-cn-tl32e756****/vhosts/eb-connect/queues/housekeeping",
"time":"2021-08-12T06:56:40.709Z",
"aliyunaccountid":"164901546557****",
"aliyunpublishtime":"2021-10-15T08:58:55.140Z",
"aliyunoriginalaccountid":"164901546557****",
"aliyuneventbusname":"RabbitMQ-Function-rabbitmq-trigger",
"aliyunregionid":"cn-chengdu",
"aliyunpublishaddr":"42.120.XX.XX",
"data":{
"envelope":{
"deliveryTag":98,
"exchange":"",
"redeliver":false,
"routingKey":"housekeeping"
},
"body":{
"Hello":"RabbitMQ"
},
"props":{
"contentEncoding":"UTF-8",
"messageId":"f7622d51-e198-41de-a072-77c1ead7****"
}
}
}
]次の表に、data に含まれるパラメーターを示します。CloudEvents 仕様で定義されているパラメーターについては、「概要」をご参照ください。
パラメーター | タイプ | 例 | 説明 |
本文 | マップ | メッセージ本文。 | |
Hello | 文字列 | EventBridge | ユーザーデータ。 |
props | マップ | メッセージ属性。 | |
contentEncoding | 文字列 | utf-8 | メッセージ本文がエンコードされる形式。 |
messageId | 文字列 | f7622d51-e198-41de-a072-77c1ead7**** | メッセージ ID。各メッセージの ID は一意です。 |
エンベロープ | マップ | メッセージエンベロープに関する情報。 | |
deliveryTag | 整数 | 98 | メッセージタグ。 |
exchange | 文字列 | なし | メッセージを送信する交換の名前。 |
redeliver | ブール値 | false | メッセージを再送信できるかどうかを指定します。有効な値:
|
routingKey | 文字列 | housekeeping | メッセージのルーティングルール。 |
ApsaraMQ for Kafka トリガー
次のサンプルコードは、event の例を示しています。
[
{
"specversion":"1.0",
"id":"8e215af8-ca18-4249-8645-f96c1026****",
"source":"acs:alikafka",
"type":"alikafka:Topic:Message",
"subject":"acs:alikafka_pre-cn-i7m2t7t1****:topic:mytopic",
"datacontenttype":"application/json; charset=utf-8",
"time":"2022-06-23T02:49:51.589Z",
"aliyunaccountid":"164901546557****",
"data":{
"topic":"****",
"partition":7,
"offset":25,
"timestamp":1655952591589,
"headers":{
"headers":[
],
"isReadOnly":false
},
"key":"keytest",
"value":"hello kafka msg"
}
},
{
"specversion":"1.0",
"id":"8e215af8-ca18-4249-8645-f96c1026****",
"source":"acs:alikafka",
"type":"alikafka:Topic:Message",
"subject":"acs:alikafka_pre-cn-i7m2t7t1****:topic:mytopic",
"datacontenttype":"application/json; charset=utf-8",
"time":"2022-06-23T02:49:51.589Z",
"aliyunaccountid":"164901546557****",
"data":{
"topic":"****",
"partition":7,
"offset":25,
"timestamp":1655952591589,
"headers":{
"headers":[
],
"isReadOnly":false
},
"key":"keytest",
"value":"hello kafka msg"
}
}
]CloudEvents 仕様で定義されているパラメーターについては、「概要」をご参照ください。
次の表に、data に含まれるパラメーターを示します。
パラメーター | タイプ | 例 | 詳細 |
topic | String | TopicName | トピック名。 |
partition | Int | 1 | ApsaraMQ for Kafka インスタンス上のパーティションに関する情報。 |
offset | Int | 0 | ApsaraMQ for Kafka インスタンスのメッセージオフセット。 |
timestamp | String | 1655952591589 | メッセージ消費が開始された時刻を示すタイムスタンプ。 |
DTS トリガー
次のサンプルコードは、event コンテンツのフォーマットの例を示しています。
[
{
"data": {
"id": 321****,
"topicPartition": {
"hash": 0,
"partition": 0,
"topic": "cn_hangzhou_rm_1234****_test_version2"
},
"offset": 3218099,
"sourceTimestamp": 1654847757,
"operationType": "UPDATE",
"schema": {
"recordFields": [
{
"fieldName": "id",
"rawDataTypeNum": 8,
"isPrimaryKey": true,
"isUniqueKey": false,
"fieldPosition": 0
},
{
"fieldName": "topic",
"rawDataTypeNum": 253,
"isPrimaryKey": false,
"isUniqueKey": false,
"fieldPosition": 1
}
],
"nameIndex": {
"id": {
"fieldName": "id",
"rawDataTypeNum": 8,
"isPrimaryKey": true,
"isUniqueKey": false,
"fieldPosition": 0
},
"topic": {
"fieldName": "topic",
"rawDataTypeNum": 253,
"isPrimaryKey": false,
"isUniqueKey": false,
"fieldPosition": 1
}
},
"schemaId": "(hangzhou-test-db,hangzhou-test-db,message_info)",
"databaseName": "hangzhou--test-db",
"tableName": "message_info",
"primaryIndexInfo": {
"indexType": "PrimaryKey",
"indexFields": [
{
"fieldName": "id",
"rawDataTypeNum": 8,
"isPrimaryKey": true,
"isUniqueKey": false,
"fieldPosition": 0
}
],
"cardinality": 0,
"nullable": true,
"isFirstUniqueIndex": false
},
"uniqueIndexInfo": [],
"foreignIndexInfo": [],
"normalIndexInfo": [],
"databaseInfo": {
"databaseType": "MySQL",
"version": "5.7.35-log"
},
"totalRows": 0
},
"beforeImage": {
"recordSchema": {
"recordFields": [
{
"fieldName": "id",
"rawDataTypeNum": 8,
"isPrimaryKey": true,
"isUniqueKey": false,
"fieldPosition": 0
},
{
"fieldName": "topic",
"rawDataTypeNum": 253,
"isPrimaryKey": false,
"isUniqueKey": false,
"fieldPosition": 1
}
],
// ... (以下略、残りのコードは同じなので省略)
}
]
}
]CloudEvents 仕様で定義されているパラメーターの詳細については、「概要」をご参照ください。
次の表に、data フィールドに含まれるパラメーターを示します。
パラメーター | タイプ | 説明 |
id | String | DTS データ入力の ID。 |
topicPartition | Array | イベントがプッシュされるトピックに関するパーティション情報。 |
hash | String | DTS の基盤となるストレージパラメーター。 |
partition | String | パーティション。 |
topic | String | トピック名。 |
offset | Int | DTS データ入力のオフセット。 |
sourceTimestamp | Int | DTS データ入力が生成された時刻を示すタイムスタンプ。 |
operationType | String | DTS データ入力に関連する操作のタイプ。 |
schema | Array | データベースに関するスキーマ情報。 |
recordFields | Array | フィールドの詳細。 |
fieldName | String | フィールド名。 |
rawDataTypeNum | Int | フィールドタイプのマッピングされた値。 このパラメーターの値は、変更追跡インスタンスから逆シリアル化された増分データの dataTypeNumber フィールドの値に対応します。 詳細については、「Kafka クライアントを使用して追跡データを使用する」をご参照ください。 |
isPrimaryKey | ブール値 | フィールドがプライマリキーフィールドであるかどうかを示します。 |
isUniqueKey | ブール値 | フィールドに一意のキーがあるかどうかを示します。 |
fieldPosition | String | フィールドの位置。 |
nameIndex | Array | フィールド名に基づくフィールドのインデックス情報。 |
schemaId | String | データベーススキーマの ID。 |
databaseName | String | データベース名。 |
tableName | String | テーブル名。 |
primaryIndexInfo | String | プライマリキーインデックス。 |
indexType | String | インデックスタイプ。 |
indexFields | Array | インデックスが作成されるフィールド。 |
cardinality | String | プライマリキーのカーディナリティ。 |
nullable | ブール値 | プライマリキーを NULL にできるかどうかを示します。 |
isFirstUniqueIndex | ブール値 | インデックスが最初の一意のインデックスであるかどうかを示します。 |
uniqueIndexInfo | String | 一意なインデックス。 |
foreignIndexInfo | String | 外部キーのインデックス。 |
normalIndexInfo | String | 標準インデックス。 |
databaseInfo | Array | データベースに関する情報。 |
databaseType | String | データベースエンジン。 |
version | String | データベースエンジンバージョン。 |
totalRows | Int | テーブルの合計行数。 |
beforeImage | String | 操作が実行される前のフィールド値を記録するイメージ。 |
values | String | 記録されたフィールド値。 |
size | Int | 記録されたフィールドのサイズ。 |
afterImage | String | 操作が実行された後のフィールド値を記録するイメージ。 |
ApsaraMQ for MQTT トリガー
[
{
"props": {
"firstTopic": "testTopic",
"secondTopic": "/testMq4****",
"clientId": "consumerGroupID@@@xxx"
},
"body": "hello mq4Iot pub sub msg"
}
][次の表にイベントのパラメーターを示します。]
パラメーター | タイプ | 例 | 説明 |
props | Map | メッセージの属性。 | |
firstTopic | String | testTopic | メッセージの送受信に使用する親 Topic。 |
secondTopic | String | /testMq4**** | 子 Topic。 |
clientId | String | consumerGroupID@@@xx | クライアント ID。 |
body | String | hello mq4Iot pub sub msg | メッセージの内容。 |
セルフマネージド Apache RocketMQ トリガー
[
{
"msgId": "7F0000010BDD2A84AEE70DA49B57****",
"topic": "testTopic",
"systemProperties": {
"UNIQ_KEY": "7F0000010BDD2A84AEE70DA49B57****",
"CLUSTER": "DefaultCluster",
"MIN_OFFSET": "0",
"TAGS": "TagA",
"MAX_OFFSET": "128"
},
"userProperties": {},
"body": "Hello RocketMQ"
}
][以下の表にイベントのパラメーターを示します。]
パラメーター | 型 | 例 | 説明 |
msgId | String | 7F0000010BDD2A84AEE70DA49B57**** | Apache RocketMQ メッセージの ID です。 |
topic | String | testTopic | Apache RocketMQ クラスタ内の Topic の名前です。 |
systemProperties | Map | システムプロパティです。 | |
UNIQ_KEY | String | 7F0000010BDD2A84AEE70DA49B57**** | メッセージの一意のキーです。 |
CLUSTER | String | DefaultCluster | Apache RocketMQ クラスタの名前です。 |
MIN_OFFSET | Int | 0 | 最小オフセットです。 |
MAX_OFFSET | Int | 128 | 最大オフセットです。 |
TAGS | String | TagA | メッセージをフィルタリングするために使用されるタグです。 |
userProperties | Map | N/A | ユーザープロパティです。 |
body | String | Hello RocketMQ | メッセージの内容です。 |