How to load data from SFTP to S3

Learn how to use Airbyte to synchronize your SFTP data into S3 within minutes.

Trusted by data-driven companies

Building your pipeline or Using Airbyte

Airbyte is the only open source solution empowering data teams  to meet all their growing custom business demands in the new AI era.

Building in-house pipelines
Bespoke pipelines are:
  • Inconsistent and inaccurate data
  • Laborious and expensive
  • Brittle and inflexible
Furthermore, you will need to build and maintain Y x Z pipelines with Y sources and Z destinations to cover all your needs.
After Airbyte
Airbyte connections are:
  • Reliable and accurate
  • Extensible and scalable for all your needs
  • Deployed and governed your way
All your pipelines in minutes, however custom they are, thanks to Airbyte’s connector marketplace and AI Connector Builder.

Start syncing with Airbyte in 3 easy steps within 10 minutes

Set up a SFTP connector in Airbyte

Connect to SFTP or one of 400+ pre-built or 10,000+ custom connectors through simple account authentication.

Set up S3 for your extracted SFTP data

Select S3 where you want to import data from your SFTP source to. You can also choose other cloud data warehouses, databases, data lakes, vector databases, or any other supported Airbyte destinations.

Configure the SFTP to S3 in Airbyte

This includes selecting the data you want to extract - streams and columns -, the sync frequency, where in the destination you want that data to be loaded.

Take a virtual tour

Check out our interactive demo and our how-to videos to learn how you can sync data from any source to any destination.

Demo video of Airbyte Cloud

Demo video of AI Connector Builder

What sets Airbyte Apart

Modern GenAI Workflows

Streamline AI workflows with Airbyte: load unstructured data into vector stores like Pinecone, Weaviate, and Milvus. Supports RAG transformations with LangChain chunking and embeddings from OpenAI, Cohere, etc., all in one operation.

Move Large Volumes, Fast

Quickly get up and running with a 5-minute setup that supports both incremental and full refreshes, for databases of any size.

An Extensible Open-Source Standard

More than 1,000 developers contribute to Airbyte’s connectors, different interfaces (UI, API, Terraform Provider, Python Library), and integrations with the rest of the stack. Airbyte’s AI Connector Builder lets you edit or add new connectors in minutes.

Full Control & Security

Airbyte secures your data with cloud-hosted, self-hosted or hybrid deployment options. Single Sign-On (SSO) and Role-Based Access Control (RBAC) ensure only authorized users have access with the right permissions. Airbyte acts as a HIPAA conduit and supports compliance with CCPA, GDPR, and SOC2.

Fully Featured & Integrated

Airbyte automates schema evolution for seamless data flow, and utilizes efficient Change Data Capture (CDC) for real-time updates. Select only the columns you need, and leverage our dbt integration for powerful data transformations.

Enterprise Support with SLAs

Airbyte Self-Managed Enterprise comes with dedicated support and guaranteed service level agreements (SLAs), ensuring that your data movement infrastructure remains reliable and performant, and expert assistance is available when needed.

What our users say

Jean-Mathieu Saponaro
Data & Analytics Senior Eng Manager

"The intake layer of Datadog’s self-serve analytics platform is largely built on Airbyte.Airbyte’s ease of use and extensibility allowed any team in the company to push their data into the platform - without assistance from the data team!"

Learn more
Chase Zieman headshot
Chase Zieman
Chief Data Officer

“Airbyte helped us accelerate our progress by years, compared to our competitors. We don’t need to worry about connectors and focus on creating value for our users instead of building infrastructure. That’s priceless. The time and energy saved allows us to disrupt and grow faster.”

Learn more
Alexis Weill
Data Lead

“We chose Airbyte for its ease of use, its pricing scalability and its absence of vendor lock-in. Having a lean team makes them our top criteria.
The value of being able to scale and execute at a high level by maximizing resources is immense”

Learn more

How to Sync SFTP to S3 Manually

  1. Log in to the AWS Management Console.
  2. Navigate to the Amazon S3 service.
  3. Create a new S3 bucket or use an existing one where you will store the data.some text
    • Click on "Create bucket".
    • Follow the prompts to configure the bucket settings (name, region, etc.).
    • Set the necessary permissions and policies for the bucket to ensure data can be written.
  1. Navigate to the EC2 Dashboard in the AWS Management Console.
  2. Launch a new EC2 instance.some text
    • Choose an Amazon Machine Image (AMI) that suits your needs.
    • Select an instance type.
    • Configure instance details, such as network and IAM role (ensure the IAM role has permission to access S3).
    • Add storage if needed.
    • Configure security groups to allow SFTP and SSH access.
    • Review and launch the instance.
  3. Connect to the instance using SSH.
  1. Connect to your EC2 instance using SSH.
  2. Update the package manager (e.g., sudo yum update for Amazon Linux or sudo apt update for Ubuntu).
  3. Install AWS CLI using the package manager (e.g., sudo yum install awscli or sudo apt install awscli).
  1. Run aws configure on the EC2 instance.
  2. Enter the AWS Access Key ID and Secret Access Key.
  3. Specify the default region and output format.
  1. On the EC2 instance, install an SFTP client if not already available.
  2. Connect to the SFTP server using the client (sftp username@sftp-server-address).
  3. Navigate to the directory containing the data to transfer.
  4. Use the get command to download the data to the EC2 instance (e.g., get datafile.txt).

