PutEvents - Amazon EventBridge

PutEvents

Sends custom events to Amazon EventBridge so that they can be matched to rules.

The maximum size for a PutEvents event entry is 256 KB. Entry size is calculated including the event and any necessary characters and keys of the JSON representation of the event. To learn more, see Calculating PutEvents event entry size in the Amazon EventBridge User Guide

PutEvents accepts the data in JSON format. For the JSON number (integer) data type, the constraints are: a minimum value of -9,223,372,036,854,775,808 and a maximum value of 9,223,372,036,854,775,807.

Note

PutEvents will only process nested JSON up to 1000 levels deep.

Request Syntax

{ "EndpointId": "string", "Entries": [ { "Detail": "string", "DetailType": "string", "EventBusName": "string", "Resources": [ "string" ], "Source": "string", "Time": number, "TraceHeader": "string" } ] }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

EndpointId

The URL subdomain of the endpoint. For example, if the URL for Endpoint is https://abcde.veo.endpoints.event.amazonaws.com, then the EndpointId is abcde.veo.

Important

When using Java, you must include auth-crt on the class path.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 50.

Pattern: ^[A-Za-z0-9\-]+[\.][A-Za-z0-9\-]+$

Required: No

Entries

The entry that defines an event in your system. You can specify several parameters for the entry such as the source and type of the event, resources associated with the event, and so on.

Type: Array of PutEventsRequestEntry objects

Array Members: Minimum number of 1 item. Maximum number of 10 items.

Required: Yes

Response Syntax

{ "Entries": [ { "ErrorCode": "string", "ErrorMessage": "string", "EventId": "string" } ], "FailedEntryCount": number }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

Entries

The successfully and unsuccessfully ingested events results. If the ingestion was successful, the entry has the event ID in it. Otherwise, you can use the error code and error message to identify the problem with the entry.

For each record, the index of the response element is the same as the index in the request array.

Type: Array of PutEventsResultEntry objects

FailedEntryCount

The number of failed entries.

Type: Integer

Errors

For information about the errors that are common to all actions, see Common Errors.

InternalException

This exception occurs due to unexpected causes.

HTTP Status Code: 500

Examples

Sends two custom events

The following is an example of a PutEvents request and response.

Sample Request

POST / HTTP/1.1 Host: events.<region>.<domain> x-amz-Date: <Date> Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=content-type;date;host;user-agent;x-amz-date;x-amz-target;x-amzn-requestid, Signature=<Signature> User-Agent: <UserAgentString> Content-Type: application/x-amz-json-1.1 Content-Length: <PayloadSizeBytes> Connection: Keep-Alive X-Amz-Target: AWSEvents.PutEvents { "Entries":[ { "Source":"com.mycompany.myapp", "Detail":"{ \"key1\": \"value1\", \"key2\": \"value2\" }", "Resources":[ "resource1", "resource2" ], "DetailType":"myDetailType" }, { "Source":"com.mycompany.myapp", "Detail":"{ \"key1\": \"value3\", \"key2\": \"value4\" }", "Resources":[ "resource1", "resource2" ], "DetailType":"myDetailType" } ] }

Sample Response

HTTP/1.1 200 OK x-amzn-RequestId: <RequestId> Content-Type: application/x-amz-json-1.1 Content-Length: <PayloadSizeBytes> Date: <Date> { "FailedEntryCount": 0, "Entries": [ { "EventId": "11710aed-b79e-4468-a20b-bb3c0c3b4860" }, { "EventId": "d804d26a-88db-4b66-9eaf-9a11c708ae82" } ] }

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: