airflow.providers.amazon.aws.hooks.logs

Module Contents

Classes

AwsLogsHook

Interact with Amazon CloudWatch Logs.

Attributes

NUM_CONSECUTIVE_EMPTY_RESPONSE_EXIT_THRESHOLD

airflow.providers.amazon.aws.hooks.logs.NUM_CONSECUTIVE_EMPTY_RESPONSE_EXIT_THRESHOLD = 3[source]
class airflow.providers.amazon.aws.hooks.logs.AwsLogsHook(*args, **kwargs)[source]

Bases: airflow.providers.amazon.aws.hooks.base_aws.AwsBaseHook

Interact with Amazon CloudWatch Logs.

Provide thin wrapper around boto3.client("logs").

Additional arguments (such as aws_conn_id) may be specified and are passed down to the underlying AwsBaseHook.

class ContinuationToken[source]

Just a wrapper around a str token to allow updating it from the caller.

get_log_events(log_group, log_stream_name, start_time=0, skip=0, start_from_head=None, continuation_token=None, end_time=None)[source]

Return a generator for log items in a single stream; yields all items available at the current moment.

Parameters
  • log_group (str) – The name of the log group.

  • log_stream_name (str) – The name of the specific stream.

  • start_time (int) – The timestamp value in ms to start reading the logs from (default: 0).

  • skip (int) – The number of log entries to skip at the start (default: 0). This is for when there are multiple entries at the same timestamp.

  • continuation_token (ContinuationToken | None) – a token indicating where to read logs from. Will be updated as this method reads new logs, to be reused in subsequent calls.

  • end_time (int | None) – The timestamp value in ms to stop reading the logs from (default: None). If None is provided, reads it until the end of the log stream

Returns

A CloudWatch log event with the following key-value pairs:
’timestamp’ (int): The time in milliseconds of the event.
’message’ (str): The log event data.
’ingestionTime’ (int): The time in milliseconds the event was ingested.

Return type

collections.abc.Generator

async describe_log_streams_async(log_group, stream_prefix, order_by, count)[source]

Async function to get the list of log streams for the specified log group.

You can list all the log streams or filter the results by prefix. You can also control how the results are ordered.

Parameters
  • log_group (str) – The name of the log group.

  • stream_prefix (str) – The prefix to match.

  • order_by (str) – If the value is LogStreamName , the results are ordered by log stream name. If the value is LastEventTime , the results are ordered by the event time. The default value is LogStreamName.

  • count (int) – The maximum number of items returned

async get_log_events_async(log_group, log_stream_name, start_time=0, skip=0, start_from_head=True)[source]

Yield all the available items in a single log stream.

Parameters
  • log_group (str) – The name of the log group.

  • log_stream_name (str) – The name of the specific stream.

  • start_time (int) – The time stamp value to start reading the logs from (default: 0).

  • skip (int) – The number of log entries to skip at the start (default: 0). This is for when there are multiple entries at the same timestamp.

  • start_from_head (bool) – whether to start from the beginning (True) of the log or at the end of the log (False).

Was this entry helpful?