:mod:`airflow.contrib.hooks.aws_logs_hook`
==========================================

.. py:module:: airflow.contrib.hooks.aws_logs_hook

.. autoapi-nested-parse::

   This module contains a hook (AwsLogsHook) with some very basic
   functionality for interacting with AWS CloudWatch.



Module Contents
---------------

.. py:class:: AwsLogsHook(region_name=None, *args, **kwargs)

   Bases: :class:`airflow.contrib.hooks.aws_hook.AwsHook`

   Interact with AWS CloudWatch Logs

   :param region_name: AWS Region Name (example: us-west-2)
   :type region_name: str

   
   .. method:: get_conn(self)

      Establish an AWS connection for retrieving logs.

      :rtype: CloudWatchLogs.Client



   
   .. method:: get_log_events(self, log_group, log_stream_name, start_time=0, skip=0, start_from_head=True)

      A generator for log items in a single stream. This will yield all the
      items that are available at the current moment.

      :param log_group: The name of the log group.
      :type log_group: str
      :param log_stream_name: The name of the specific stream.
      :type log_stream_name: str
      :param start_time: The time stamp value to start reading the logs from (default: 0).
      :type start_time: int
      :param skip: The number of log entries to skip at the start (default: 0).
          This is for when there are multiple entries at the same timestamp.
      :type skip: int
      :param start_from_head: whether to start from the beginning (True) of the log or
          at the end of the log (False).
      :type start_from_head: bool
      :rtype: dict
      :return: | 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.




