| :py:mod:`airflow.providers.google.cloud.transfers.s3_to_gcs` |
| ============================================================ |
| |
| .. py:module:: airflow.providers.google.cloud.transfers.s3_to_gcs |
| |
| |
| Module Contents |
| --------------- |
| |
| Classes |
| ~~~~~~~ |
| |
| .. autoapisummary:: |
| |
| airflow.providers.google.cloud.transfers.s3_to_gcs.S3ToGCSOperator |
| |
| |
| |
| |
| .. py:class:: S3ToGCSOperator(*, bucket, prefix='', delimiter='', aws_conn_id='aws_default', verify=None, gcp_conn_id='google_cloud_default', dest_gcs=None, delegate_to=None, replace=False, gzip=False, google_impersonation_chain = None, **kwargs) |
| |
| Bases: :py:obj:`airflow.providers.amazon.aws.operators.s3.S3ListOperator` |
| |
| Synchronizes an S3 key, possibly a prefix, with a Google Cloud Storage |
| destination path. |
| |
| .. seealso:: |
| For more information on how to use this operator, take a look at the guide: |
| :ref:`howto/operator:S3ToGCSOperator` |
| |
| :param bucket: The S3 bucket where to find the objects. (templated) |
| :param prefix: Prefix string which filters objects whose name begin with |
| such prefix. (templated) |
| :param delimiter: the delimiter marks key hierarchy. (templated) |
| :param aws_conn_id: The source S3 connection |
| :param verify: Whether or not to verify SSL certificates for S3 connection. |
| By default SSL certificates are verified. |
| You can provide the following values: |
| |
| - ``False``: do not validate SSL certificates. SSL will still be used |
| (unless use_ssl is False), but SSL certificates will not be |
| verified. |
| - ``path/to/cert/bundle.pem``: A filename of the CA cert bundle to uses. |
| You can specify this argument if you want to use a different |
| CA cert bundle than the one used by botocore. |
| :param gcp_conn_id: (Optional) The connection ID used to connect to Google Cloud. |
| :param dest_gcs: The destination Google Cloud Storage bucket and prefix |
| where you want to store the files. (templated) |
| :param delegate_to: Google account to impersonate using domain-wide delegation of authority, |
| if any. For this to work, the service account making the request must have |
| domain-wide delegation enabled. |
| :param replace: Whether you want to replace existing destination files |
| or not. |
| :param gzip: Option to compress file for upload |
| :param google_impersonation_chain: Optional Google 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). |
| |
| |
| **Example**: |
| |
| .. code-block:: python |
| |
| s3_to_gcs_op = S3ToGCSOperator( |
| task_id="s3_to_gcs_example", |
| bucket="my-s3-bucket", |
| prefix="data/customers-201804", |
| gcp_conn_id="google_cloud_default", |
| dest_gcs="gs://my.gcs.bucket/some/customers/", |
| replace=False, |
| gzip=True, |
| dag=my_dag, |
| ) |
| |
| Note that ``bucket``, ``prefix``, ``delimiter`` and ``dest_gcs`` are |
| templated, so you can use variables in them if you wish. |
| |
| .. py:attribute:: template_fields |
| :annotation: :Sequence[str] = ['bucket', 'prefix', 'delimiter', 'dest_gcs', 'google_impersonation_chain'] |
| |
| |
| |
| .. py:attribute:: ui_color |
| :annotation: = #e09411 |
| |
| |
| |
| .. 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. |
| |
| |
| |