event.handler.s3
================

.. py:module:: event.handler.s3


Classes
-------

.. autoapisummary::

   event.handler.s3.S3Handler


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

.. py:class:: S3Handler(event_s3_url: str, log_s3_url: str, sse: str = 'AES256', profile: str | None = None)

   Bases: :py:obj:`e3.event.EventHandler`


   Event handler that relies on AWS S3.


   .. py:attribute:: event_s3_url


   .. py:attribute:: log_s3_url


   .. py:attribute:: aws_profile
      :value: None



   .. py:attribute:: sse
      :value: 'AES256'



   .. py:method:: decode_config(config_str: str) -> dict[str, str | None]
      :classmethod:



   .. py:method:: encode_config() -> str


   .. py:method:: s3_prefix(event: e3.event.Event) -> str

      Additional prefix that depends on the event itself.

      This hook allows a user to add a prefix that depends on the event itself.
      Note that sufixes are still automatically computed so distinct events can
      return the same prefix. The final s3 url used will be
      {log_s3_url}/{s3_prefix}{automatic suffix} for logs and
      {event_s3_url}/{s3_prefix}{automatic suffix} for events metadata.

      :param event: an event
      :return: the prefix



   .. py:method:: send_event(event: e3.event.Event) -> bool


