:py:mod:`airflow.providers.arangodb.operators.arangodb`
=======================================================

.. py:module:: airflow.providers.arangodb.operators.arangodb


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

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.arangodb.operators.arangodb.AQLOperator




.. py:class:: AQLOperator(*, query, arangodb_conn_id = 'arangodb_default', result_processor = None, **kwargs)

   Bases: :py:obj:`airflow.models.BaseOperator`

   Executes AQL query in a ArangoDB database

   .. seealso::
       For more information on how to use this operator, take a look at the guide:
       :ref:`howto/operator:AQLOperator`

   :param query: the AQL query to be executed. Can receive a str representing a
       AQL statement, or you can provide .sql file having the query
   :param result_processor: function to further process the Result from ArangoDB
   :param arangodb_conn_id: Reference to :ref:`ArangoDB connection id <howto/connection:arangodb>`.

   .. py:attribute:: template_fields
      :annotation: :Sequence[str] = ['query']

      

   .. py:attribute:: template_ext
      :annotation: :Sequence[str] = ['.sql']

      

   .. py:attribute:: template_fields_renderers
      

      

   .. py:method:: execute(self, context)

      This is the main method to derive when creating an operator.
      Context is the same dictionary used as when rendering jinja templates.

      Refer to get_template_context for more context.



