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: