このトピックでは、DataWorks のイベントタイプ、メッセージフォーマット、およびフィールド定義について説明します。
概要
DataWorks では、イベントを「通常イベント」と「拡張ポイントイベント」の 2 種類に分類しています。分類の基準は、イベントが DataWorks 内部の操作をブロックできるかどうか、およびサブスクライブされたサービスが処理結果を返すことができるかどうかです。
-
通常イベント:「オープンイベント (OpenEvent)」を介して通常イベントをサブスクライブできます。これらのイベントは、トリガーされた操作をブロックしません。
-
拡張ポイントイベント:この種類のイベントをサブスクライブすると、「拡張機能 (Extensions)」機能を使用してカスタム応答を定義できます。操作がこの種類のイベントをトリガーすると、DataWorks は、カスタム拡張機能が結果を返すまで操作をブロックします。
このトピックでは、各モジュールでサポートされるイベント(カテゴリ[通常イベントまたは拡張ポイントイベント]、EventBridge タイプ、拡張機能用 eventCode)について説明します。
-
タイプ: イベントメッセージをフィルターするためのフィールドです。「イベントメッセージのサブスクリプションを有効化」をご参照ください。
-
eventCode:特定のイベントを識別するコードです。ローカル開発中には、DataWorks から送信されるイベントメッセージのペイロードからこのコードを取得し、イベントを識別できます。
ワークスペースレベルのイベント
ワークスペースレベルのモジュールは、ワークスペースレベルのイベントを生成します。たとえば、DataStudio はノード実行時にイベントを生成し、オペレーションセンターは自動トリガーインスタンスのステータス変更時にイベントを生成します。「イベント一覧」の下記表を参照して、各モジュールでサポートされるイベント、そのタイプ(通常または拡張ポイント)、および対応するメッセージフォーマットを確認してください。
本セクションの「メッセージフォーマット」タブでは、プレビューのみを提供しています。EventBridge または Function Compute に送信される完全なメッセージフォーマットについては、「付録:メッセージフォーマット」をご参照ください。
DataStudio のイベント一覧
イベント
|
イベントタイプ |
イベントおよび操作 |
通常イベント |
拡張ポイントイベント |
EventBridge タイプ |
拡張イベントコード |
|
ノード変更イベント |
ノードの作成
|
|
|
|
|
|
ノードの更新
|
|
|
|
|
|
|
ファイル変更イベント
|
ファイル削除前の事前イベント 開発環境からノードが削除される直前に発生します。 説明
削除されたファイルはごみ箱に移動されます。 |
|
|
|
|
|
ファイルコミット前の事前イベント |
|
|
|
|
|
|
ファイルデプロイ前の事前イベント |
|
|
|
|
|
|
コード実行前の事前イベント |
|
|
|
|
|
|
テーブル変更イベント |
テーブルコミット前の事前イベント |
|
|
|
|
|
テーブルデプロイ前の事前イベント |
|
|
|
|
メッセージフォーマット
ノード変更イベント
以下の例は、ノード追加・変更・削除イベントのメッセージ本文(イベントメッセージ内の data フィールドの内容)のフォーマットを示しています。
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"nodeName": "****",
"programType": "ODPS_SQL",
"cronExpress": "00 04 00 * * ?",
"blockBusiness": false,
"schedulerType": "NORMAL",
"ownerId": "19****735",
"priority": 1,
"baselineId": 70***287,
"operator": "19***735", // 操作を実行したユーザー。
"eventCode": "node-change-created",
"repeatability": true,
"modifyTime": 17***864,
"createTime": 17***864,
"tenantId": 28***656,
"nodeId": 70***003,
"projectId": 9***4
}
}
以下の表は、data オブジェクトのプロパティを説明しています。
|
パラメーター |
タイプ |
説明 |
|
nodeName |
String |
ノードの名前です。 |
|
programType |
String |
ファイルのコードタイプです。有効なコードタイプの一覧については、「ListFileType」API オペレーションを呼び出すか、「サポートされているノードタイプ」をご参照ください。 |
|
cronExpress |
String |
定期実行の Cron 式です。 このパラメーターは、DataWorks コンソールの DataStudio タスクの「」に対応しています。 「スケジュール周期」および「スケジュール時刻」を設定すると、DataWorks が自動的に Cron 式を生成します。以下に例を示します。
説明
Cron 式に関する制限事項は以下のとおりです。
|
|
schedulerType |
String |
タスクインスタンスのスケジューリングタイプです。有効な値は以下のとおりです。
|
|
ownerId |
String |
ノード所有者の Alibaba Cloud アカウント ID です。このパラメーターが空の場合、呼び出し元の Alibaba Cloud アカウント ID がデフォルトになります。 |
|
priority |
Integer |
タスクの優先度です。有効な値は 1、3、5、7、および 8 です。値が大きいほど優先度が高くなります。 |
|
baselineId |
Long |
ベースラインの ID です。 |
|
repeatability |
Boolean |
ノードを再実行可能かどうかを示します。
|
|
modifyTime |
Long |
ノードが最後に変更された時刻です。 |
|
createTime |
Long |
ノードが作成された時刻です。 |
|
nodeId |
Long |
ノードの ID です。 |
|
projectId |
Long |
ノードを含むワークスペースの ID です。 |
|
tenantId |
Long |
ノードが属するテナントの ID です。 |
|
operator |
String |
ノードを作成・更新・削除したオペレーターのユーザー ID(UID)です。 |
|
eventCode |
String |
拡張ポイントイベントのコードです。 |
ファイル変更イベント
-
以下の例は、ファイルのコミットおよびデプロイイベントのメッセージフォーマットを示しています。メッセージ本文は、
dataフィールドの内容です。{ "datacontenttype": "application/json;charset=utf-8", "data": { "fileName": "******", "extensionBizId": "eb******9ce", "changeType": "0", "blockBusiness": false, "dataSourceName": "0_******engine", "operator": "19***735", "eventCode": "commit-file", "fileCreateTime": "2024-07-12 11:08:50", "tenantId": 28***656, "fileOwner": "19***735", "fileVersion": 1, "projectId": 9***4, "fileType": 10, "fileId": 50***830, "resourceType": 1 } }以下の表は、
dataオブジェクトのプロパティを説明しています。パラメーター
タイプ
説明
operator
String
ファイルをコミットまたはデプロイしたオペレーターのユーザー ID(UID)です。
projectId
Long
ファイルが属するワークスペースの ID です。
tenantId
Long
テナントの ID です。
nodeId
Long
スケジュール済みノードの ID です。
fileType
Long
ファイルのコードタイプです。有効なコードタイプの一覧については、「ListFileType」API オペレーションを呼び出すか、「サポートされているノードタイプ」をご参照ください。
fileName
String
ファイルの名前です。
fileOwner
String
ファイルの所有者です。
extensionBizId
String
拡張チェックポイントプロセスの ID です。
changeType
String
ファイルに対する変更の種類です。有効な値は以下のとおりです。
-
0:ファイルが作成されました。
-
1:ファイルが更新されました。
-
2:ファイルが削除されました。
fileCreateTime
String
ファイルが作成された時刻です。
yyyy-MM-dd HH:mm:ss形式です。fileId
Long
ファイルの ID です。
fileVersion
Long
ファイルのバージョンです。
dataSourceName
String
データソースの名前です。
eventCode
String
拡張ポイントイベントのコードです。
-
-
以下の例は、ファイルの削除および実行イベントのメッセージフォーマットを示しています。メッセージ本文は、
dataフィールドの内容です。{ "datacontenttype": "application/json;charset=utf-8", "data": { "fileName": "***", "extensionBizId": "bf******6e3", "blockBusiness": false, "operator": "19***735", "eventCode": "delete-file", "fileCreateTime": "2024-07-12 11:08:50", // ファイルが作成された時刻。 "tenantId": 28***656, "fileOwner": "19***735", // ファイルの所有者。 "nodeId": 70***003, "projectId": 9***4, "fileType": 10, "fileId": 50***830, "resourceType": 1 } }以下の表は、
dataオブジェクトのプロパティを説明しています。パラメーター
タイプ
説明
operator
String
ファイルを削除または実行したオペレーターのユーザー ID(UID)です。
projectId
Long
ファイルが属するワークスペースの ID です。
tenantId
Long
テナントの ID です。
nodeId
Long
スケジュール済みノードの ID です。
fileType
Long
ファイルのコードタイプです。有効なコードタイプの一覧については、「ListFileType」API オペレーションを呼び出すか、「サポートされているノードタイプ」をご参照ください。
fileName
String
ファイルの名前です。
fileOwner
String
ファイルの所有者です。
extensionBizId
String
拡張チェックポイントプロセスの ID です。
fileCreateTime
String
ファイルが作成された時刻です。
yyyy-MM-dd HH:mm:ss形式です。fileId
Long
ファイルの ID です。
eventCode
String
拡張ポイントイベントのコードです。
テーブル変更イベント
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"operator": "**************",
"projectId": 12*****56,
"tenantId": 12******56,
"extensionBizId": "12***56",
"tableName":"table1",
"tableType":"ODPS",
"maxComputeProject":"project1"
}
}
以下の表は、data オブジェクトのプロパティを説明しています。
|
パラメーター |
タイプ |
説明 |
|
operator |
String |
テーブルをコミットまたはデプロイしたオペレーターのユーザー ID(UID)です。 |
|
projectId |
Long |
ワークスペースの ID です。 |
|
tenantId |
Long |
テナントの ID です。 |
|
extensionBizId |
String |
拡張チェックポイントプロセスの ID です。 |
|
tableName |
String |
テーブルの名前です。 |
|
tableType |
String |
テーブルのタイプです。有効な値は ODPS のみです。 |
|
maxComputeProject |
String |
MaxCompute プロジェクトの名前です。 |
データ統合イベント
イベント一覧
|
イベントタイプ |
イベントおよびトリガー |
通常イベント |
拡張ポイントイベント |
EventBridge イベントタイプ
|
拡張イベントコード(eventCode) |
|
ノード変更イベント |
ジョブ開始 |
|
|
|
|
|
複数ジョブの同時開始 |
|
|
|
|
イベントスキーマ
ノード変更イベント:ジョブ開始
「ノード変更イベント - ジョブ開始イベント」(イベントメッセージ内の data フィールドの内容)のメッセージ本文フォーマットのサンプルを以下に示します。
// V1 メッセージ:ジョブが 500 個未満のテーブルを対象とする場合。
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"eventCode": "start-diJob",
"extensionBizId": "0a4***b8ae",
"extensionBizName": "sync_mysql_to_odps_20240726_192307",
"appId": 293624,
"showTableMapping": true,
"tenantId": 28***656,
"blockBusiness": true,
"id": 5280,
"projectId": 9***4,
"tableMapping": [
{
"srcTable": "xb_test_116",
"dstDatasourceName": "odps_first",
"srcDatabaseName": "xiaobo_sharding_79fz",
"srcDatasourceName": "mysql_3357_pub_ip_1",
"dstTable": "ods_xb_test_116"
},
{
"srcTable": "xb_test_117",
"dstDatasourceName": "odps_first",
"srcDatabaseName": "xiaobo_sharding_79fz",
"srcDatasourceName": "mysql_3357_pub_ip_1",
"dstTable": "ods_xb_test_117"
},
{
"srcTable": "xb_test_118",
"dstDatasourceName": "odps_first",
"srcDatabaseName": "xiaobo_sharding_79fz",
"srcDatasourceName": "mysql_3357_pub_ip_1",
"dstTable": "ods_xb_test_118"
},
{
"srcTable": "xb_test_135",
"dstDatasourceName": "odps_first",
"srcDatabaseName": "xiaobo_sharding_79fz",
"srcDatasourceName": "mysql_3357_pub_ip_1",
"dstTable": "ods_xb_test_135"
}
],
"operator": "1504650005316516"
}
}
// V2 メッセージ:ジョブが 500 個未満のテーブルを対象とする場合。
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"extensionBizId": "59d***50fc",
"extensionBizName": "sync_mysql_to_holo_20240911_170801",
"blockBusiness": true,
"operator": "19***735",
"setting": {
"lastStartPosition": "2024-09-11 12:00:00"
},
"eventCode": "start-diJob",
"jobId": 5777,
"forceRun": false,
"appId": 293624,
"showTableMapping": true,
"tenantId": 28***656,
"startAsV2": false,
"tableMapping": [
{
"srcTable": "test_verify1",
"dstDatasourceName": "molin_db",
"srcDatabaseName": "di_test",
"srcDatasourceName": "mysql_public",
"dstTable": "test_verify1"
},
{
"srcTable": "test_verify1_dst",
"dstDatasourceName": "molin_db",
"srcDatabaseName": "di_test",
"srcDatasourceName": "mysql_public",
"dstTable": "test_verify1_dst"
},
{
"srcTable": "mysql_0_timetest2",
"dstDatasourceName": "molin_db",
"srcDatabaseName": "di_test",
"srcDatasourceName": "mysql_public",
"dstTable": "mysql_0_timetest2"
}
]
}
}
// V2 メッセージ:ジョブが 500 個を超えるテーブルを対象とするため、「showTableMapping」は false です。
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"eventCode": "start-diJob",
"jobId": 5502,
"forceRun": false,
"extensionBizId": "f4c***7cbc",
"extensionBizName": "sync_mysql_to_holo_20240412_213634",
"appId": 330914,
"showTableMapping": false,
"tenantId": 28***656,
"blockBusiness": true,
"startAsV2": false,
"operator": "19***735",
"setting": {
"lastStartPosition": "2024-04-12 22:07:02",
"startDateTime": "2024-09-10 17:00:00",
"timeZone": "Asia/Shanghai"
}
}
}
// テーブル名に正規表現を含む例。
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"eventCode": "start-diJob",
"jobId": 5778,
"forceRun": false,
"extensionBizId": "a5d***75ba",
"extensionBizName": "sync_mysql_to_holo_20240912_170517",
"appId": 293624,
"showTableMapping": true,
"tenantId": 28***656,
"blockBusiness": true,
"startAsV2": false,
"tableMapping": [
{
"srcTable": "test.*",
"dstDatasourceName": "molin_db",
"srcDatabaseName": ".*",
"srcDatasourceName": "mysql_public",
"dstTable": "aaa"
},
{
"srcTable": "shard.*",
"dstDatasourceName": "molin_db",
"srcDatabaseName": ".*",
"srcDatasourceName": "mysql_public",
"dstTable": "vvv"
}
],
"operator": "19***735"
}
}
以下の表は、イベントペイロードのフィールドを説明しています。
|
パラメーター |
タイプ |
説明 |
|
projectId |
Long |
DataWorks ワークスペースの ID です。 |
|
operator |
String |
イベントをトリガーしたユーザーの UID です。 |
|
extensionBizName |
String |
ソリューションの名前です。 |
|
showTableMapping |
Boolean |
テーブルマッピングの詳細を返すかどうかを指定します。
ジョブが 500 個を超えるテーブルを対象とする場合、このパラメーターはデフォルトで |
|
tableMapping |
JSONArray |
テーブルマッピングの詳細を含む配列です。 |
|
srcDatasourceName |
String |
ソースデータソースの名前です。 |
|
srcDatabaseName |
String |
ソースデータベースの名前です。 |
|
srcTable |
String |
ソーステーブルの名前です。 |
|
dstDatasourceName |
String |
宛先データソースの名前です。 |
|
dstTable |
String |
宛先テーブルの名前です。 |
|
tenantId |
Long |
テナントの ID です。 |
|
eventCode |
String |
拡張イベントのコードです。 |
ノード変更イベント:複数ジョブの同時開始
「ノード変更イベント - 複数ジョブの同時開始イベント」のメッセージ本文フォーマット(イベントメッセージ内の data フィールドの内容)のサンプルを以下に示します。
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"needErrorMessage": false,
"extensionBizId": "2de***c4c6",
"extensionBizName": "sync_mysql_to_holo_20240911_170801,sync_mysql_to_odps_20240726_192307",
"errorMessageOnlyFailedFileIds": false,
"blockBusiness": true,
"env": "prod",
"operator": "15***516",
"setting": {
"startDateTime": "2024-09-12 14:00:00",
"timeZone": "Asia/Shanghai"
},
"jobIds": [
5777,
5679
],
"eventCode": "batch-start-diJob",
"tableMappings": [
{
"extensionBizName": "sync_mysql_to_holo_20240911_170801",
"id": 5777,
"tableMapping": [
{
"srcTable": "test_verify1",
"dstDatasourceName": "molin_db",
"srcDatabaseName": "di_test",
"srcDatasourceName": "mysql_public",
"dstTable": "test_verify1"
},
{
"srcTable": "test_verify1_dst",
"dstDatasourceName": "molin_db",
"srcDatabaseName": "di_test",
"srcDatasourceName": "mysql_public",
"dstTable": "test_verify1_dst"
},
{
"srcTable": "mysql_0_timetest2",
"dstDatasourceName": "molin_db",
"srcDatabaseName": "di_test",
"srcDatasourceName": "mysql_public",
"dstTable": "mysql_0_timetest2"
}
]
},
{
"extensionBizName": "sync_mysql_to_odps_20240726_192307",
"id": 5679,
"tableMapping": [
{
"srcTable": "xb_test_116",
"dstDatasourceName": "odps_first",
"srcDatabaseName": "xiaobo_sharding_79fz",
"srcDatasourceName": "mysql_3357_pub_ip_1",
"dstTable": "ods_xb_test_116"
},
{
"srcTable": "xb_test_117",
"dstDatasourceName": "odps_first",
"srcDatabaseName": "xiaobo_sharding_79fz",
"srcDatasourceName": "mysql_3357_pub_ip_1",
"dstTable": "ods_xb_test_117"
},
{
"srcTable": "xb_test_118",
"dstDatasourceName": "odps_first",
"srcDatabaseName": "xiaobo_sharding_79fz",
"srcDatasourceName": "mysql_3357_pub_ip_1",
"dstTable": "ods_xb_test_118"
},
{
"srcTable": "xb_test_135",
"dstDatasourceName": "odps_first",
"srcDatabaseName": "xiaobo_sharding_79fz",
"srcDatasourceName": "mysql_3357_pub_ip_1",
"dstTable": "ods_xb_test_135"
}
]
}
],
"appId": 293624,
"showTableMapping": true,
"tenantId": 52***018,
"projectId": 9***4
}
}
以下の表は、イベントペイロードのフィールドを説明しています。
|
パラメーター |
タイプ |
説明 |
|
projectId |
Long |
DataWorks ワークスペースの ID です。 |
|
operator |
String |
イベントをトリガーしたユーザーの UID です。 |
|
extensionBizName |
String |
ソリューションの名前です。 |
|
setting |
JSONObject |
ジョブの起動設定です。 |
|
startDateTime |
String |
予約された開始時刻です。 |
|
timeZone |
String |
起動時のタイムゾーンです。 |
|
tableMappings |
JSONArray |
各ジョブのテーブルマッピングの詳細を含むオブジェクトの配列です。 |
|
srcDatasourceName |
String |
ソースデータソースの名前です。 |
|
srcDatabaseName |
String |
ソースデータベースの名前です。 |
|
srcTable |
String |
ソーステーブルの名前です。 |
|
dstDatasourceName |
String |
宛先データソースの名前です。 |
|
dstTable |
String |
宛先テーブルの名前です。 |
|
showTableMapping |
Boolean |
テーブルマッピングの詳細を返すかどうかを指定します。
ジョブが 500 個を超えるテーブルを対象とする場合、このパラメーターはデフォルトで |
|
tenantId |
Long |
テナントの ID です。 |
|
eventCode |
String |
拡張イベントのコードです。 |
オペレーションセンターイベント
イベント一覧
スケジューリングリソースグループまたは所有者の変更は、node-change-updated イベントをトリガーします。
|
イベントタイプ |
イベントおよびトリガー |
通常イベント |
拡張ポイントイベント |
EventBridge イベントタイプ
|
拡張イベントコード |
|
ノード変更イベント |
ノードの削除
|
|
|
|
|
|
ノードのアンデプロイ前の事前イベント 本番環境からスケジュール済みノードをアンデプロイします。 説明
この操作により、ノードは DataStudio から削除され、ごみ箱に移動します。 |
|
|
|
|
|
|
ノードのフリーズ前の事前イベント 重要
このイベントは、 |
|
|
|
|
|
|
ノードのフリーズ解除前の事前イベント 重要
このイベントは、 |
|
|
|
|
|
|
バックフィルイベント |
バックフィル前の事前イベント |
|
|
|
|
|
インスタンスステータス変更 |
スケジュール済みインスタンスのステータスが変更されたとき |
|
|
|
|
|
インスタンス変更イベント |
インスタンスのフリーズ |
|
|
|
|
|
インスタンスのフリーズ解除 |
|
|
|
|
|
|
インスタンスの強制終了 |
|
|
|
|
|
|
インスタンスの再実行
|
|
|
|
|
|
|
インスタンスのステータスを「成功」に設定 |
|
|
|
|
|
|
インスタンスから指定された上流依存関係を削除 |
|
|
|
|
|
|
インスタンスのフリーズ前の事前イベント |
|
|
|
|
|
|
インスタンスのフリーズ解除前の事前イベント |
|
|
|
|
|
|
インスタンスの再実行前の事前イベント |
|
|
|
|
|
|
インスタンスのステータスを「成功」に設定する事前イベント |
|
|
|
|
|
|
インスタンスの強制終了前の事前イベント |
|
|
|
|
|
|
期限切れインスタンスの削除 |
|
|
|
|
|
|
ワークフローのステータス変更 |
ワークフローのステータスが変更されたとき
|
|
|
|
|
|
監視およびアラート |
モニタリング アラートが発生しました。 |
|
|
|
|
メッセージフォーマット
ノード変更イベント(削除、アンデプロイ、フリーズ、フリーズ解除)
-
ノード削除イベントのメッセージ本文のサンプル(イベントメッセージ内の
dataフィールドの内容)を以下に示します。{ "datacontenttype": "application/json;charset=utf-8", "data": { "nodeName": "", "programType": "ODPS_SQL", "cronExpress": "00 20 00 * * ?", "schedulerType": "NORMAL", "ownerId": "19****735", "priority": 1, "baselineId": 117801853, "repeatability": true, "modifyTime": 1646364549642, "createTime": 1646364549642, "datasource": "odps_source", "tenantId": 28378****10656, "nodeId": 100***150, "projectId": 30**95, "operator": "19***735" // オペレーターの UID。 } }以下の表は、ペイロード内のフィールドを説明しています。
パラメーター
タイプ
説明
nodeName
String
ノードの名前です。
programType
String
ノードのコードタイプです。サポートされているコードタイプについては、「ListFileType」API を呼び出すか、「サポートされているノードタイプ」をご参照ください。
cronExpress
String
ノードが実行されるタイミングを決定する cron 式です。
このパラメーターは、DataWorks コンソールの DataStudio ノードの「」に対応しています。
「スケジュール周期」および「スケジュール時刻」を設定すると、DataWorks が自動的に cron 式を生成します。例を以下に示します。
-
毎日 5:30 AM に実行するようにスケジュール:
00 30 05 * * ? -
毎時 15 分に実行するようにスケジュール:
00 15 * * * ? -
10 分ごとに実行するようにスケジュール:
00 00/10 * * * ? -
毎日 8:00~17:00 の間、10 分ごとに実行するようにスケジュール:
00 00-59/10 8-17 * * * ? -
毎月 1 日 00:20 に自動的に実行するようにスケジュール:
00 20 00 1 * ? -
1 月 1 日 00:10 を起点として、3 か月ごとに実行するようにスケジュール:
00 10 00 1 1-12/3 ? -
毎週火曜日および金曜日の 00:05 に自動的にスケジュール:
00 05 00 * * 2,5
説明cron 式に関する制限事項:
-
最小スケジュール間隔は 5 分です。
-
毎日の最も早いスケジュール時刻は 00:05 です。
schedulerType
String
ノードのスケジューリングタイプです。有効な値は以下のとおりです。
-
0 (NORMAL):通常のスケジュール済みノードです。スケジューラは、ノードに対して定期的にインスタンスを生成および実行します。
-
1 (MANUAL):手動でトリガーされるノードです。スケジューラは、このノードに対して定期的にインスタンスを生成しません。
-
2 (PAUSE):フリーズ済みノードです。スケジューラはインスタンスを生成し、そのステータスを直ちに FAILED に設定します。
-
3 (SKIP):ドライランノードです。スケジューラはインスタンスを生成し、そのステータスを直ちに SUCCEEDED に設定します。
-
4 (SKIP_UNCHOOSE):一時ワークフロー内で実行対象として選択されなかったノードです。スケジューラはインスタンスを生成し、そのステータスを直ちに SUCCEEDED に設定します。
-
5 (SKIP_CYCLE):週次または月次のノードであり、現在のサイクルにおいてスケジュールされた時刻に達していないものです。スケジューラはインスタンスを生成し、そのステータスを直ちに SUCCEEDED に設定します。
-
6 (CONDITION_UNCHOOSE):上流のブランチノード(IF ノード)で条件が満たされなかったノードです。スケジューラはインスタンスを生成し、そのステータスを直ちに SUCCEEDED に設定します。
-
7 (REALTIME_DEPRECATED):生成されたインスタンスが期限切れとなったリアルタイムノードです。スケジューラはインスタンスのステータスを SUCCEEDED に設定します。
ownerId
String
ノード所有者の Alibaba Cloud アカウント ID です。空欄の場合、呼び出し元の Alibaba Cloud アカウント ID がデフォルトになります。
priority
Integer
インスタンスの優先度です。有効な値は 1、3、5、7、および 8 です。値が大きいほど優先度が高くなります。
baselineId
Long
ベースラインの ID です。
repeatability
Boolean
ノードを再実行可能かどうかを示します。有効な値は以下のとおりです。
-
true:ノードを再実行できます。
-
false:ノードを再実行できません。
modifyTime
Long
ノードが最後に変更された時刻です(Unix エポックからのミリ秒単位)。
createTime
Long
ノードが作成された時刻です(Unix エポックからのミリ秒単位)。
nodeId
Long
ノードの ID です。
projectId
Long
ノードが配置されているワークスペースの ID です。
tenantId
Long
ノードが属するテナントの ID です。
operator
String
ノードを作成・変更・削除したユーザーの UID です。
-
-
以下のサンプルは、ノードのフリーズ・フリーズ解除・アンデプロイイベントのメッセージ本文フォーマット(イベントメッセージ内の
dataフィールドの内容)を示しています。{ "datacontenttype": "application/json;charset=utf-8", "data": { "operator": "19***735", "projectId": 12***56, "tenantId": 28***656, "nodeIds":[1,2,3], "extensionBizId": "12***56" } }以下の表は、ペイロード内のフィールドを説明しています。
パラメーター
タイプ
説明
operator
String
フリーズ・フリーズ解除・アンデプロイ操作を実行したユーザーの UID です。
projectId
Long
ノードが配置されているワークスペースの ID です。
tenantId
Long
テナントの ID です。
nodeIds
Array
操作の影響を受けるノード ID の配列です。
extensionBizId
String
拡張のガーティング ワークフロー用のビジネスプロセス ID。
データバックフィル
以下の JSON は、データバックフィルイベントのメッセージサンプルです。以下の表で説明するパラメーターは、data オブジェクト内にネストされています。
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"excludeNodeIds":[],
"rootNodeId": 1000****271,
"startFutureInstanceImmediately": false,
"useMultipleTimePeriods": true,
"operator": "19***735",
"eventCode": "backfill-data",
"multipleTimePeriods": "[{\"bizBeginTime\":\"2022-04-17\",\"bizEndTime\":\"2022-04-17\"}]",
"parallelGroup": 1,
"rootNodeProjectId": 12*****8,
"isParallel": false,
"name": "P_fff_20220418_215404",
"tenantId": 16935*****3377,
"includeNodeIds":
[
10***271
],
"projectId": 9***4,
"order": "asc",
"extensionBizId": "12***56"
}
}
以下の表は、フィールドを説明しています。
|
パラメーター |
タイプ |
説明 |
|
name |
String |
データバックフィルワークフローの名前です。 |
|
rootNodeId |
Long |
データバックフィルワークフローのルートノードの ID です。 |
|
rootNodeProjectId |
Long |
データバックフィルワークフローのルートノードを含むワークスペースの ID です。 |
|
includeNodeIds |
Array |
データバックフィルプロセスに含めるノード ID の配列です。 |
|
excludeNodeIds |
Array |
データバックフィル操作から除外するノード ID の配列です。システムは、除外された各ノードに対してドライランインスタンスを生成します。これらのインスタンスは、スケジューリング後に直ちに「成功」とマークされ、スクリプトは実行されません。 |
|
bizBeginTime |
String |
タスクの開始時刻です。このパラメーターは、時間単位でスケジュールされたタスクにのみ必要です。フォーマット: |
|
bizEndTime |
String |
タスクの終了時刻です。このパラメーターは、時間単位でスケジュールされたタスクにのみ必要です。フォーマット: |
|
isParallel |
Boolean |
異なるデータタイムスタンプを持つデータバックフィルインスタンスを並列実行できるかどうかを指定します。
|
|
parallelGroup |
Integer |
並列実行のためのグループ数です。値が 1 の場合、インスタンスはグループに分割されません。 |
|
startFutureInstanceImmediately |
Boolean |
スケジュール時刻をバイパスして、未来日付のインスタンスを直ちに実行するかどうかを指定します。
|
|
order |
String |
インスタンスのデータタイムスタンプに基づく実行順序を指定します。
|
|
multipleTimePeriods |
String |
データタイムスタンプの複数の非連続な期間を指定する JSON 文字列です。例: |
|
tenantId |
Long |
テナント ID です。 |
projectId |
Long |
データバックフィル操作が実行されるワークスペースの ID です。 |
|
operator |
String |
オペレーターのユーザー ID です。 |
|
extensionBizId |
String |
拡張機能内のチェックプロセスの ID です。 |
|
eventCode |
String |
拡張ポイントイベントのイベントコードです。 |
ノードステータス変更イベント
以下の例は、ノードステータス変更イベントのイベントペイロードを示しています。ペイロードは data フィールドの値です。
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"beginWaitTimeTime": 1652700576000,
"dagId": 446***330,
"dagType": 0,
"eventCode": "instance-status-changes",
"taskType": 0,
"modifyTime": 1652700577000,
"createTime": 1652543233000,
"appId": 3*****2,
"tenantId": 235454***432001,
"opCode": 31,
"flowId": 1,
"nodeId": 100***219,
"beginWaitResTime": 1652700577000,
"taskId": 453***169,
"status": 3
}
}
以下の表は、上記の例のフィールドを説明しています。
|
パラメーター |
タイプ |
説明 |
|
finishTime |
Long |
ノードインスタンスの実行が終了した時刻を示すタイムスタンプです。 |
|
beginWaitTimeTime |
Long |
ノードインスタンスが実行待機を開始した時刻を示すタイムスタンプです。 |
|
beginRunningTime |
Long |
ノードインスタンスが実行を開始した時刻を示すタイムスタンプです。 |
|
dagId |
Long |
|
|
dagType |
Integer |
DAG のタイプです。有効な値は以下のとおりです。
|
|
taskType |
Integer |
ノードタイプです。有効な値は以下のとおりです。
|
|
modifyTime |
Long |
ノードインスタンスが最後に変更された時刻を示すタイムスタンプです。 |
|
createTime |
Long |
ノードインスタンスが作成された時刻を示すタイムスタンプです。 |
|
appId |
Long |
ワークスペースの ID です。この ID を見つけるには、ListProjects オペレーションを呼び出します。 |
|
tenantId |
Long |
ノードインスタンスを含むワークスペースを所有するテナントの ID です。 |
|
opCode |
Integer |
ノードインスタンスのオペレーションコードです。このフィールドは無視できます。 |
|
flowId |
Long |
ワークフローの ID です。
|
|
nodeId |
Long |
インスタンスの親ノードの ID です。 |
|
beginWaitResTime |
Long |
ノードインスタンスがリソース待機を開始した時刻を示すタイムスタンプです。 |
|
taskId |
Long |
ノードインスタンスの ID です。 |
|
status |
Integer |
ノードインスタンスのステータスです。有効な値は以下のとおりです。
|
|
eventCode |
String |
拡張ポイントイベントのコードです。 |
インスタンス変更イベント
以下の JSON 例は、インスタンス変更イベントのペイロードを示しています。このペイロードは data フィールドの値です。
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"eventCode": "freeze-instance",
"operator": "19***735",
"projectId": 12***8,
"projectType": "PROD",
"taskIds": [
523***9736
],
"tenantId": 28***656
}
}
以下の表は、ペイロード内のプロパティを説明しています。
|
パラメーター |
タイプ |
説明 |
|
operator |
String |
インスタンスに対してフリーズ、フリーズ解除、終了、再実行、または「成功」に設定などの操作を実行したユーザーの UID です。 |
|
projectType |
String |
ランタイム環境です。有効な値は以下のとおりです。
|
|
taskIds |
List<Long> |
インスタンス ID のリストです。 |
|
projectId |
Long |
DataWorks ワークスペース ID です。 |
|
tenantId |
Long |
インスタンスを含むワークスペースを管理するテナントの ID です。 |
|
eventCode |
String |
特定の操作を識別するイベントコードです。 |
インスタンス変更事前イベント
以下は、インスタンス変更事前イベントのメッセージ本文フォーマットの例です。メッセージ本文は、イベントメッセージ内の data フィールドの内容です。
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"eventCode": "pre-freeze-instance",
"extensionBizId": "055***afaa",
"extensionBizName": "Node name",
"projectId": 9***4,
"taskIds": [
523536569736
],
"tenantId": 28***656,
"operator": "19***735"
}
}
以下の表は、データペイロード内のフィールドを説明しています。
|
パラメーター |
タイプ |
説明 |
|
extensionBizId |
String |
拡張チェックポイントプロセスの ID です。 |
|
extensionBizName |
String |
ターゲットオブジェクトの名前(ノードなど)です。操作が複数のオブジェクトを対象とする場合、このフィールドには代表的な名前の後に省略記号(...)が表示されることがあります。 |
|
projectId |
Long |
DataWorks ワークスペース ID です。 |
|
taskIds |
List<Long> |
影響を受けるインスタンスの ID です。 |
|
tenantId |
String |
インスタンスのワークスペースのテナント ID です。 |
|
operator |
Long |
操作を開始したユーザーの UID です。 |
|
eventCode |
String |
拡張ポイントのイベントコードです。 |
インスタンス変更イベント:期限切れインスタンスの削除
以下のサンプルは、期限切れインスタンス削除イベントのメッセージ本文を示しています。これは、イベントメッセージ内の data フィールドの内容です。
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"eventCode": "expired-task-instances-deleted",
"deletedTaskInstanceIds": [
524***035,
524***498,
524***637
],
"appId": 307303,
"tenantId": 28***656,
"blockBusiness": false,
"owner": "1107***538",
"operationTime": 1734505954897
}
}
以下の表は、data オブジェクト内のフィールドを説明しています。
|
パラメーター |
タイプ |
説明 |
|
deletedTaskInstanceIds |
List |
削除されたインスタンス ID のリストです。 |
|
owner |
String |
インスタンス所有者のユーザー ID です。 |
|
operationTime |
Long |
操作時刻です(Unix エポックタイムスタンプ、ミリ秒単位)。 |
|
blockBusiness |
Boolean |
拡張機能が存在する場合にフローを停止するかどうかを示します。
|
|
appId |
Long |
DataWorks ワークスペース ID です。 |
|
tenantId |
String |
インスタンスを含むワークスペースのテナント ID です。 |
|
operator |
Long |
オペレーターのユーザー UID です。 |
|
eventCode |
String |
拡張ポイントを識別するイベントコードです。 |
上流依存関係の削除
以下のサンプルは、タスクインスタンスから上流依存関係を削除するイベントの data フィールドを示しています。
{
"datacontenttype": "application/json;charset=utf-8",
"aliyunaccountid": "110******38",
"aliyunpublishtime": "2024-12-18T07:12:35.463Z",
"data": {
"eventCode": "delete-task-instance-dependencies",
"upstreamTaskInstanceIds": [
52******35,
52******98,
52******37
],
"appId": 3***03,
"tenantId": 52******36,
"blockBusiness": false,
"taskInstanceId": 52******49,
"operator": "19***735",
"operationTime": 1734505954897
}
}
以下の表は、フィールドを説明しています。
|
パラメーター |
タイプ |
説明 |
|
taskInstanceId |
Long |
下流のインスタンス ID です。 |
|
upstreamTaskInstanceIds |
List |
削除する上流依存関係の ID です。 |
|
operator |
String |
オペレーターの UID です。 |
|
operationTime |
Long |
操作のタイムスタンプです。 |
ワークフローのステータス変更イベント
以下は、ワークフローのステータス変更イベントのメッセージ本文フォーマットの例です。メッセージ本文は、イベントメッセージ内の data フィールドの内容です。
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"bizDate": "2022-11-07 00:00:00",
"createTime": "2022-11-08 10:56:32",
"dagId": 500358972116,
"dagName": "P_test_spark_true_copy_20221108_105631",
"eventCode": "dag-status-changes",
"dagType": 3,
"flowId": 1,
"flowName": "ATCLOUD_FLOW",
"operator": "11****538",
"projectEnv": "PROD",
"projectId": 25***63,
"status": 6,
"tenantId": 52***736
}
}
この表は、イベントペイロードの各フィールドを説明しています。
|
パラメーター |
タイプ |
説明 |
|
bizDate |
String |
ワークフローのビジネス日付です。フォーマットは |
|
createTime |
String |
ワークフローの作成時刻です。フォーマットは |
|
dagId |
Long |
ワークフローの一意の ID です。この ID を使用してワークフローの詳細を取得します。 |
|
dagName |
String |
ワークフローの名前です。 |
|
dagType |
Integer |
ワークフローのタイプです。有効な値は以下のとおりです。
|
|
flowId |
Integer |
ワークフローに関連付けられたビジネスプロセスの ID です。 |
|
flowName |
String |
ワークフローに関連付けられたビジネスプロセスの名前です。 |
|
operator |
String |
ワークフローを作成したユーザーの UID です。 |
|
projectEnv |
String |
ワークフローが実行される環境です。有効な値は以下のとおりです。
|
|
tenantId |
Long |
ワークスペースのテナント ID です。 |
|
projectId |
Long |
ワークスペースの ID です。 |
|
status |
Integer |
ワークフローのステータスです。有効な値は以下のとおりです。
|
|
eventCode |
String |
拡張イベントコードです。 |
監視およびアラート
-
以下は、ベースラインアラートのメッセージ本文の例です(
dataフィールドの内容)。{ "datacontenttype": "application/json;charset=utf-8", "data": { "eventCode": "workbench-monitor-alert", "alarmType": "SLA_ALERT", "baselineId": 137***723, "baselineName": "ods layer check task dedicated -- hourly", "baselineStatus": 3, "bizDate": 1654444800000, "inGroupId": 14, "nodeId": 1000***8734, "projectId": 76***34, "taskId": 307***3778, "tenantId": 28***656 } }以下の表は、ペイロード内のフィールドを説明しています。
パラメーター
タイプ
説明
alarmType
String
アラームタイプです。有効な値は以下のとおりです。
-
SLA_ALERT
-
REMIND_ALERT
-
TOPIC_ALERT
baselineId
Long
ベースラインの ID です。
baselineName
String
ベースラインの名前です。
baselineStatus
Integer
ベースラインのステータスです。有効な値は以下のとおりです。
-
-1:エラー
-
1:安全
-
2:警告
-
3:違反
bizDate
Long
ビジネス日付(Unix タイムスタンプ)です。
inGroupId
Integer
ベースラインインスタンスのサイクル番号です。日次ベースラインの場合は値が
1であり、時間単位のベースラインの場合は値の範囲が[1,24]です。nodeId
Long
ベースラインアラートをトリガーしたノードの ID です。
projectId
Long
ベースラインが属するワークスペースの ID です。
taskId
Long
ベースラインアラートをトリガーしたインスタンスの ID です。
tenantId
Long
テナントの ID です。
eventCode
String
拡張イベントの一意のコードです。
-
-
イベントアラートのメッセージ本文フォーマットのサンプル(メッセージ内の
dataフィールドの内容)を以下に示します。{ "datacontenttype": "application/json;charset=utf-8", "data": { "alarmType": "TOPIC_ALERT", "nodeId": 1000***315, "projectId": 91***09, "taskId": 307***0357, "taskStatus": 5, "tenantId": 28***656, "topicId": 1084769 } }以下の表は、ペイロード内のフィールドを説明しています。
パラメーター
タイプ
説明
alarmType
String
アラームタイプです。有効な値は以下のとおりです。
-
SLA_ALERT
-
REMIND_ALERT
-
TOPIC_ALERT
topicId
Long
イベントの ID です。
taskStatus
String
イベントをトリガーしたノードインスタンスのステータスです。
nodeId
Integer
イベントをトリガーしたノードの ID です。
projectId
Long
トリガーとなったノードが配置されているワークスペースの ID です。
taskId
Long
イベントをトリガーしたノードインスタンスの ID です。
tenantId
Long
テナントの ID です。
-
-
以下のサンプルは、タスクルールベースのアラートのメッセージ本文フォーマット(
dataフィールドの内容)を示しています。説明ルールは、ノード、ベースライン、ワークスペース、ワークフローなどのオブジェクトに適用できます。
{ "datacontenttype": "application/json;charset=utf-8", "data": { "alarmType": "REMIND_ALERT", "nodeIds": "1000***5472,1000***5473,1000***5474", "projectId": 9***4, "remindId": 7605, "remindName": "Error alert", "remindType": "ERROR", "remindUnit": "NODE", "taskIds": "307***0896,307***0870,307***0855", "tenantId": 28***656 } }以下の表は、ペイロード内のフィールドを説明しています。
パラメーター
タイプ
説明
alarmType
String
アラームタイプです。有効な値は以下のとおりです。
-
SLA_ALERT
-
REMIND_ALERT
-
TOPIC_ALERT
nodeIds
String
アラートをトリガーしたノードの ID のカンマ区切りリストです。
remindId
Long
ルールの ID です。
remindType
String
ルールのトリガー条件です。有効な値は以下のとおりです。
-
FINISHED:実行が完了しました。
-
UNFINISHED:実行が完了していません。
-
ERROR:実行が失敗しました。
-
CYCLE_UNFINISHED:スケジューリングサイクル内に実行が完了していません。
-
TIMEOUT:実行がタイムアウトしました。
projectId
Long
トリガーとなったノードが配置されているワークスペースの ID です。
remindUnit
String
ルールをトリガーしたオブジェクトのタイプです。有効な値は以下のとおりです。
-
NODE:ノード。
-
GATEWAY_RES:スケジューリング用の排他的リソースグループ。
-
DI_RES:データ統合用のリソースグループ。
tenantId
Long
テナントの ID です。
taskIds
String
アラートをトリガーしたインスタンスの ID のカンマ区切りリストです。
remindName
String
ルールの名前です。
-
-
以下は、リソースグループに対するルールベースのアラートのメッセージ本文フォーマットの例です。メッセージ本文は、メッセージ内の
dataフィールドの内容です。{ "datacontenttype": "application/json;charset=utf-8", "data": { "alarmType": "REMIND_ALERT", "projectId": 9***4, "remindId": 200***186, "remindName": "Exclusive resource group alert", "remindType": "RES_GROUP_THRESHOLD", "remindUnit": "GATEWAY_RES", "resourceGroupIdentifier": "S_res_group_195820716552192_1650965857744", "resourceGroupName": "emr_exclusive_scheduld", "resourceGroupType": "GATEWAY", "tenantId": 28***656 } }以下の表は、ペイロード内のフィールドを説明しています。
パラメーター
タイプ
説明
alarmType
String
アラームタイプです。有効な値は以下のとおりです。
-
SLA_ALERT
-
REMIND_ALERT
-
TOPIC_ALERT
remindId
Long
ルールの ID です。
remindType
String
ルールのトリガー条件です。有効な値は以下のとおりです。
-
FINISHED:実行が完了しました。
-
UNFINISHED:実行が完了していません。
-
ERROR:実行が失敗しました。
-
CYCLE_UNFINISHED:スケジューリングサイクル内に実行が完了していません。
-
TIMEOUT:実行がタイムアウトしました。
-
RES_GROUP_THRESHOLD:リソースグループのリソース使用率が指定されたしきい値に達しました。
-
RES_GROUP_WAIT_AMOUNT:リソースグループ内でリソースを待機しているインスタンスの数が指定されたしきい値に達しました。
projectId
Long
リソースグループが属するワークスペースの ID です。
remindUnit
String
ルールをトリガーしたオブジェクトのタイプです。有効な値は以下のとおりです。
-
NODE:ノード。
-
GATEWAY_RES:スケジューリング用の排他的リソースグループ。
-
DI_RES:データ統合用のリソースグループ。
tenantId
Long
テナントの ID です。
remindName
String
ルールの名前です。
resourceGroupIdentifier
String
リソースグループの一意の識別子です。
resourceGroupName
String
リソースグループの名前です。
resourceGroupType
String
リソースグループのタイプです。有効な値は以下のとおりです。
-
GATEWAY:スケジューリング用のリソースグループ。
-
DI:データ統合用のリソースグループ。
-
セキュリティセンターイベント
イベント一覧
|
イベントタイプ |
イベントおよびソース操作 |
通常イベント |
拡張ポイントイベント |
EventBridge のイベントタイプ
|
拡張機能のイベントコード(eventCode) |
|
承認センター |
権限リクエストの作成 |
|
|
|
|
|
権限リクエストの完了 |
|
|
|
|
|
|
セキュリティセンター(テーブル権限リクエスト) |
テーブル権限リクエスト(作成前) |
|
|
|
|
メッセージフォーマット
承認センター
-
権限リクエスト作成の事前イベントのメッセージ本文フォーマットの例(イベントメッセージ内の
dataフィールドの内容)を以下に示します。{ "datacontenttype": "application/json;charset=utf-8", "data": { "appId":194209, "assignee":"286098539641742899", "assigneeName":"yupeng.sunyp", "createTime":1652094363000, "eventType":"approval", "process":{ "applicant":"286098539641742899", "applicantName":"yupeng.sunyp", "approvalContent":{ "applyPeriod":"2997964800000", "applyReason":"Test", "arrayData":[ { "ownerBaseId":"1822***45", "objectType":"TABLE", "odpsTable":"loghub_070103", "envType":1, "projectGuid":"odps.b_mc1", "objectGuid":"odps.b_mc1.loghub_070103", "tenantId":28***656, "objectName":"loghub_070103", "ownerAccountName":"ALIYUN$******(******)", "odpsProject":"B_MC1", "projectName":"B_MC1", "actions":[ "Select", "Describe" ], "projectId":9***4, "workspaceId":"9***4" } ], "contentType":"application/json", "granteeAccounts":[ { "granteeId":"2860985***99", "granteeTypeSub":103, "granteeType":1, "granteeName":"RAM$dataworks_3h1_1:yupeng.sunyp" }, { "granteeId":"237857631119109360", "granteeTypeSub":105, "granteeType":1, "granteeName":"RAM$dataworks_3h1_1:dev" } ], "odpsProjectName":"B_MC1", "projectEnv":"1", "resourceSummary":"loghub_070103", "tenantId":28***656, "workspaceId":194209 }, "assignmentCategory":"MaxCompute", "createTime":1652094363000, "processDefinitionId":"definition-3dcc9ce7-d29d-435d-a908-60d4355ff5e2", "processId":"528535869984706", "status":"Pending", "title":"MaxComputeTable", "updateTime":1652094363000 }, "processId":"528535869984706", "status":"Submit", "eventCode": "approval-change-created", "taskId":"528535870015424", "tenantId":28***656, "updateTime":1652094364000 } }{ "datacontenttype": "application/json;charset=utf-8", "data": { "appId":227859, "assignee":"286098539641742899", "eventCode": "approval-change-finished", "assigneeName":"******.******", "comments":"ces", "createTime":1652095981000, "eventType":"approval", "process":{ "applicant":"286098***2899", "applicantName":"yupeng.sunyp", "approvalContent":{ "applyPeriod":"2997964800000", "applyReason":"Test", "arrayData":[ { "ownerBaseId":"2382***884", "objectType":"TABLE", "odpsTable":"cdd", "objectNameCn":"******", "envType":1, "projectGuid":"odps.da_simple_202112", "objectGuid":"odps.da_simple_202112.cdd", "tenantId":0, "objectName":"cdd", "ownerAccountName":"RAM$******(******)", "odpsProject":"da_simple_202112", "projectName":"da_simple_202112", "actions":[ "Select", "Describe" ], "projectId":9***4, "workspaceId":"9***4" } ], "contentType":"application/json", "granteeAccounts":[ { "granteeId":"286***899", "granteeTypeSub":103, "granteeType":1, "granteeName":"RAM$dataworks_3h1_1:yupeng.sunyp" } ], "odpsProjectName":"da_simple_202112", "projectEnv":"1", "resourceSummary":"cdd", "tenantId":28***656, "workspaceId":227859 }, "assignmentCategory":"MaxCompute", "createTime":1652095981000, "processDefinitionId":"definition-6e6418e6-c65f-4f26-a673-88576b1c1e4a", "processId":"528***192", "status":"Pending", "title":"MaxComputeTable", "updateTime":1652095981000 }以下の表は、フィールドを説明しています。
パラメーター
タイプ
説明
appId
Long
ワークスペースの ID です。
assignee
String
承認者のユーザー ID です。
assigneeName
String
承認者の名前です。
comments
String
承認リクエストに関するコメントです。
createTime
Long
承認リクエストが作成されたタイムスタンプ(ミリ秒単位)です。
processId
String
ワークフローの ID です。
status
String
イベント遷移のステータス(例:Submit)です。
taskId
String
承認タスクの ID です。
tenantId
String
テナントの ID です。
updateTime
Long
イベントが最後に更新されたタイムスタンプ(ミリ秒単位)です。
eventType
String
イベントのタイプです。
process
Object
ワークフローオブジェクトです。
applicant
String
申請者のユーザー ID です。
applicantName
String
申請者の名前です。
assignmentCategory
String
承認リクエストのコンテンツカテゴリ(例:
MaxCompute)です。createTime
Long
承認リクエストが作成されたタイムスタンプ(ミリ秒単位)です。
processDefinitionId
String
ワークフロー定義の ID です。
processId
String
ワークフローの ID です。
status
String
ワークフローの現在のステータス(例:Pending)です。
title
String
ワークフローのタイトルです。
updateTime
Long
ワークフローが最後に更新されたタイムスタンプ(ミリ秒単位)です。
approvalContent
Object
承認リクエストの詳細を含むオブジェクトです。
applyPeriod
String
リクエストされた権限の有効期限(ミリ秒単位のタイムスタンプ)です。
applyReason
String
承認リクエストの理由です。
contentType
String
承認コンテンツのタイプです。
odpsProjectName
String
MaxCompute プロジェクトの名前です。
resourceSummary
String
リソースの概要です。
tenantId
Long
テナントの ID です。
workspaceId
Long
ワークスペースの ID です。
projectEnv
String
承認対象のプロジェクトの環境です。
granteeAccounts
Array
被付与者オブジェクトの配列です。
.granteeId
String
被付与者の ID です。
granteeType
Integer
被付与者のタイプです。
granteeTypeSub
Integer
被付与者のサブタイプです。
granteeName
String
被付与者の名前です。Resource Access Management (RAM) ユーザーの場合、名前は
RAM$dataworks_3h1_1:yupeng.sunypのような形式になります。arrayData
Array
リクエストされた権限を記述するオブジェクトの配列です。詳細については、「開発者リファレンス:イベント一覧とメッセージフォーマット」をご参照ください。
eventType
String
イベントのタイプです。
-
以下のサンプルは、承認リクエスト完了イベントのメッセージ本文フォーマットを示しています。メッセージ本文は、イベントメッセージ内の
dataフィールドの内容です。{ "datacontenttype": "application/json;charset=utf-8", "data": { "appId": 227859, "assignee": "286098539641742899", "eventCode": "approval-change-finished", "assigneeName": "******.******", "comments": "ces", "createTime": 1652095981000, "eventType": "approval", "process": { "applicant": "2860****899", "applicantName": "yupeng.sunyp", "approvalContent": { "applyPeriod": "2997***0000", "applyReason": "Test", "arrayData": [ { "ownerBaseId": "2382***8*884", "objectType": "TABLE", "odpsTable": "cdd", "objectNameCn": "******", "envType": 1, "projectGuid": "odps.da_simple_202112", "objectGuid": "odps.da_simple_202112.cdd", "tenantId": 0, "objectName": "cdd", "ownerAccountName": "RAM$******(******)", "odpsProject": "da_simple_202112", "projectName": "da_simple_202112", "actions": [ "Select", "Describe" ], "projectId": 9***4, "workspaceId": "9***4" } ], "contentType": "application/json", "granteeAccounts": [ { "granteeId": "286***899", "granteeTypeSub": 103, "granteeType": 1, "granteeName": "RAM$dataworks_3h1_1:yupeng.sunyp" } ], "odpsProjectName": "da_simple_202112", "projectEnv": "1", "resourceSummary": "cdd", "tenantId": 28***656, "workspaceId": 227859 }, "assignmentCategory": "MaxCompute", "createTime": 1652095981000, "processDefinitionId": "definition-6e6418e6-c65f-4f26-a673-88576b1c1e4a", "processId": "528***192", "status": "Pending", "title": "MaxComputeTable", "updateTime": 1652095981000 } } }以下の表は、ペイロード内のフィールドを説明しています。
パラメーター
タイプ
説明
appId
Long
ワークスペース ID です。
assignee
String
被割り当て者の Base ID です。
assigneeName
String
被割り当て者の名前です。
comments
String
承認リクエストのコメントです。
createTime
Long
承認リクエストが作成されたタイムスタンプ(ミリ秒単位)です。
processId
String
承認リクエスト ID です。
status
String
承認リクエストのステータスです。
taskId
String
承認タスク ID です。
tenantId
String
テナント ID です。
updateTime
String
承認リクエストが最後に更新されたタイムスタンプ(ミリ秒単位)です。
eventType
String
イベントタイプです。
process
Object
承認プロセスの詳細です。
applicant
String
申請者の Base ID です。
applicantName
String
申請者の名前です。
assignmentCategory
String
承認のカテゴリ(MaxCompute など)です。
createTime
Long
ワークフローが作成されたタイムスタンプ(ミリ秒単位)です。
processDefinitionId
String
ワークフロー定義 ID です。
processId
String
ワークフローインスタンスの ID です。
status
String
ワークフローのステータスです。
title
String
ワークフローのタイトルです。
updateTime
Long
ワークフローが最後に更新されたタイムスタンプ(ミリ秒単位)です。
approvalContent
Object
リクエストの詳細を含むオブジェクトです。
applyPeriod
String
リクエストされた権限の有効期間です。
applyReason
String
リクエストの理由です。
contentType
String
データのコンテンツタイプです。
odpsProjectName
String
MaxCompute プロジェクトの名前です。
resourceSummary
String
リソースの概要です。
tenantId
Long
テナント ID です。
workspaceId
Long
ワークスペース ID です。
projectEnv
String
プロジェクトの環境です。
granteeAccounts
Array
被付与者を表すオブジェクトの配列です。
granteeId
String
被付与者の ID です。
granteeType
String
被付与者のタイプです。
granteeTypeSub
String
被付与者のサブタイプで、アカウントの種類を指定します。有効な値は以下のとおりです。
-
ACCOUNT_PRD(101):本番スケジューリングに使用される Alibaba Cloud アカウント。
-
ACCOUNT_APP(102):アプリケーション用の Alibaba Cloud アカウント。
-
ACCOUNT_USER(103):個人の Alibaba Cloud アカウント。
-
ACCOUNT_DEPT(104):部門の Alibaba Cloud アカウント。
-
ACCOUNT_MOCK(106):モックアカウント。
-
ACCOUNT_OTHER_USER(105):他のユーザーの Alibaba Cloud アカウント。
granteeName
String
被付与者の名前です。
arrayData
Array
権限付与対象のリソースを表すオブジェクトの配列です。詳細については、「開発リファレンス:イベント一覧とメッセージフォーマット」をご参照ください。
eventType
String
イベントタイプです。
-
セキュリティセンター(テーブル権限事前イベント)
以下は、テーブル権限リクエスト事前イベントのメッセージ本文フォーマットの例です。これは、イベントメッセージ内の data フィールドの内容です。
{
"datacontenttype": "application/json;charset=utf-8",
"data": {
"eventType": "approval-create-before",
"operator":"19***735",
"order":{
"applyReason":"Test",
"deadlineDate":"1",
"deadlineType":"month",
"granteeObjectList":[
{
"granteeId":"1239****8872"
}
],
"projectMeta":{
"envCode":1,
"labelSecurity":false,
"objectMetaList":[
{
"action":[
"Select",
"Describe"
],
"name":"tablei",
"projectGuid":"odps.d11aa"
}
],
"projectId":2****0,
"projectName":"d11aa"
}
},
"projectId":2****0,
"tenantId":5564****6465
}
}
以下の表は、data オブジェクト内のフィールドを説明しています。
|
パラメーター |
タイプ |
説明 |
|
operator |
String |
権限リクエストを開始したプリンシパルのユーザー UID です。 |
|
projectId |
Long |
操作が開始されたワークスペースの ID です。 |
|
tenantId |
Long |
操作が開始されたテナントの ID です。 |
|
order |
Object |
権限リクエストの詳細を含むオブジェクトです。 |
|
applyReason |
String |
権限リクエストの理由です。 |
|
deadlineDate |
String |
有効期間の長さです。 |
|
deadlineType |
String |
有効期間の時間単位です。例: |
|
granteeObjectList |
Array |
権限被付与者のリストです。 |
|
granteeId |
String |
被付与者の一意の識別子で、RAM ユーザー ID です。 |
|
projectMeta |
Object |
ワークスペースに関するメタデータを含むオブジェクトです。 |
|
envCode |
Integer |
ワークスペース環境の識別子です。有効な値は以下のとおりです。 |
|
labelSecurity |
Boolean |
ラベルベースのアクセス制御が有効かどうかを示します。
|
|
objectMetaList |
Array |
ターゲットリソースとそれらに付与される操作を定義するオブジェクトのリストです。 |
|
action |
Array |
リソースに付与する操作のリストです。例: |
|
name |
String |
権限がリクエストされているテーブルの名前です。 |
|
projectGuid |
String |
テーブルが属するワークスペースのグローバル一意識別子(GUID)です。 |
|
projectName |
String |
テーブルが属するワークスペースの名前です。 |
|
eventType |
String |
イベントのタイプです。 |
MaxCompute 権限付与データ
DataWorks で承認またはテーブル権限リクエストがセキュリティセンターでイベントをトリガーすると、EventBridge に送信されるメッセージには arrayData フィールドが含まれます。assignmentCategory が MaxCompute の場合、arrayData フィールドは以下の構造を持ちます。
{
"ownerBaseId":"1822931104031845",
"objectType":"TABLE",
"odpsTable":"oracle_************",
"envType":1,
"projectGuid":"odps.***********",
"objectGuid":"odps.******.******",
"tenantId":0,
"objectName":"oracle_******",
"ownerAccountName":"ALIYUN***************",
"odpsProject":"dataworks******",
"projectName":"dataworks******",
"actions":[
"Select",
"Describe"
],
"projectId":9***4,
"workspaceId":"9***4"
}
以下の表は、フィールドを説明しています。
|
パラメーター |
タイプ |
説明 |
|
ownerBaseId |
String |
テーブル所有者の ID です。 |
|
ownerAccountName |
String |
テーブル所有者のアカウント名です。 |
|
objectType |
String |
オブジェクトのタイプです。 |
|
odpsTable |
String |
テーブルの名前です。 |
|
envType |
Integer |
テーブルの環境です。 |
|
projectGuid |
String |
プロジェクトのグローバル一意識別子(GUID)です。 |
|
objectGuid |
String |
オブジェクトのグローバル一意識別子(GUID)です。 |
|
objectName |
String |
オブジェクトの名前です。 |
|
odpsProject |
String |
MaxCompute プロジェクトの名前です。 |
|
projectName |
String |
DataWorks のプロジェクト名です。 |
|
projectId |
Long |
プロジェクトの ID です。 |
|
workspaceId |
String |
ワークスペースの ID です。 |
|
actions |
Array |
リクエストされた操作のリストです。 |
DataService 権限付与イベントペイロード
DataWorks で、セキュリティセンターで承認がトリガーされたり、テーブル権限がリクエストされたりすると、EventBridge に送信されるメッセージには arrayData フィールドが含まれます。assignmentCategory が DataService の場合、arrayData フィールドの内容は以下のようになります。
{
"resourceId":"DsApiDeploy/******/workspaceId/******/dsDeployId/******",
"ownerName":"******",
"resourceVersion":1,
"name":"api_api",
"dsDeployId":"******",
"workspaceName":"da_******",
"id":"******",
"type":1,
"ownerId":"19****735",
"url":"https://******.data.aliyun.com/?projectId=******&type=api&id=******&version=***&defaultProjectId=******",
"workspaceId":"******"
}
以下の表は、ペイロード内のフィールドを説明しています。
|
パラメーター |
タイプ |
説明 |
|
resourceId |
String |
権限付与に使用されるリソースの複合識別子です。 |
|
ownerName |
String |
リソース所有者の名前です。 |
|
resourceVersion |
Long |
リソースのバージョンです。 |
|
name |
String |
リソースの名前です。 |
|
dsDeployId |
String |
DataService からのデプロイメント ID です。 |
|
workspaceName |
String |
ワークスペースの名前です。 |
|
id |
String |
DataService アセットの一意の ID です。 |
|
type |
Integer |
リソースのタイプです。有効な値は以下のとおりです。
|
|
ownerId |
String |
リソース所有者の BaseID です。 |
|
url |
String |
DataService アセットの URL です。 |
|
workspaceId |
String |
ワークスペースの ID です。 |
データ品質イベント
イベント一覧
|
イベントタイプ |
イベント |
通常イベント |
拡張ポイントイベント |
EventBridge タイプ
|
拡張イベントコード |
|
データ品質チェック |
検証結果に関するフィードバック
|
|
|
|
|
|
データ品質チェック完了
|
|
|
|
|
|
|
データ品質ルール管理イベント |
ルールの一括作成 |
|
|
|
|
|
ルールの一括更新 |
|
|
|
|
|
|
ルールの一括削除 |
|
|
|
|
|
|
ルールの更新 |
|
|
|
|
|
|
監視タスク管理イベント |
監視タスクの作成 |
|
|
|
|
|
監視タスクの更新 |
|
|
|
|
|
|
監視タスクのクローン |
|
|
|
|
|
|
監視タスクの一括削除 |
|
|
|
|
|
|
アラートサブスクリプション管理イベント |
アラートサブスクリプションの作成 |
|
|
|
create-data-quality-evaluation-task-notification |
|
アラートサブスクリプションの更新 |
|
|
|
|
|
|
アラートサブスクリプションの削除 |
|
|
|
|
メッセージフォーマット
データ品質チェック
-
データ品質チェック結果のフィードバックイベントのメッセージ本文は、イベントメッセージ内の
dataフィールドの内容です。以下にメッセージ本文フォーマットのサンプルを示します。{ "datacontenttype": "application/json;charset=utf-8", "data": { "ruleCheckId": 521771452, "feedbackContent": "Skip", "ruleId": 28610334, "createUser": "110755000425****", "taskId": "167644814****9a26ecf4063a88797", "beginTime": "1676448145000", "envType": "ODPS", "projectName": "test_mc_2303_kongjian", "projectId": 9***4, "tenantId": 28***656 } }以下の表は、ペイロード内の主要なフィールドを説明しています。
パラメーター
タイプ
説明
ruleId
Long
データ品質ルールの ID です。
ruleCheckId
Long
データ品質チェックのためにシステムが生成した一意の ID です。
feedbackContent
String
フィードバックの内容です。
createUser
String
フィードバックを提供したユーザーの ID です。
taskId
String
データ品質ノードの ID です。
beginTime
String
フィードバックが提供されたタイムスタンプ(ミリ秒単位)です。
envType
String
ルールに関連付けられたテーブルが属するデータソースのタイプです。有効な値には、ODPS、E-MapReduce (EMR)、HOLO が含まれます。
projectName
String
ルールに関連付けられたテーブルを含むプロジェクトの名前です。
projectId
Long
DataWorks ワークスペースの ID です。
tenantId
Long
DataWorks テナントの ID です。
-
以下のサンプルは、データ品質チェック完了イベントのメッセージ本文フォーマットを示しています。これは、イベントメッセージ内の
dataフィールドの内容です。{ "datacontenttype": "application/json;charset=utf-8", "data": { "projectId": 9***4, "tenantId": 28***656, "id": 52177****, "taskId": "1671***7a6", "entityId": 1562***, "ruleId": 28610334, "property": "-", "bizdate": "2023-02-09 00:00:00", "dateType": "YMD", "actualExpression": "ds\u003d20230210", "matchExpression": "ds\u003d$[yyyymmdd]", "blockType": 1, "checkResult": 0, "eventCode": "dqc-check-finished-event", "checkResultStatus": 0, "methodName": "table_count", "beginTime": "2023-02-15 20:14:48", "endTime": "2023-02-15 20:14:55", "timeConsuming": "7s", "externalType": "CWF2", "externalId": "triggerByManual", "discrete": false, "fixedCheck": true, "referenceValue": [ { "bizDate": "3000-12-31 00:00:00", "discreteProperty": "表行数,1天差值", "value": 0.0, "singleCheckResult": 0 } ], "sampleValue": [ { "bizDate": "2023-02-09 00:00:00", "value": 3.0 } ], "trend": "\u003e\u003d", "expectValue": 0.0, "op": "\u003e\u003d", "projectName": "test_mc_2303_kongjian", "tableName": "sx_dim_1209_001", "templateId": 47, "checkerType": 0, "ruleName": "前一天差值", "isPrediction": false, "feedbackStatus": 0, "whetherToFilterDirtyData": false } }以下の表は、フィールドを説明しています。
パラメーター
タイプ
説明
id
Long
ルールチェックがトリガーされるたびに生成される、チェック実行の一意の ID です。
projectId
Long
DataWorks ワークスペースの ID です。
tenantId
Long
DataWorks テナントの ID です。
taskId
String
チェックノードの ID です。
entityId
Long
パーティションフィルター式の ID です。
ruleId
Long
ルールの ID です。
property
String
ルールによってチェックされるフィールドです。これはソーステーブルの列名に対応します。
bizdate
Long
データのビジネス日付です。オフラインデータの場合、通常はチェック実行の前日です。
dateType
String
スケジューリングの頻度を指定します。一般的な値は YMD で、ノードが年、月、または日単位で実行されることを示します。
actualExpression
String
チェックされたデータソーステーブルの実際のパーティションです。
matchExpression
String
パーティションフィルター式です。
blockType
Integer
ルールの強度を示します。有効な値は以下のとおりです。
-
1:強いルール。
-
0:弱いルール。
重要なルールは強いルールとして設定できます。強いルールが重大なアラートをトリガーした場合、対応するスケジュール済みノードはブロックされます。
checkResult
Integer
チェック結果のステータスです。有効な値は以下のとおりです。
-
-2:スキップ
-
-1:例外によりチェック失敗
-
0:合格
-
1:警告しきい値がトリガーされた
-
2:重大しきい値がトリガーされた
methodName
String
サンプルデータを収集するために使用されるメソッドです。例:
avg、count、sum、min、max、count_distinct、user_defined、table_count、table_size、table_dt_load_count、table_dt_refuseload_count、null_value、null_value/table_count、(table_count-count_distinct)/table_count、およびtable_count-count_distinct。beginTime
Long
チェック実行の開始時刻です。
endTime
Long
チェック実行の完了時刻です。
timeConsuming
String
チェックノードの実行時間です。
externalType
String
スケジューリングシステムのタイプです。
CWF2が唯一サポートされている値です。このフィールドが空の場合、チェックは手動テスト実行によってトリガーされたことを示します。externalId
String
-
externalTypeがCWF2の場合、このフィールドはスケジュール済みノードの ID です。 -
externalTypeが空の場合、このフィールドはtriggerByManualとなり、手動トリガーを示します。
discrete
Boolean
チェックが離散的かどうかを示します。有効な値は以下のとおりです。
-
true:チェックは離散的です。
-
false:チェックは離散的ではありません。
fixedCheck
Boolean
チェックが固定値を使用するかどうかを示します。有効な値は以下のとおりです。
-
true:チェックは固定値を使用します。
-
false:チェックは固定値を使用しません。
referenceValue
過去のサンプル値を含みます。
bizDate
Long
データのビジネス日付です。オフラインデータの場合、通常はチェック実行の前日です。
discreteProperty
String
GROUP BY句でグループ化された後のサンプルフィールドの値です。たとえば、性別フィールドでグループ化した場合、discretePropertyの値はMale、Female、nullになります。value
Decimal
サンプル値です。
singleCheckResult
Integer
この特定のサンプルの結果ステータスです。
sampleValue
現在のチェックのサンプル値です。
bizDate
Long
データのビジネス日付です。オフラインデータの場合、通常はチェック実行の前日です。
value
Decimal
サンプル値です。
trend
String
チェック結果の傾向です。
expectValue
Double
期待値です。
op
String
比較演算子です。
projectName
String
チェック対象のコンピュートエンジンまたはデータソースの名前です。
tableName
String
チェック対象のテーブルの名前です。
templateId
Integer
適用されたチェックテンプレートの ID です。
checkerType
Integer
チェッカーのタイプです。
ruleName
String
ルールの名前です。
isPrediction
Boolean
結果が予測であるかどうかを示します。有効な値は以下のとおりです。
-
true:結果は予測です。
-
false:結果は予測ではありません。
comment
String
チェックルールの説明です。
eventCode
String
拡張ポイントイベントのコードです。
-
事前操作イベント
-
以下のサンプルは、「データ品質ルールの一括作成事前イベント」のメッセージ本文フォーマット(イベントメッセージ内の
dataフィールドの内容)を示しています。{ "datacontenttype": "application/json;charset=utf-8", "data": { "eventCode": "batch-create-data-quality-rules", "projectId": 30***03, "tenantId": 28***656, "operator": "19***735", "operationTime": 1734505954897, "dataQualityTaskId": 1001, "target": { "databaseType": "maxcompute", "tableGuid": "odps.project_demo.tb_table_demo" }, "rules": [ { "name": "Table row count is greater than 0", "enabled": true, "severity": "High", "description": "Test for the data quality rule creation operation", "templateCode": "system:table:table_count:fixed:0", "samplingConfig": { "metric": "count" }, "checkingConfig": { "type": "fixed", "thresholds": { "expected": { "expression": "$checkValue > 0" }, "critical": { "expression": "$checkValue <= 0" } } } } ] } }以下の表は、ペイロード内の主要なフィールドを説明しています。
パラメーター
タイプ
説明
projectId
List
DataWorks ワークスペースの ID です。
operator
String
オペレーターの UID です。
operationTime
Long
操作が実行された時刻で、Unix タイムスタンプ(ミリ秒単位)で表されます。
dataQualityTaskId
Long
ルールに関連付けられたデータ品質モニタリングタスクの ID です。このパラメーターは任意です。
target
DataQualityTarget
データ品質ルールによって監視されるオブジェクトです。
databaseType
String
監視対象テーブルを含むデータベースのタイプです。有効な値は以下のとおりです。
-
MaxCompute
-
EMR
-
CDH
-
Hologres
-
AnalyticDB for PostgreSQL
tableGuid
String
データマップ内のテーブルの一意の識別子です。
rules
List<DataQualityRule>
作成されるデータ品質ルールオブジェクトのリストです。
name
String
データ品質ルールの名前です。
enabled
Boolean
ルールを有効にするかどうかを指定します。デフォルト値:
true。severity
String
ルールの重要度で、これは UI の「
強度」設定に対応しています。有効な値は以下のとおりです。-
High
-
Normal
description
String
ルールの説明です。
templateCode
String
ルールの作成に使用されたルールテンプレートのコードです。
samplingConfig
SamplingConfig
サンプリング設定です。
metric
String
サンプリングに使用されるメトリックです。有効な値は以下のとおりです。
-
Count:テーブル行数。 -
Min:フィールドの最小値。 -
Max:フィールドの最大値。 -
Avg:フィールドの平均値。 -
DistinctCount:フィールドの一意な値の数。 -
DistinctPercent:総行数に対する一意な値の比率。 -
DuplicatedCount:フィールド内の重複した値の数。 -
DuplicatedPercent:総行数に対する重複した値の比率。 -
TableSize:テーブルのサイズ。 -
NullValueCount:フィールドが NULL である行の数。 -
NullValuePercent:総行数に対する NULL 値の比率。 -
GroupCount:フィールドでグループ化した後の各一意の値の行数。 -
CountNotIn:指定された列挙値と一致しない行の数。 -
CountDistinctNotIn:指定された列挙値と一致しない一意の値の数。 -
UserDefinedSql:カスタム SQL クエリを使用してサンプリングすることを指定します。
checkingConfig
CheckingConfig
サンプル検証設定です。
type
String
しきい値の計算方法です。有効な値は以下のとおりです。
-
Fixed
-
Fluctation
-
FluctationDiscreate
-
Auto
-
Average
-
Variance
thresholds
Thresholds
しきい値設定です。
expected
Threshold
期待されるしきい値の設定です。
expression
String
しきい値式です。
critical
Threshold
重大アラートをトリガーするしきい値設定です。
-
-
以下の例は、「データ品質ルールの一括更新事前イベント」のペイロードを示しています。このペイロードは、イベントメッセージ内の
dataフィールドの値です。{ "datacontenttype": "application/json;charset=utf-8", "data": { "eventCode": "update-data-quality-rule", "projectId": 30***03, "tenantId": 28***656, "operator": "19***735", "operationTime": 1734505954897, "id": 100001, "name": "Table row count is greater than 0", "enabled": true, "severity": "High", "description": "Test for the Data Quality Rule update operation", "templateCode": "system:table:table_count:fixed:0", "samplingConfig": { "metric": "count" }, "checkingConfig": { "type": "fixed", "thresholds": { "expected": { "expression": "$checkValue > 0" }, "critical": { "expression": "$checkValue <= 0" } } } } }以下の表は、ペイロード内の主要なフィールドを一覧表示しています。
パラメーター
タイプ
説明
eventCode
String
イベントコードです。
projectId
Long
ワークスペース ID です。
tenantId
Long
テナント ID です。
operator
String
ユーザー ID です。
operationTime
Long
操作時間。
id
Long
ルール ID です。
name
String
ルール名です。
enabled
Boolean
ルールが有効かどうかを示します。
true:ルールは有効です。
false:ルールは無効です。
severity
String
ルールの重要度です。有効な値は以下のとおりです。
-
High
-
Normal
description
String
ルールの説明です。
templateCode
String
ルールテンプレートの識別子です。
samplingConfig
SamplingConfig
データサンプリングの構成です。
metric
String
サンプリングに使用されるメトリックです。有効な値は以下のとおりです。
-
Count:テーブルの行数。
-
Min:フィールドの最小値。
-
Max:フィールドの最大値。
-
Avg:フィールドの平均値。
-
DistinctCount:フィールドの一意な値の数。
-
DistinctPercent:フィールドの一意な値の割合。
-
DuplicatedCount:フィールドの重複した値の数。
-
DuplicatedPercent:フィールドの重複した値の割合。
-
TableSize:テーブルのサイズ。
-
NullValueCount:フィールドが NULL である行の数。
-
NullValuePercent:フィールドが NULL である行の割合。
-
GroupCount:フィールドでグループ化した後の各一意の値の行数。
-
CountNotIn:指定された列挙値と一致しない行の数。
-
CountDistinctNotIn:指定された列挙値と一致しない一意の値の数。
-
UserDefinedSql:カスタム SQL クエリで定義されたメトリックです。
checkingConfig
CheckingConfig
サンプルデータの検証構成です。
type
String
しきい値の計算方法です。有効な値は以下のとおりです。
-
Fixed
-
Fluctuation
-
FluctuationDiscrete
-
Auto
-
Average
-
Variance
thresholds
Thresholds
しきい値構成です。
expected
Threshold
期待されるしきい値構成です。
expression
String
しきい値式です。
critical
Threshold
重大アラートのしきい値構成です。
-
-
以下のサンプルは、「データ品質ルールの一括削除事前イベント」(イベントメッセージ内の
dataフィールドの内容)のメッセージ本文フォーマットを示しています。{ "datacontenttype": "application/json;charset=utf-8", "data": { "eventCode": "batch-delete-data-quality-rules", "ids": [ 10***01, 10***02, 10***03 ], "projectId": 30***03, "tenantId": 524***4736, "operator": "19***735", "operationTime": 1734505954897 } }以下の表は、主要なフィールドを説明しています。
パラメーター
タイプ
説明
projectId
Long
DataWorks ワークスペースの ID です。
operator
String
操作を実行しているユーザーの UID です。
operationTime
Long
操作が発生した時刻で、Unix タイムスタンプ(ミリ秒単位)です。
ids
List<Long>
削除するデータ品質ルールの ID のリストです。
tenantId
String
テナントの一意の識別子です。
eventCode
String
イベントタイプを識別する一意のコードです。
-
以下の例は、「データ品質ルールの更新事前イベント」のメッセージ本文を示しています。これは、イベントメッセージ内の
dataフィールドの内容です。{ "datacontenttype": "application/json;charset=utf-8", "data": { "eventCode": "update-data-quality-rule", "projectId": 30***03, "tenantId": 524***4736, "operator": "110***3538", "operationTime": 1734505954897, "id": 100001, "name": "Table row count is greater than 0", "enabled": true, "severity": "High", "description": "A test check for the Data Quality Rule creation operation.", "templateCode": "system:table:table_count:fixed:0", "samplingConfig": { "metric": "count" }, "checkingConfig": { "type": "fixed", "thresholds": { "expected": { "expression": "$checkValue > 0" }, "critical": { "expression": "$checkValue <= 0" } } } } }この表は、メッセージ本文の主要なフィールドを説明しています。
パラメーター
タイプ
説明
eventCode
String
イベントタイプを識別する一意のコードです。
projectId
Long
ワークスペースの ID です。
tenantId
Long
テナントの ID です。
operator
String
ユーザー UID です。
operationTime
Long
操作が発生した時刻で、Unix ミリ秒単位です。
id
Long
ルールの ID です。
name
String
ルールの名前です。
enabled
Boolean
Data Quality ルールが有効かどうかを示します。
true:ルールは有効です。
false:ルールは無効です。
severity
String
ルールの重要度です。このフィールドは、UI 上のルール強度設定に対応しています。有効な値は以下のとおりです。
-
High
-
Normal
description
String
ルールのカスタム説明です。
templateCode
String
ルールテンプレートの識別子です。
samplingConfig
SamplingConfig
データサンプリングの構成です。
metric
String
サンプリングに使用されるメトリックです。可能な値は以下のとおりです。
-
Count:テーブルの行数。
-
Min:フィールドの最小値。
-
Max:フィールドの最大値。
-
Avg:フィールドの平均値。
-
DistinctCount:フィールドの一意な値の数。
-
DistinctPercent:総行数に対する一意なフィールド値の比率。
-
DuplicatedCount:フィールドの重複した値の数。
-
DuplicatedPercent:総行数に対する重複したフィールド値の比率。
-
TableSize:テーブルのサイズ。
-
NullValueCount:フィールドが NULL である行の数。
-
NullValuePercent:フィールドが NULL である行の割合。
-
GroupCount:フィールドでグループ化した後の各一意の値の行数。
-
CountNotIn:指定された列挙値と一致しない行の数。
-
CountDistinctNotIn:指定された列挙値と一致しない一意の値の数。
-
UserDefinedSql:カスタム SQL クエリを使用してサンプリングすることを示します。
checkingConfig
CheckingConfig
データ品質チェックの構成です。
type
String
しきい値の計算方法です。有効な値は以下のとおりです。
-
Fixed
-
Fluctation
-
FluctationDiscreate
-
Auto
-
Average
-
Variance
thresholds
Thresholds
しきい値設定です。
expected
Threshold
期待されるしきい値設定です。
expression
String
しきい値条件を定義する式です。
critical
Threshold
重大アラートのためのしきい値設定です。
-
データ品質モニタリングタスク(作成・更新・クローン・一括削除)の事前イベント
-
「データ品質モニタリングの作成または更新事前イベント」(イベントメッセージ内の
dataフィールドの内容)のメッセージ本文フォーマットのサンプルを以下に示します。{ "datacontenttype": "application/json;charset=utf-8", "data": { "eventCode": "create-data-quality-evaluation-task", "name": "Table data accuracy monitor", "description": "After a scheduled instance that writes data to the table runs successfully, this monitor is triggered to check whether the output data meets expectations.", "target": { "databaseType": "emr", "tableGuid": "an-emr-table-guid" }, "trigger": { "type": "ByScheduledTaskInstance", "taskIds": [ 1001, 1002 ] }, "dataSourceId": 201, "runtimeConf": "{ \"queue\": \"default\", \"sqlEngine\": \"HIVE_SQL\" }", "rules": [ { "name": "Table row count is greater than 0", "enabled": true, "severity": "High", "description": "Test for the Data Quality Rule create operation", "templateCode": "system:table:table_count:fixed:0", "samplingConfig": { "metric": "count" }, "checkingConfig": { "type": "fixed", "thresholds": { "expected": { "expression": "$checkValue > 0" }, "critical": { "expression": "$checkValue <= 0" } } } }, { "id": 100002, "name": "Table row count is greater than 100", "checkingConfig": { "type": "fixed", "thresholds": { "expected": { "expression": "$checkValue > 100" }, "critical": { "expression": "$checkValue <= 100" } } } } ], "hooks": [ { "type": "BlockTaskInstance", "condition": "(${severity} == \"High\" AND ${status} == \"Critical\") OR (${severity} == \"High\" AND ${status} == \"Error\")" } ], "notifications": { "condition": "(${severity} == \"High\" AND ${status} == \"Warned\") OR (${severity} == \"Normal\" AND ${status} == \"Critical\") OR (${severity} == \"Normal\" AND ${status} == \"Warned\") OR (${severity} == \"Normal\" AND ${status} == \"Error\")", "notifications": [ { "channels": [ "Mail", "Sms" ], "notificaionReceivers": [ { "receiverType": "AliUid", "receiverValues": [ "1107550004253538", "51107550004253538" ] } ] }, { "channels": [ "Dingding" ], "notificaionReceivers": [ { "receiverType": "DingdingUrl", "receiverValues": [ "https://api.dingding.com/message-boxes/b1/messages", "https://api.dingding.com/message-boxes/b2/messages" ], "extension": "{ \"atAll\": true }" } ] } ] }, "projectId": 30***03, "tenantId": 524***4736, "operator": "110***3538", "operationTime": 1734505954897 } }以下の表は、主要なパラメーターを説明しています。
パラメーター
タイプ
説明
eventCode
String
イベントコードです。
name
String
データ品質モニタリングタスクの名前です。
description
String
データ品質モニタリングタスクの説明です。
target
DataQualityTarget
データ品質モニタリングタスクによって監視されるオブジェクトです。
databaseType
String
テーブルデータセットの場合、これはテーブルのデータベースタイプを指定します。有効な値は以下のとおりです。
-
MaxCompute
-
E-MapReduce (EMR)
-
CDH
-
Hologres
-
AnalyticDB for PostgreSQL
tableGuid
String
データマップ内のテーブルの一意の ID です。
trigger
DataQualityEvaluationTaskTrigger
データ品質モニタリングタスクのトリガー構成です。
type
String
タスクの実行をトリガーするイベントタイプを指定します。有効な値は以下のとおりです。
-
ByScheduledTaskInstance:スケジュール済みインスタンスが正常に実行されたときにタスクをトリガーします。これはパブリッククラウド環境でのみサポートされています。 -
ByManual:手動でタスクをトリガーします。
taskIds
Array<Long>
typeをByScheduledTaskInstanceに設定する場合、このパラメーターは必須です。スケジュール済みノードの ID を指定し、成功したインスタンス実行後にタスクをトリガーします。dataSourceId
Long
データ品質モニタリングタスクで使用されるデータソースの ID です。
runtimeConf
String
データソースのランタイム構成です。このパラメーターは、現在 E-MapReduce(EMR)の YARN キューを指定したり、E-MapReduce(EMR)テーブルからデータを収集するために SQL エンジンを
SPARK-SQLに設定したりすることをサポートしています。rules
List<DataQualityRule>
データ品質ルールのリストです。パラメーターの詳細については、「モニタリングルールの事前イベント(複数のモニタリングルールの一括作成・一括更新・一括削除およびモニタリングルールの更新)」をご参照ください。
hooks
Array<DataQualityEvaluationTaskHook>
データ品質モニタリングタスクインスタンスのライフサイクルにおけるコールバック設定(フック)です。現在、スケジュール済みインスタンスをブロックするフックのみがサポートされています。
type
String
フックの後処理アクションのタイプです。有効な値は以下のとおりです。
BlockTaskInstance:DataWorks タスクインスタンスの実行をブロックします。condition
String
フックのトリガー条件です。
notifications
Array<Notification>
アラート通知設定です。
projectId
Long
DataWorks ワークスペース ID です。
tenantId
Long
テナント ID です。
operator
String
オペレーター UID です。
operationTime
Long
操作時間
-
-
以下のサンプルは、「データ品質モニタリングのクローン事前イベント」(イベントメッセージ内の
dataフィールドの内容)のメッセージ本文フォーマットを示しています。{ "datacontenttype": "application/json;charset=utf-8", "data": { "eventCode": "clone-data-quality-evaluation-task", "id": 10001, "targets": [ { "databaseType": "emr", "tableGuid": "an-emr-table-guid" }, { "databaseType": "emr", "tableGuid": "another-emr-table-guid" } ], "projectId": 9***4, "tenantId": 28***656, "operator": "19***735", "operationTime": 1734505954897 } }以下の表は、主要なパラメーターを説明しています。
パラメーター
タイプ
説明
projectId
Long
DataWorks ワークスペース ID です。
tenantId
Long
テナント ID です。
operator
String
オペレーター UID です。
operationTime
Long
操作時間。
targets
List<DataQualityTarget>
クローン操作の対象となるオブジェクトです。
databaseType
String
テーブルデータセットの場合、これはテーブルのデータベースタイプを指定します。有効な値は以下のとおりです。
-
MaxCompute
-
E-MapReduce (EMR)
-
CDH
-
Hologres
-
AnalyticDB for PostgreSQL
tableGuid
String
データマップ内のテーブルの一意の ID です。
id
Long
クローン元のデータ品質モニタリングタスクの ID です。
eventCode
String
イベントコードです。
-
-
以下のサンプルは、「データ品質モニタリングのバッチ削除事前イベント」のメッセージ本文フォーマットを示しています。メッセージ本文は、イベントメッセージ内の
dataフィールドの内容です。{ "datacontenttype": "application/json;charset=utf-8", "data": { "eventCode": "batch-delete-data-quality-evaluation-tasks", "ids": [ 10001, 10002 ], "projectId": 9***4, "tenantId": 28***656, "operator": "19***735", "operationTime": 1734505954897 } }以下の表は、主要なパラメーターを説明しています。
パラメーター
タイプ
説明
projectId
Long
DataWorks ワークスペース ID です。
operator
String
オペレーター UID です。
operationTime
Long
操作時間
ids
List<Long>
削除するデータ品質モニタリングタスクの ID のリストです。
tenantId
Long
テナント ID です。
eventCode
String
イベントコードです。
データ品質アラートイベント
-
以下のサンプルは、「データ品質モニタリングのアラートサブスクリプションの作成または削除事前イベント」のメッセージ本文です。メッセージ本文は、イベントメッセージ内の
dataフィールドの内容です。{ "datacontenttype": "application/json;charset=utf-8", "data": { "eventCode": "create-data-quality-evaluation-task-notification", "dataQualityEvaluationTaskId": 10001, "channel": "sms", "receiverValue": "1107***38", "projectId": 30***03, "operator": "110***3538", "operationTime": 1734505954897 } }以下の表は、ペイロード内のフィールドを説明しています。
パラメーター
タイプ
説明
projectId
Long
DataWorks ワークスペース ID です。
operator
String
オペレーターの UID です。
operationTime
Long
操作時刻で、Unix タイムスタンプ(ミリ秒単位)として指定されます。
dataQualityEvaluationTaskId
Long
データ品質モニタリングタスク ID です。
channel
String
通知チャネルのタイプです。有効な値は以下のとおりです。
-
Mail:メール -
Sms:SMS -
Phone:電話 -
Feishu:Lark -
Weixin:WeChat -
Dingding:DingTalk -
Webhook:カスタム Webhook
receiverValue
String
特定の通知先(メールアドレスや Webhook URL など)です。
eventCode
String
一意のイベントコードです。
-
-
「データ品質モニタリングの更新事前イベント」(イベントメッセージ内の
dataフィールドの内容)のメッセージ本文フォーマットのサンプルを以下に示します。{ "datacontenttype": "application/json;charset=utf-8", "data": { "eventCode": "update-data-quality-evaluation-task-notification", "dataQualityEvaluationTaskId": 10001, "currentChannel": "sms", "currentReceiverValue": "1107***538", "updatedChannel": "sms", "updatedReceiverValue": "1107***538", "projectId": 30***03, "operator": "110***3538", "operationTime": 1734505954897 }以下の表は、ペイロード内のフィールドを説明しています。
パラメーター
タイプ
説明
projectId
Long
DataWorks ワークスペース ID です。
operator
String
オペレーターの UID です。
operationTime
Long
操作時刻で、Unix タイムスタンプ(ミリ秒単位)として指定されます。
dataQualityEvaluationTaskId
Long
データ品質モニタリングタスク ID です。
currentChannel
String
更新前の元のチャネルタイプです。有効な値については、
channelフィールドの説明をご参照ください。-
メール
-
SMS
-
電話
-
Lark
-
WeChat
-
DingTalk
-
カスタム Webhook
currentReceiverValue
String
更新前の元の通知先です。
updatedChannel
String
更新後の新しいチャネルタイプです。
channelフィールドの説明をご参照ください。-
メール
-
SMS
-
電話
-
Lark
-
WeChat
-
DingTalk
-
カスタム Webhook
updatedReceiverValue
String
更新後の新しい通知先です。
eventCode
String
一意のイベントコードです。
-
テナントレベルのイベント
テナントレベルのモジュールは、テナントレベルのイベントを生成します。たとえば、コンソールでワークスペースを削除するとイベントが生成されます。「イベント一覧」では、各モジュールでサポートされているイベント、それが標準イベントか拡張ポイントイベントか、およびそのメッセージフォーマットについて示しています。
「メッセージフォーマット」タブには部分的な内容のみが表示されます。EventBridge または Function Compute に送信される完全なイベントメッセージについては、「付録:メッセージフォーマット」をご参照ください。
コンソールイベント
イベント一覧
|
イベントタイプ |
イベントおよび操作 |
通常イベント |
拡張イベント |
EventBridge イベントタイプ |
拡張イベントコード |
|
ワークスペース削除 |
ワークスペース削除前の事前イベント |
|
|
|
|
|
ワークスペース削除後の事後イベント |
|
|
|
|
メッセージフォーマット
ワークスペース削除イベント
-
以下のサンプルは、テナントがワークスペースを削除する直前にトリガーされる事前イベントのメッセージ本文フォーマット(イベントメッセージ内の
dataフィールドの内容)を示しています。{ "data": { "eventCode": "delete-project", "projectId": 7***7, // ワークスペース ID "tenantId": 2807****0784, // テナント ID "operator": "19***735" }以下の表は、フィールドを説明しています。
パラメーター
タイプ
説明
operator
String
DataWorks ワークスペースを削除するユーザーの UID です。
projectId
Long
削除される DataWorks ワークスペースの ID です。
tenantId
Long
ワークスペースが属するテナントの ID です。
eventCode
String
拡張ポイントイベントを識別する一意のコードです。
-
以下のサンプルは、テナントがワークスペースを削除した後にトリガーされるイベントのメッセージ本文フォーマット(イベントメッセージ内の
dataフィールドの内容)を示しています。{ "data": { "eventCode": "project-deleted", "tenantId": 28***656, "blockBusiness": false, "projectName": "test2", "projectId": 9***4, "operator": "19***735", "timestamp": 1702260556896 } }以下の表は、フィールドを説明しています。
パラメーター
タイプ
説明
operator
String
DataWorks ワークスペースを削除したユーザーの UID です。
projectId
Long
削除された DataWorks ワークスペースの ID です。
projectName
String
削除された DataWorks ワークスペースの名前です。
tenantId
Long
削除されたワークスペースを所有していたテナントの ID です。
timestamp
Long
イベントが生成されたタイムスタンプです。
eventCode
String
拡張ポイントイベントを識別する一意のコードです。
アップロードおよびダウンロードイベント
イベントリスト
|
イベントタイプ |
イベント |
通常イベント |
拡張ポイントイベント |
EventBridge タイプ |
拡張イベントコード |
|
アップロードおよびダウンロード |
事前ダウンロード:ファイル生成 |
|
|
dataworks:ResourcesDownload:DownloadResources |
download-resources |
|
事前ダウンロード:ファイルダウンロード |
|
|
dataworks:ResourcesDownload:DownloadResourcesExecute |
download-resources-execute |
|
|
事前アップロード |
|
|
dataworks:ResourcesUpload:UploadDataToTable |
upload-data-to-table |
メッセージフォーマット
アップロードおよびダウンロード
-
以下のサンプルは、「データダウンロード事前イベント - ファイル生成」イベントのメッセージ本文です。これは、イベントメッセージ内の
dataフィールドの内容です。{ "data": { "eventCode": "download-resources", "moduleType": "sqlx_query", "operatorBaseId": "123936573******", "operatorUid": "14931896037*******", "fileName": "sample-file-name.csv", "fileSize": 10241024, "datasourceId": "1111", "datasourceName": "odps_first", "queryDwProjectId": "9***4", "queryDwProjectName": "test_project", "dataRowSize": "123456", "sqlText": "select sku_code, sku_name from dim_sku", }パラメーター
タイプ
説明
moduleType
String
ダウンロード元です。有効な値は以下のとおりです。
-
entity_transfer: からダウンロードされたデータ。
-
develop_query:DataStudio 内の SQL ステートメントを使用してダウンロードされたデータ。 -
sqlx_query: で SQL ステートメントをクエリおよびダウンロードしたデータ。
-
dw_excel: からダウンロードされたデータ。
operatorBaseId
String
ダウンロードを開始したユーザーの BaseID です。
operatorUid
String
ダウンロードを開始したユーザーの UID です。
fileName
String
ダウンロードされたファイルの名前です。
fileSize
Long
ダウンロードされたファイルのサイズ(バイト単位)です。
datasourceId
String
ダウンロードされたデータを含むデータソースの ID です。
datasourceName
String
ダウンロードされたデータを含むデータソースの名前です。
queryDwProjectId
String
ダウンロードされたデータを含む DataWorks ワークスペースの ID です。
queryDwProjectName
String
ダウンロードされたデータを含む DataWorks ワークスペースの名前です。
dataRowSize
Long
ダウンロードされたデータ行数です。
sqlText
String
データをクエリおよびダウンロードするために使用された SQL ステートメントです。
eventCode
String
拡張イベントコードです。
-
-
以下のサンプルは、「データダウンロード事前イベント - ファイルダウンロード」イベントのメッセージ本文フォーマット(イベントメッセージ内の
dataフィールドの内容)を示しています。{ "datacontenttype": "application/json;charset=utf-8", "aliyunaccountid": "1493189603770213", "aliyunpublishtime": "2023-12-11T02:10:00.194Z", "data": { "eventCode": "download-resources-execute", "moduleType": "sqlx_query", "operatorBaseId": "123936573******", "operatorUid": "14931896037*******", "fileName": "sample-file-name.csv", "fileSize": 10241024, "datasourceId": "1111", "datasourceName": "odps_first", "queryDwProjectId": "9***4", "queryDwProjectName": "test_project", "dataRowSize": "123456", "sqlText": "select sku_code, sku_name from dim_sku", "ip": "198.10.X.X" }, "aliyunoriginalaccountid": "149318960******", "specversion": "1.0", "aliyuneventbusname": "default", "id": "2c3e41e5-3486-40ce-87d4-910f989cf2a7", "source": "acs.dataworks", "time": "2023-12-11T10:10:00.117Z", "aliyunregionid": "cn-shanghai", "type": "dataworks:ResourcesDownload:DownloadResourcesExecute" }パラメーター
タイプ
説明
moduleType
String
ダウンロード元です。有効な値は以下のとおりです。
-
entity_transfer: からダウンロードされたデータ。
-
develop_query:DataStudio 内の SQL ステートメントを使用してダウンロードされたデータ。 -
sqlx_query: で SQL ステートメントをクエリおよびダウンロードしたデータ。
-
dw_excel: からダウンロードされたデータ。
operatorBaseId
String
ダウンロードを開始したユーザーの BaseID です。
operatorUid
String
ダウンロードを開始したユーザーの UID です。
fileName
String
ダウンロードされたファイルの名前です。
fileSize
Long
ダウンロードされたファイルのサイズ(バイト単位)です。
datasourceId
String
ダウンロードされたデータを含むデータソースの ID です。
datasourceName
String
ダウンロードされたデータを含むデータソースの名前です。
queryDwProjectId
String
ダウンロードされたデータを含む DataWorks ワークスペースの ID です。
queryDwProjectName
String
ダウンロードされたデータを含む DataWorks ワークスペースの名前です。
dataRowSize
Long
ダウンロードされたデータ行数です。
sqlText
String
データをクエリおよびダウンロードするために使用された SQL ステートメントです。
ip
String
ダウンロードを開始したユーザーの IP アドレスです。
eventCode
String
拡張イベントコードです。
-
-
以下のサンプルは、データアップロード事前イベント(イベントメッセージ内の
dataフィールドの内容)のメッセージ本文フォーマットを示しています。{ "datacontenttype": "application/json;charset=utf-8", "aliyunaccountid": "1493189603770213", "aliyunpublishtime": "2023-12-11T02:10:00.194Z", "data": { "eventCode": "upload-data-to-table", "uploadSourceType": "LOCAL", "optTableType": "CREATE", "targetEngineType": "MAXCOMPUTE", "writeType": "OVERWRITE", "conflictMode": "IGNORE", "operatorBaseId": "12312*****", "operatorUid": "1222222*****", "datasourceId": "1111", "datasourceName": "odps_first", "tableGuid": "odps.mc_project.test_table", "queryDwProjectId": "9***4", "queryDwProjectName": "test_project", "fileSize": 123456 }, "aliyunoriginalaccountid": "149318960******", "specversion": "1.0", "aliyuneventbusname": "default", "id": "2c3e41e5-3486-40ce-87d4-910f989cf2a7", "source": "acs.dataworks", "time": "2023-12-11T10:10:00.117Z", "aliyunregionid": "cn-shanghai", "type": "dataworks:ResourcesUpload:UploadDataToTable" }パラメーター
タイプ
説明
uploadSourceType
String
アップロード元です。有効な値は以下のとおりです。
-
LOCAL:ローカルファイルからデータをアップロードします。 -
OSS:Object Storage Service(OSS)ファイルからデータをアップロードします。 -
DW_EXCEL:DataWorks のデータをアップロードします。
-
HTTP:HTTP ソースからデータをアップロードします。
optTableType
String
新規または既存のテーブルにデータをアップロードするかどうかを指定します。有効な値は以下のとおりです。
-
CREATE:新規テーブルにデータをアップロードします。 -
IMPORT:既存のテーブルにデータをアップロードします。
targetEngineType
String
宛先コンピュートエンジンのタイプです。有効な値は以下のとおりです。
-
MaxCompute -
EMR Hive -
Hologres
writeType
String
ターゲットテーブルへのデータ書き込みモードです。有効な値は以下のとおりです。
-
OVERWRITE:ターゲットテーブル内の既存のデータを上書きします。 -
APPEND:アップロードされたデータをターゲットテーブルに追加します。
conflictMode
String
プライマリキーの競合を処理するポリシーです。有効な値は以下のとおりです。
-
IGNORE:プライマリキーの競合が発生した場合、システムはアップロードされたデータを無視します。 -
REPLACE:プライマリキーの競合が発生した場合、システムは既存の行を削除し、アップロードされたデータを挿入します。アップロードで指定されていないフィールドはNULLに設定されます。 -
UPDATE:アップロードされたデータが既存のデータを上書きします。指定されたフィールドのみが更新され、他のフィールドは変更されません。
operatorBaseId
String
アップロードを開始したユーザーの BaseID です。
operatorUid
String
アップロードを開始したユーザーの UID です。
datasourceId
String
宛先データソースの ID です。
datasourceName
String
宛先データソースの名前です。
tableGuid
String
ターゲットテーブルの GUID です。例:
-
MaxCompute:
odps.maxcomputeProject.tableName。 -
EMR_Hive:
emr_hive.emrClusterId.schema.tableName。 -
Holo:
holo.hologresInstanceId.database。
queryDwProjectId
String
テーブルを含む DataWorks ワークスペースの ID です。
queryDwProjectName
String
テーブルが配置されている DataWorks ワークスペースの名前です。
fileSize
Long
アップロードされたファイルのサイズ(バイト単位)です。
eventCode
String
拡張イベントコードです。
-
付録:メッセージフォーマット
EventBridge
オープンイベント (OpenEvent) でイベント配信チャネルを構成すると、ワークスペースレベルまたはテナントレベルのイベントがトリガーされた際に、DataWorks から EventBridge へイベントが送信されます。EventBridge コンソールで、これらのイベントを type に基づいてフィルターできます。以下は、DataWorks が EventBridge へ送信するメッセージの JSON フォーマットです。
{
"datacontenttype": "application/json;charset=utf-8", // data フィールドのフォーマット。application/json のみサポートされます。
"data": {
// data オブジェクトの内容はイベントタイプによって異なります。tenantId および eventCode フィールドは常に含まれます。特定のイベントについては、このトピックのイベント一覧をご参照ください。
"tenantId": 28378****10656, // テナント ID。DataWorks では、各 Alibaba Cloud アカウントは一意のテナント ID を持つテナントに対応します。テナント ID は、DataStudio ページのユーザープロファイル内の「ユーザー情報」で確認できます。
"eventCode": "xxxx"
},
"id": "539fd8f4-4ea1-4625-aa8b-6c906674****", // イベントの一意の識別子。
"source": "acs.dataworks", // イベントを生成したサービス。「`acs.dataworks`」は、イベントが DataWorks から送信されたことを示します。
"specversion": "1.0",
"subject": "",
"time": "2020-11-19T21:04:41+08:00", // イベントが生成された時刻。
"type": "dataworks:InstanceStatusChanges:InstanceStatusChanges", // イベントタイプ。EventBridge でのイベントフィルタリングに使用されます。
"aliyunaccountid": "123456789098****", // Alibaba Cloud アカウント ID。
"aliyunpublishtime": "2020-11-19T21:04:42.179PRC", // EventBridge がイベントを受信した時刻。
"aliyuneventbusname": "default", // DataWorks からイベントを受信する EventBridge イベントバスの名前。
"aliyunregionid": "cn-hangzhou", // イベントが受信されたリージョン。
"aliyunpublishaddr": "172.25.XX.XX"
}
イベントメッセージには、ペイロードおよびイベント ID、イベントソース、生成時刻などのメタデータが含まれます。以下の表は、主要なフィールドを説明しています。
|
パラメーター |
タイプ |
説明 |
|
data |
object |
イベントメッセージのペイロードです。ペイロードのフォーマットおよびフィールドはイベントタイプによって異なります。詳細については、以下をご参照ください。 DataStudio のイベントのメッセージフォーマットについては、「DataStudio のイベント」をご参照ください。 データ統合のイベントのメッセージフォーマットについては、「データ統合のイベント」をご参照ください。 オペレーションセンターのイベントのメッセージフォーマットについては、「オペレーションセンターのイベント」をご参照ください。 セキュリティセンターのイベントのメッセージフォーマットについては、「セキュリティセンターのイベント」をご参照ください。 データ品質のイベントのメッセージフォーマットについては、「データ品質のイベント」をご参照ください。 |
|
id |
String |
イベントを追跡するために使用される一意の識別子です。 |
|
type |
String |
このフィールドを使用して、EventBridge コンソールで DataWorks のイベントをフィルターできます。このフィールドの値はイベントによって異なります。詳細については、このトピックのイベント一覧をご参照ください。 |
Function Compute
DataWorks で拡張機能 (Extensions)を Function Compute と連携させるように構成すると、対応する拡張ポイントイベントがトリガーされた際に、DataWorks から Function Compute へ JSON メッセージが送信されます。Function Compute は、以下の JSON フォーマットでメッセージを受信します。
{
"blockBusiness": true,
"eventCategoryType": "resources-download", // イベントカテゴリ。
"eventType": "upload-data-to-table", // イベントタイプ。
"extensionBizId": "job_6603***070",
"messageBody": {
// messageBody オブジェクトの内容はイベントタイプによって異なります。tenantId および eventCode フィールドは常に含まれます。特定のイベントについては、このトピックのイベント一覧をご参照ください。
"tenantId": 28378****10656, // テナント ID。DataWorks では、各 Alibaba Cloud アカウントは一意のテナント ID を持つテナントに対応します。テナント ID は、DataStudio ページのユーザープロファイル内の「ユーザー情報」で確認できます。
"eventCode": "xxxx"
},
"messageId": "52d44ee7-b51f-4d4d-afeb-*******" // イベントの一意の識別子。
}
以下の表は、主要なフィールドを説明しています。
|
パラメーター |
タイプ |
説明 |
|
|
messageId |
String |
イベントを追跡するために使用される一意の識別子です。 |
|
|
messageBody |
Object |
メッセージペイロードで、DataWorks からのイベント固有のデータを含みます。その内容はイベントタイプによって異なり、拡張機能の開発時に使用できます。 |
|
|
tenantId |
String |
テナント ID です。DataWorks では、各 Alibaba Cloud アカウントは一意の ID を持つテナントに対応します。テナント ID は、DataStudio ページのユーザープロファイル内の「ユーザー情報」で確認できます。 |
|
|
eventCode |
String |
イベントコードです。このフィールドは、特定のカテゴリのイベントメッセージを識別します。各イベントタイプのイベントコードを確認するには、「このトピック」の表の「拡張機能のイベントコード」列をご参照ください。 |
|