Build Data Flows from Apache Airflow to SQL Server using SSIS

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Easily back up Apache Airflow data to SQL Server using the SSIS components for Apache Airflow.

Using SQL Server as a backup for critical business data provides an essential safety net against loss. Backing up data to SQL Server enables business users to more easily connect that data with features like reporting, analytics, and more.

This example demonstrates how to use the CData SSIS Tasks for Apache Airflow inside of a SQL Server SSIS workflow to transfer Apache Airflow data into a Microsoft SQL Server database.

Add the Components

To get started, add a new Apache Airflow source and SQL Server ADO.NET destination to a new data flow task.

The Data Flow task used in this example. (Salesforce is shown.)

Create a New Connection Manager

Follow the steps below to save Apache Airflow connection properties in a connection manager.

  1. In the Connection Manager window, right-click and then click New Connection. The Add SSIS Connection Manager dialog is displayed.
  2. In the Connection Manager type menu, select API. The CData Apache Airflow Connection Manager is displayed.
  3. Configure connection properties.

    Start by setting the Profile connection property to the location of the ApacheAirflow Profile on disk (e.g. C:\profiles\ApacheAirflow.apip). Next, set the ProfileSettings connection property to the connection string for ApacheAirflow (see below).

    ApacheAirflow API Profile Settings

    Apache Airflow 3 uses JWT Bearer tokens for API authentication. You can generate a token from the Airflow web UI under Settings or via the Airflow CLI using airflow users create and the /api/v2/auth/token endpoint. Note that this profile targets Apache Airflow 3.x using the /api/v2 REST API. The legacy /api/v1 endpoint used by Airflow 2.x is not supported.

    After setting the following connection properties, you are ready to connect:

    • AuthScheme: Set this to APIKey.
    • APIKey: Set this to your Apache Airflow JWT Bearer token.
    • Server: Set this to the base URL of your Airflow instance (e.g. http://localhost:8080).
    Configuring a connection (Salesforce is shown).

Configure the Apache Airflow Source

Follow the steps below to specify the query to be used to extract Apache Airflow data.

  1. Double-click the Apache Airflow source to open the source component editor.
  2. In the Connection Manager menu, select the connection manager previously created.
  3. Specify the query to use for the data extraction. For example:
    
    SELECT DagRunId, State FROM DagRuns WHERE DagId = 'example_dag'
    
    The SQL query to retrieve records. (Salesforce is shown.)
  4. Close the Apache Airflow Source control and connect it to the ADO.NET Destination.

Configure the SQL Server Destination

Follow the steps below to specify the SQL server table to load the Apache Airflow data into.

  1. Open the ADO.NET Destination and add a New Connection. Enter your server and database information here.
  2. In the Data access mode menu, select "table or view".
  3. In the Table Or View menu, select the table or view to populate.
  4. Configure any properties you wish to on the Mappings screen. The mappings from the SSIS source component to SQL Server. (Salesforce is shown.)

Run the Project

You can now run the project. After the SSIS Task has finished executing, your database will be populated with Apache Airflow data.

The completed import. (Salesforce is shown.)

Ready to get started?

Connect to live data from Apache Airflow with the API Driver

Connect to Apache Airflow