Amazon CloudWatch Logs

2024/08/30 - Amazon CloudWatch Logs - 1 updated api methods

Changes  This release introduces a new optional parameter: Entity, in PutLogEvents request

PutLogEvents (updated) Link ΒΆ
Changes (request, response)
Request
{'entity': {'attributes': {'string': 'string'},
            'keyAttributes': {'string': 'string'}}}
Response
{'rejectedEntityInfo': {'errorType': 'InvalidEntity | InvalidTypeValue | '
                                     'InvalidKeyAttributes | InvalidAttributes '
                                     '| EntitySizeTooLarge | '
                                     'UnsupportedLogGroupType | '
                                     'MissingRequiredFields'}}

Uploads a batch of log events to the specified 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.

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

client.put_log_events(
    logGroupName='string',
    logStreamName='string',
    logEvents=[
        {
            'timestamp': 123,
            'message': 'string'
        },
    ],
    sequenceToken='string',
    entity={
        'keyAttributes': {
            'string': 'string'
        },
        'attributes': {
            'string': 'string'
        }
    }
)
type logGroupName:

string

param logGroupName:

[REQUIRED]

The name of the log group.

type logStreamName:

string

param logStreamName:

[REQUIRED]

The name of the log stream.

type logEvents:

list

param logEvents:

[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.

type sequenceToken:

string

param sequenceToken:

The sequence token obtained from the response of the previous PutLogEvents call.

type entity:

dict

param entity:

Reserved for future use.

  • keyAttributes (dict) --

    Reserved for future use.

    • (string) --

      • (string) --

  • attributes (dict) --

    Reserved for future use.

    • (string) --

      • (string) --

rtype:

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.

    • 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) --

      Reserved for future use.

      • errorType (string) --

        Reserved for future use.