:py:mod:`airflow.providers.microsoft.azure.operators.cosmos`
============================================================

.. py:module:: airflow.providers.microsoft.azure.operators.cosmos


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

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.microsoft.azure.operators.cosmos.AzureCosmosInsertDocumentOperator




.. py:class:: AzureCosmosInsertDocumentOperator(*, database_name, collection_name, document, azure_cosmos_conn_id = 'azure_cosmos_default', **kwargs)

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

   Inserts a new document into the specified Cosmos database and collection
   It will create both the database and collection if they do not already exist

   :param database_name: The name of the database. (templated)
   :param collection_name: The name of the collection. (templated)
   :param document: The document to insert
   :param azure_cosmos_conn_id: Reference to the
       :ref:`Azure CosmosDB connection<howto/connection:azure_cosmos>`.

   .. py:attribute:: template_fields
      :annotation: :Sequence[str] = ['database_name', 'collection_name']

      

   .. py:attribute:: ui_color
      :annotation: = #e4f0e8

      

   .. 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.



