イベント・メッセージの内容
イベント・メッセージの内容について学習します。
すべてのイベント・メッセージには、次の2つの主要な部分があります:
-
エンベロープ: すべてのイベント・メッセージのコンテナ
-
ペイロード: イベント・メッセージを発行するリソースのデータ
イベント・エンベロープ
イベント・エンベロープのこれらの属性は、すべてのイベントで同じです。エンベロープの構造は、Cloud Native Computing Foundation (CNCF)によって推進されているCloudEvents業界標準形式に従っています。
プロパティ | 説明 |
---|---|
cloudEventsVersion
|
CloudEvents仕様のバージョン。 ノート: イベントは、CloudEventsイベント・エンベロープのバージョン0.1の仕様を使用します。 |
contentType
|
application/json に設定します。data 属性に含まれているデータのコンテンツ・タイプ。 |
data
|
イベントのペイロード。data 内のすべての情報は、イベントを発行するリソースから取得されます。ペイロードの構造の詳細は、次の表を参照してください。
|
eventID
|
イベントのUUID。この識別子はOCIDではなく、イベントの一意のIDです。 |
eventTime
|
イベントの時刻。RFC 3339タイムスタンプ書式で表されます。 |
eventType
|
発生したイベントのタイプ。イベントを生成するすべてのサービスのリストおよびそれらのサービスがトラッキングするイベント・タイプについては、イベントを生成するサービスを参照してください。 ノート: イベントを生成するサービスでは、新しいバージョンの |
eventTypeVersion
|
イベント・タイプのバージョン。 |
extensions
|
イベントの発生元コンパートメントのOCID。テナンシのルート・コンパートメントでイベントが発生している場合、この属性はテナンシOCIDを指定します。CloudEvents仕様のOracle Cloud Infrastructure実装では、この属性は必須です。 |
source
|
イベントを生成したリソース。たとえば、Autonomous Databaseまたはオブジェクト・ストレージ・バケットです。 |
ペイロード
これらのフィールドのデータは、イベントを生成したサービスおよび定義したイベント・タイプによって異なります。
プロパティ | 説明 |
---|---|
compartmentId
|
イベントを生成するソースのコンパートメントのOCID。 |
compartmentName
|
イベントを生成するソースのコンパートメントの名前。 |
resourceName
|
イベントを生成するリソースの名前。 |
resourceId
|
イベントを発生するリソースのOCIDまたはID。 |
availabilityDomain
|
イベントを生成するリソースの可用性ドメイン。 |
freeFormTags
|
イベントを生成するリソースのフリーフォーム・タグ。 |
definedTags
|
イベントを生成するリソースに追加された定義済タグ。 |
additionalDetails
|
イベントを生成するリソース固有の属性のコンテナ。次に示すバケット・イベントの例では、ペイロードに3つのオブジェクト・ストレージ属性が含まれています:
他のリソースに含まれる属性を決定するには、イベントを取得するか、イベントを生成するサービスのリファレンス・サンプルを参照してください。 |
リソース識別子
ほとんどのタイプのOracle Cloud Infrastructureリソースには、Oracle Cloud ID (OCID)と呼ばれるOracleによって割り当てられた一意の識別子があります。OCIDのフォーマットおよびリソースを識別するその他の方法の詳細は、リソース識別子を参照してください。
サンプル・イベント
次に、オブジェクト・ストレージによって発行されるバケット・イベントの例を示します。
{
"cloudEventsVersion": "0.1",
"eventID": "<unique_ID>",
"eventType": "com.oraclecloud.objectstorage.deletebucket",
"source": "objectstorage",
"eventTypeVersion": "1.0",
"eventTime": "2019-01-10T21:19:24Z",
"contentType": "application/json",
"extensions": {
"compartmentId": "ocid1.compartment.oc1..<unique_ID>"
},
"data": {
"compartmentId": "ocid1.compartment.oc1..<unique_ID>",
"compartmentName": "example_name",
"resourceName": "my_bucket",
"resourceId": "ocid1.compartment.oc1..<unique_ID>",
"availabilityDomain": "NfHZ:PHX-AD-2",
"freeFormTags": {
"Department": "Finance"
},
"definedTags": {
"Operations": {
"CostCenter": "42"
}
},
"additionalDetails": {
"namespace": "example_namespace",
"publicAccessType": "NoPublicAccess",
"eTag": "f8ffb6e9-f602-460f-a6c0-00b5abfa24c7"
}
}
}