Source code for airflow.providers.amazon.aws.transfers.ftp_to_s3
## Licensed to the Apache Software Foundation (ASF) under one# or more contributor license agreements. See the NOTICE file# distributed with this work for additional information# regarding copyright ownership. The ASF licenses this file# to you under the Apache License, Version 2.0 (the# "License"); you may not use this file except in compliance# with the License. You may obtain a copy of the License at## http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing,# software distributed under the License is distributed on an# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY# KIND, either express or implied. See the License for the# specific language governing permissions and limitations# under the License.fromtempfileimportNamedTemporaryFilefromairflow.modelsimportBaseOperatorfromairflow.providers.amazon.aws.hooks.s3importS3Hookfromairflow.providers.ftp.hooks.ftpimportFTPHook
[docs]classFTPToS3Operator(BaseOperator):""" This operator enables the transferring of files from FTP server to S3. :param s3_bucket: The targeted s3 bucket in which upload the file to :type s3_bucket: str :param s3_key: The targeted s3 key. This is the specified file path for uploading the file to S3. :type s3_key: str :param ftp_path: The ftp remote path, including the file. :type ftp_path: str :param ftp_conn_id: The ftp connection id. The name or identifier for establishing a connection to the FTP server. :type ftp_conn_id: str :param aws_conn_id: The s3 connection id. The name or identifier for establishing a connection to S3 :type aws_conn_id: str :param replace: A flag to decide whether or not to overwrite the key if it already exists. If replace is False and the key exists, an error will be raised. :type replace: bool :param encrypt: If True, the file will be encrypted on the server-side by S3 and will be stored in an encrypted form while at rest in S3. :type encrypt: bool :param gzip: If True, the file will be compressed locally :type gzip: bool :param acl_policy: String specifying the canned ACL policy for the file being uploaded to the S3 bucket. :type acl_policy: str """