:py:mod:`tests.system.providers.amazon.aws.example_athena`
==========================================================

.. py:module:: tests.system.providers.amazon.aws.example_athena


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


Functions
~~~~~~~~~

.. autoapisummary::

   tests.system.providers.amazon.aws.example_athena.await_bucket
   tests.system.providers.amazon.aws.example_athena.read_results_from_s3



Attributes
~~~~~~~~~~

.. autoapisummary::

   tests.system.providers.amazon.aws.example_athena.sys_test_context_task
   tests.system.providers.amazon.aws.example_athena.DAG_ID
   tests.system.providers.amazon.aws.example_athena.SAMPLE_DATA
   tests.system.providers.amazon.aws.example_athena.SAMPLE_FILENAME
   tests.system.providers.amazon.aws.example_athena.test_context
   tests.system.providers.amazon.aws.example_athena.test_run


.. py:data:: sys_test_context_task
   

   

.. py:data:: DAG_ID
   :annotation: = example_athena

   

.. py:data:: SAMPLE_DATA
   :annotation: = Multiline-String

    .. raw:: html

        <details><summary>Show Value</summary>

    .. code-block:: text
        :linenos:

        "Alice",20
            "Bob",25
            "Charlie",30
            

    .. raw:: html

        </details>

   

.. py:data:: SAMPLE_FILENAME
   :annotation: = airflow_sample.csv

   

.. py:function:: await_bucket(bucket_name)


.. py:function:: read_results_from_s3(bucket_name, query_execution_id)


.. py:data:: test_context
   

   

.. py:data:: test_run
   

   

