Updated on 2025-07-02 GMT+08:00

Events

Events are data that complies with specific specifications. Events that event sources publish to EG must comply with the CloudEvents specification.

EG uses KMS for static encryption. By default, all stored data and metadata are automatically encrypted, which meets data security and compliance requirements without extra configuration or fees.

EG supports the following events:

  • Huawei Cloud service: events produced by Huawei Cloud service event sources
  • Custom: events produced by custom event sources connected to EG with SDKs

Constraints

  • Max. size per event: 64 KB
  • Max. size of all events per request: 256 KB
  • Max. events per request: 20

Example Event

The following is an example of an event published to EG:

{
    "events":[{
	"id": "4b26115b-778e-11ec-833e-cf74******",
        "specversion": "1.0",
	"source": "HC.OBS",
	"type": "object:put",
	"datacontenttype": "application/json",
	"subject": "xxx.jpg",
	"time": "2022-01-17T12:07:48.955Z",
	"data": {
		"name": "test01",
		"state": "enable"
	}
    }]
}

Table 1 describes the parameters in this example.

Table 1 Event parameters

Parameter

Type

Required

Example Value

Description

id

String

Yes

4b26115b-778e-*******-833e-cf74af

Event ID, which identifies an event

specversion

String

Yes

1.0

Version of the CloudEvents specification

source

String

Yes

HC.OBS

Event source that produces the event

type

String

Yes

object:put

Event type related to the event source

datacontenttype

String

No

application/json

Content format of the data parameter

Only application/json is supported.

subject

String

No

xxx.jpg

Event subject

time

Timestamp

No

2022-01-17T12:07:48.955Z

Time when the event was produced

data

Struct

No

{
    "name": "test01",
    "state": "enable"
}

Content of the event in JSON format

Sending Events in Batches

The following is an example of the request body for sending events in batches:

{
    "events":[{
	"id": "eg-test-001",
    "specversion": "1.0",
	"source": "HC.OBS",
	"type": "object:put",
	"datacontenttype": "application/json",
	"subject": "xxx.jpg",
	"time": "2022-01-17T12:07:48.955Z",
	"data": {
		"name": "test01",
		"state": "enable"
	}
    },
	{
	"id": "eg-test-002",
	"specversion": "1.0",
	"source": "HC.OBS",
	"type": "object:put",
	"datacontenttype": "application/json",
	"subject": "xxx.jpg",
	"time": "2022-01-17T12:07:48.955Z",
	"data": {
		"name": "test01",
		"state": "enable"
	}
    },
	{
	"id": "eg-test-003",
	"specversion": "1.0",
	"source": "HC.OBS",
	"type": "object:put",
	"datacontenttype": "application/json",
	"subject": "xxx.jpg",
	"time": "2022-01-17T12:07:48.955Z",
	"data": {
		"name": "test01",
		"state": "enable"
	}
    },...]
}

Response body returned when all events are successfully sent:

{"failed_count":0,"events":[{"error_code":null,"error_msg":null,"event_id":"eg-test-003"},{"error_code":null,"error_msg":null,"event_id":"eg-test-003"},{"error_code":null,"error_msg":null,"event_id":"eg-test-002"}]}

Status code: 200

Response body returned when the number of events per request exceeds the upper limit:

{"failed_count":1,"events":[{"error_code":"00533013","error_msg":"Too many events for a request.","event_id":"eg-test-003"},{"error_code":null,"error_msg":null,"event_id":"eg-test-003"},{"error_code":null,"error_msg":null,"event_id":"eg-test-002"}]} 

Status code: 400

Response body returned when the size of an event exceeds the upper limit:

{"failed_count":3,"events":[{"error_code":00533012,"error_msg":An event is too large."event_id":"eg-test-003"},{"error_code":00533012,"error_msg":the number of events exceeds the limit,"event_id":"eg-test-003"},{"error_code":00533012,"error_msg":the number of events exceeds the limit,"event_id":"eg-test-002"}]}  

Status code: 400

Response body returned when the total size of all events per request exceeds the upper limit:

{"error_code":"00533007","error_msg":"The total size of a request's all events is too large.","error_detail":"The total size of a request's all events is too large."}
{"error_code":"00533012","error_msg":"An event is too large.","error_detail":"An event is too large."}
{"error_code":"00533013","error_msg":"Too many events for a request.","error_detail":"Too many events for a request."} 

Status code: 400

If the status code is 400:

  • The total size of all events per request exceeds the upper limit. (Error code: EG.00533007; error message: The total size of a request's all events is too large)
  • The number of events per request exceeds the upper limit. (Error code: EG.00533013; error message: Too many events for a request)