Use the AWS CLI to upload the data from the EC2 instance to the S3 bucket:
aws s3 cp /path/to/datafile.txt s3://your-bucket-name/path/in/bucket/

  • Replace /path/to/datafile.txt with the path to the data file on your EC2 instance.
  • Replace your-bucket-name with the name of your S3 bucket.
  • Replace /path/in/bucket/ with the desired path in the S3 bucket.

Check that the data has been successfully uploaded to S3:
aws s3 ls s3://your-bucket-name/path/in/bucket/

You can also verify the upload through the S3 console by navigating to the bucket and checking the contents.

  1. Once the transfer is verified, you can remove the data from the EC2 instance to free up space.
  2. If the EC2 instance was only used for this transfer, consider stopping or terminating it to avoid incurring further costs.
  • For recurring transfers, you can write a script that automates steps 5 and 6.
  • Set up a cron job or use AWS Lambda to schedule and run the script as needed.

Tips:

  • Ensure the EC2 instance has the necessary IAM role with permissions to access both the SFTP server and the S3 bucket.
  • Use secure methods to handle AWS credentials and avoid hardcoding them in scripts.
  • Always verify the integrity of the data after transfer with checksums or hashes if possible.
  • Monitor the AWS usage and costs associated with the EC2 instance and data transfer.

By following these steps, you can move data from an SFTP server to Amazon S3 manually.

How to Sync SFTP to S3 Manually - Method 2:

FAQs

ETL, an acronym for Extract, Transform, Load, is a vital data integration process. It involves extracting data from diverse sources, transforming it into a usable format, and loading it into a database, data warehouse or data lake. This process enables meaningful data analysis, enhancing business intelligence.

SFTP (Secure File Transfer Protocol) is a secure way to transfer files between two computers over the internet. It uses encryption to protect the data being transferred, making it more secure than traditional FTP (File Transfer Protocol). SFTP is commonly used by businesses and organizations to transfer sensitive data such as financial information, medical records, and personal data. It requires authentication using a username and password or public key authentication, ensuring that only authorized users can access the files. SFTP is also platform-independent, meaning it can be used on any operating system, making it a versatile and reliable option for secure file transfers.

SFTP provides access to various types of data that can be used for different purposes. Some of the categories of data that SFTP's API gives access to are:  

1. File data: SFTP's API allows users to access and transfer files securely over the internet. This includes uploading, downloading, and managing files.  
2. User data: SFTP's API provides access to user data such as usernames, passwords, and permissions. This allows users to manage and control access to their files and folders.  
3. Server data: SFTP's API gives access to server data such as server logs, server configurations, and server status. This allows users to monitor and manage their server resources.  
4. Security data: SFTP's API provides access to security data such as encryption keys, certificates, and security policies. This allows users to ensure that their data is secure and protected from unauthorized access.  
5. Network data: SFTP's API gives access to network data such as IP addresses, network configurations, and network traffic. This allows users to monitor and manage their network resources.

This can be done by building a data pipeline manually, usually a Python script (you can leverage a tool as Apache Airflow for this). This process can take more than a full week of development. Or it can be done in minutes on Airbyte in three easy steps: 
1. Set up SFTP to S3 as a source connector (using Auth, or usually an API key)
2. Choose a destination (more than 50 available destination databases, data warehouses or lakes) to sync data too and set it up as a destination connector
3. Define which data you want to transfer from SFTP to S3 and how frequently
You can choose to self-host the pipeline using Airbyte Open Source or have it managed for you with Airbyte Cloud. 

ELT, standing for Extract, Load, Transform, is a modern take on the traditional ETL data integration process. In ELT, data is first extracted from various sources, loaded directly into a data warehouse, and then transformed. This approach enhances data processing speed, analytical flexibility and autonomy.

ETL and ELT are critical data integration strategies with key differences. ETL (Extract, Transform, Load) transforms data before loading, ideal for structured data. In contrast, ELT (Extract, Load, Transform) loads data before transformation, perfect for processing large, diverse data sets in modern data warehouses. ELT is becoming the new standard as it offers a lot more flexibility and autonomy to data analysts.

What should you do next?

Hope you enjoyed the reading. Here are the 3 ways we can help you in your data journey:

flag icon
Easily address your data movement needs with Airbyte Cloud
Take the first step towards extensible data movement infrastructure that will give a ton of time back to your data team. 
Get started with Airbyte for free
high five icon
Talk to a data infrastructure expert
Get a free consultation with an Airbyte expert to significantly improve your data movement infrastructure. 
Talk to sales
stars sparkling
Improve your data infrastructure knowledge
Subscribe to our monthly newsletter and get the community’s new enlightening content along with Airbyte’s progress in their mission to solve data integration once and for all.
Subscribe to newsletter