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.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot