このトピックでは、Elastic Compute Service (ECS) イベント通知の概要を説明します。 イベント通知は、リソース変更に関する情報を提供します。 通知は、O&Mイベントと例外を含むシステムイベント、インスタンスステータスの変更、データディスクがアタッチまたはデタッチされたイベント、スナップショットが作成されたイベントに対して送信できます。 イベント通知を使用すると、SDKポーリングの代わりにイベント駆動型自動O&Mを実装するためのイベント用のメッセージ処理ミドルウェアを設定できます。
イベント通知名
イベントの通知を設定すると、イベントが発生したときに通知されます。 通知のnameフィールドは、イベントのコード名を示します。 このフィールドは、<resource type >:< event >:< status> 形式です。
<resource type>: ECSリソースのタイプ。 値の例: インスタンスおよびディスク。 インスタンスはECSインスタンス、ディスクはブロックストレージデバイスを示します。
<event>: イベントの名前。 値の例: SystemMaintenance.Reboot、StateChange、PreemptibleInstanceInterruption、DiskOperationCompleted、およびCreateSnapshotCompleted。
<status>: イベントのステータス。 このフィールドの有効な値については、「概要」をご参照ください。
説明<status> フィールドは、インスタンスおよびブロックストレージデバイスに関連するシステムイベントでのみ使用できます。
イベント通知形式
イベント通知を設定すると、ECSは指定した方法に基づいて通知します。 次のサンプルコードは、JSON形式の非カスタマイズイベント通知の例を示しています。 この通知は、ECSインスタンスの状態が変化するイベントに対して送信されます。
指定した通知方法が形式変換をサポートしている場合、受信した通知は他の形式に変換される可能性があります。
{
"eventTime": "20181226T220114.058 + 0800" 、
"id": "9435EAD6-3CF6-4494-8F7A-3A ********* 77" 、
"level": "INFO",
"name": "Instance:StateChange",
"product": "ECS",
"regionId": "cn-hangzhou",
"resourceId": "acs:ecs:cn-hangzhou:169070********30:instance/i-bp1ecr********5go2go",
"userId": "169070********30",
"ver": "1.0",
"content": {
"resourceId": "i-bp1ecr********5go2go",
"resourceType": "ALIYUN::ECS::Instance",
"state": "Stopping"
}
}次の表では、通知の固定トップレベルフィールドについて説明します。
フィールド | 説明 | 例 |
id | イベントの ID。 | 9435EAD6-3CF6-4494-8F7A-3A ******** 77 |
eventTime | イベントが発生した時刻。 時刻はUTC + 8で表示されます。 | 20181226T220114.058 + 0800 |
level | イベントのレベル。 有効な値:
| 情報 |
name | イベント名。 詳細については、「イベント通知名」セクションをご参照ください。 | インスタンス: StateChange |
プロダクト | サービスの名前です。 値をECSに設定します。 | ECS |
regionId | イベントが発生したリージョンのID。 このフィールドの有効な値については、「リージョンとゾーン」をご参照ください。 | cn-杭州 |
resourceId | リソースのAlibaba Cloudリソース名 (ARN) 。 | acs:ecs:cn-hangzhou:169070 ******** 30: インスタンス /i-bp1ecr ******** 5go 2go |
userId | Alibaba Cloud アカウントの ID です。 | 169070 ******** 30 |
コンテンツ | イベントの詳細。 このフィールドには1つ以上のサブフィールドを含めることができます。 サブフィールドの詳細については、次のトピックを参照してください。 | なし |