:py:mod:`airflow.providers.google.firebase.operators.firestore`
===============================================================

.. py:module:: airflow.providers.google.firebase.operators.firestore


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

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.google.firebase.operators.firestore.CloudFirestoreExportDatabaseOperator




.. py:class:: CloudFirestoreExportDatabaseOperator(*, body, database_id = '(default)', project_id = None, gcp_conn_id = 'google_cloud_default', api_version = 'v1', impersonation_chain = None, **kwargs)

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

   Exports a copy of all or a subset of documents from Google Cloud Firestore to another storage system,
   such as Google Cloud Storage.

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

   :param database_id: The Database ID.
   :param body: The request body.
       See:
       https://firebase.google.com/docs/firestore/reference/rest/v1beta1/projects.databases/exportDocuments
   :param project_id: ID of the Google Cloud project if None then
       default project_id is used.
   :param gcp_conn_id: The connection ID to use to connect to Google Cloud.
   :param api_version: API version used (for example v1 or v1beta1).
   :param impersonation_chain: Optional service account to impersonate using short-term
       credentials, or chained list of accounts required to get the access_token
       of the last account in the list, which will be impersonated in the request.
       If set as a string, the account must grant the originating account
       the Service Account Token Creator IAM role.
       If set as a sequence, the identities from the list must grant
       Service Account Token Creator IAM role to the directly preceding identity, with first
       account from the list granting this role to the originating account (templated).

   .. py:attribute:: template_fields
      :annotation: :Sequence[str] = ['body', 'gcp_conn_id', 'api_version', 'impersonation_chain']

      

   .. py:method:: execute(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.



