Events
Events are data that complies with specific specifications. Events that event sources publish to EG must comply with the CloudEvents specification.
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
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.
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" } },...] }
- Max. size per event: 64 KB
- Max. size of all events per request: 256 KB
- Max. events per request: 20
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)
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.