CloudWatchLogs / Client / put_log_events
put_log_events#
- CloudWatchLogs.Client.put_log_events(**kwargs)#
Uploads a batch of log events to the specified log stream.
Warning
The sequence token is now ignored in
PutLogEvents
actions.PutLogEvents
actions are always accepted and never returnInvalidSequenceTokenException
orDataAlreadyAcceptedException
even if the sequence token is not valid. You can use parallelPutLogEvents
actions on the same log stream.The batch of events must satisfy the following constraints:
The maximum batch size is 1,048,576 bytes. This size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event.
None of the log events in the batch can be more than 2 hours in the future.
None of the log events in the batch can be more than 14 days in the past. Also, none of the log events can be from earlier than the retention period of the log group.
The log events in the batch must be in chronological order by their timestamp. The timestamp is the time that the event occurred, expressed as the number of milliseconds after
Jan 1, 1970 00:00:00 UTC
. (In Amazon Web Services Tools for PowerShell and the Amazon Web Services SDK for .NET, the timestamp is specified in .NET format:yyyy-mm-ddThh:mm:ss
. For example,2017-09-15T13:45:30
.)A batch of log events in a single request cannot span more than 24 hours. Otherwise, the operation fails.
Each log event can be no larger than 256 KB.
The maximum number of log events in a batch is 10,000.
Warning
The quota of five requests per second per log stream has been removed. Instead,
PutLogEvents
actions are throttled based on a per-second per-account quota. You can request an increase to the per-second throttling quota by using the Service Quotas service.If a call to
PutLogEvents
returns “UnrecognizedClientException” the most likely cause is a non-valid Amazon Web Services access key ID or secret key.See also: AWS API Documentation
Request Syntax
response = client.put_log_events( logGroupName='string', logStreamName='string', logEvents=[ { 'timestamp': 123, 'message': 'string' }, ], sequenceToken='string', entity={ 'keyAttributes': { 'string': 'string' }, 'attributes': { 'string': 'string' } } )
- Parameters:
logGroupName (string) –
[REQUIRED]
The name of the log group.
logStreamName (string) –
[REQUIRED]
The name of the log stream.
logEvents (list) –
[REQUIRED]
The log events.
(dict) –
Represents a log event, which is a record of activity that was recorded by the application or resource being monitored.
timestamp (integer) – [REQUIRED]
The time the event occurred, expressed as the number of milliseconds after
Jan 1, 1970 00:00:00 UTC
.message (string) – [REQUIRED]
The raw event message. Each log event can be no larger than 256 KB.
sequenceToken (string) –
The sequence token obtained from the response of the previous
PutLogEvents
call.Warning
The
sequenceToken
parameter is now ignored inPutLogEvents
actions.PutLogEvents
actions are now accepted and never returnInvalidSequenceTokenException
orDataAlreadyAcceptedException
even if the sequence token is not valid.entity (dict) –
The entity associated with the log events.
keyAttributes (dict) –
The attributes of the entity which identify the specific entity, as a list of key-value pairs. Entities with the same
keyAttributes
are considered to be the same entity.There are five allowed attributes (key names):
Type
,ResourceType
,Identifier
Name
, andEnvironment
.For details about how to use the key attributes, see How to add related information to telemetry in the CloudWatch User Guide.
(string) –
(string) –
attributes (dict) –
Additional attributes of the entity that are not used to specify the identity of the entity. A list of key-value pairs.
For details about how to use the attributes, see How to add related information to telemetry in the CloudWatch User Guide.
(string) –
(string) –
- Return type:
dict
- Returns:
Response Syntax
{ 'nextSequenceToken': 'string', 'rejectedLogEventsInfo': { 'tooNewLogEventStartIndex': 123, 'tooOldLogEventEndIndex': 123, 'expiredLogEventEndIndex': 123 }, 'rejectedEntityInfo': { 'errorType': 'InvalidEntity'|'InvalidTypeValue'|'InvalidKeyAttributes'|'InvalidAttributes'|'EntitySizeTooLarge'|'UnsupportedLogGroupType'|'MissingRequiredFields' } }
Response Structure
(dict) –
nextSequenceToken (string) –
The next sequence token.
Warning
This field has been deprecated.
The sequence token is now ignored in
PutLogEvents
actions.PutLogEvents
actions are always accepted even if the sequence token is not valid. You can use parallelPutLogEvents
actions on the same log stream and you do not need to wait for the response of a previousPutLogEvents
action to obtain thenextSequenceToken
value.rejectedLogEventsInfo (dict) –
The rejected events.
tooNewLogEventStartIndex (integer) –
The index of the first log event that is too new. This field is inclusive.
tooOldLogEventEndIndex (integer) –
The index of the last log event that is too old. This field is exclusive.
expiredLogEventEndIndex (integer) –
The expired log events.
rejectedEntityInfo (dict) –
Information about why the entity is rejected when calling
PutLogEvents
. Only returned when the entity is rejected.Note
When the entity is rejected, the events may still be accepted.
errorType (string) –
The type of error that caused the rejection of the entity when calling
PutLogEvents
.
Exceptions
CloudWatchLogs.Client.exceptions.InvalidParameterException
CloudWatchLogs.Client.exceptions.InvalidSequenceTokenException
CloudWatchLogs.Client.exceptions.DataAlreadyAcceptedException
CloudWatchLogs.Client.exceptions.ResourceNotFoundException
CloudWatchLogs.Client.exceptions.ServiceUnavailableException
CloudWatchLogs.Client.exceptions.UnrecognizedClientException