| :py:mod:`airflow.providers.google.cloud.transfers.facebook_ads_to_gcs` |
| ====================================================================== |
| |
| .. py:module:: airflow.providers.google.cloud.transfers.facebook_ads_to_gcs |
| |
| .. autoapi-nested-parse:: |
| |
| This module contains Facebook Ad Reporting to GCS operators. |
| |
| |
| |
| Module Contents |
| --------------- |
| |
| Classes |
| ~~~~~~~ |
| |
| .. autoapisummary:: |
| |
| airflow.providers.google.cloud.transfers.facebook_ads_to_gcs.FlushAction |
| airflow.providers.google.cloud.transfers.facebook_ads_to_gcs.FacebookAdsReportToGcsOperator |
| |
| |
| |
| |
| .. py:class:: FlushAction |
| |
| Bases: :py:obj:`enum.Enum` |
| |
| Facebook Ads Export Options |
| |
| .. py:attribute:: EXPORT_ONCE |
| :annotation: = ExportAtOnce |
| |
| |
| |
| .. py:attribute:: EXPORT_EVERY_ACCOUNT |
| :annotation: = ExportEveryAccount |
| |
| |
| |
| |
| .. py:class:: FacebookAdsReportToGcsOperator(*, bucket_name, object_name, fields, parameters = None, gzip = False, upload_as_account = False, api_version = None, gcp_conn_id = 'google_cloud_default', facebook_conn_id = 'facebook_default', impersonation_chain = None, **kwargs) |
| |
| Bases: :py:obj:`airflow.models.BaseOperator` |
| |
| Fetches the results from the Facebook Ads API as desired in the params |
| Converts and saves the data as a temporary JSON file |
| Uploads the JSON to Google Cloud Storage |
| |
| .. seealso:: |
| For more information on the Facebook Ads API, take a look at the API docs: |
| https://developers.facebook.com/docs/marketing-apis/ |
| |
| .. seealso:: |
| For more information on the Facebook Ads Python SDK, take a look at the docs: |
| https://github.com/facebook/facebook-python-business-sdk |
| |
| .. seealso:: |
| For more information on how to use this operator, take a look at the guide: |
| :ref:`howto/operator:FacebookAdsReportToGcsOperator` |
| |
| :param bucket_name: The GCS bucket to upload to |
| :param object_name: GCS path to save the object. Must be the full file path (ex. `path/to/file.txt`) |
| :param gcp_conn_id: Airflow Google Cloud connection ID |
| :param facebook_conn_id: Airflow Facebook Ads connection ID |
| :param api_version: The version of Facebook API. Default to None. If it is None, |
| it will use the Facebook business SDK default version. |
| :param fields: List of fields that is obtained from Facebook. Found in AdsInsights.Field class. |
| https://developers.facebook.com/docs/marketing-api/insights/parameters/v6.0 |
| :param parameters: Parameters that determine the query for Facebook |
| https://developers.facebook.com/docs/marketing-api/insights/parameters/v6.0 |
| :param gzip: Option to compress local file or file data for upload |
| :param upload_as_account: Option to export file with account_id |
| This parameter only works if Account Id sets as array in Facebook Connection |
| If set as True, each file will be exported in a separate file that has a prefix of account_id |
| If set as False, a single file will be exported for all account_id |
| :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] = ['facebook_conn_id', 'bucket_name', 'object_name', 'impersonation_chain', 'parameters'] |
| |
| |
| |
| .. 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. |
| |
| |
| |