Dropbox Connector for Azure Data Factory (SSIS) : Make generic REST API request (bulk write)

Integrate Azure Data Factory (SSIS) and Dropbox
Integrate Azure Data Factory (SSIS) and Dropbox

Learn how to make generic REST API request (bulk write) using the Dropbox Connector for Azure Data Factory (SSIS). This connector enables you to read and write Dropbox data effortlessly. Integrate, manage, and automate files and folders — almost no coding required. We'll walk you through the exact setup.

Let's dive in!

Prerequisites

Before we begin, make sure the following prerequisites are met:

  1. SSIS designer installed. Sometimes it is referred as BIDS or SSDT (download it from Microsoft).
  2. Basic knowledge of SSIS package development using Microsoft SQL Server Integration Services.
  3. SSIS PowerPack is installed (if you are new to SSIS PowerPack, then get started!).

Make generic REST API request in SSIS

  1. Begin with opening Visual Studio and Create a New Project.

  2. Select Integration Service Project and in new project window set the appropriate name and location for project. And click OK.

    In the new SSIS project screen you will find the following:

    • SSIS ToolBox on left side bar
    • Solution Explorer and Property Window on right bar
    • Control flow, data flow, event Handlers, Package Explorer in tab windows
    • Connection Manager Window in the bottom
    SSIS Project Screen
    Note: If you don't see ZappySys SSIS PowerPack Task or Components in SSIS Toolbox, please refer to this help link.
  3. Now, Drag and Drop SSIS Data Flow Task from SSIS Toolbox. Double click on the Data Flow Task to see Data Flow designer.

    SSIS Data Flow Task - Drag and Drop
  4. Read the data from the source, using any desired source component. You can even make an API call using the ZappySys JSON/XML/API Source and read data from there. In this example, we will use an OLE DB Source component to read real-time data from a SQL Server database.

  5. From the SSIS Toolbox drag and drop API Destination (Predefined Templates) on the Data Flow Designer surface and connect source component with it, and double click to edit it.
    SSIS API Destination (Predefined Templates) - Drag and Drop

  6. Select New Connection to create a new connection:

    API Destination - Dropbox
    Read and write Dropbox data effortlessly. Integrate, manage, and automate files and folders — almost no coding required.
    API Destination - Dropbox

  7. To configure the Dropbox connector, choose one of the following methods:

    • Choose from Popular Connector List: Select a pre-installed service directly from the dropdown menu.
    • Search Online: Use this to find and download a new connector file to your computer.
    • Use Saved/Downloaded File: Once the file is downloaded, browse your local drive to load it into the configuration.

    After that, just click Continue >>:

    Dropbox
    API Destination -
  8. Proceed with selecting the desired Authentication Type. Then select API Base URL (in most cases default one is the right one). Finally, fill in all the required parameters and set optional parameters if needed. You may press a link Steps to Configure which will help set certain parameters. More info is available in Authentication section.

    Dropbox authentication

    To use OAuth authentication, firstly, you need to create OAuth application:

    1. Log into your Dropbox account.
    2. Go to Dropbox My Apps.
    3. Then press Create app button to create a new app: My OAuth apps in Dropbox
    4. Once a new page opens, select Scoped access option: Create OAuth app to get Dropbox REST API data
    5. Next, select Full Dropbox to access all files and folders or App folder to access specific folder's files and folders option.
    6. Continue by giving your app a name.
    7. Then check I agree to Dropbox API Terms and Conditions checkbox.
    8. Click Create app button.
    9. Once a new page opens, click Enable additional teams and Enable additional users buttons: Configure OAuth app in Dropbox
    10. Then copy App key and App secret and copy paste them into your favorite text editor (you will need them later).
    11. Proceed by setting a Redirect URI and clicking Add button.

      NOTE: If you don't have a working Redirect URI, you can use https://zappysys.com/oauth (it's safe).

    12. Then click on Permissions tab and select application scopes: Set OAuth app permissions in Dropbox
    13. Select all Individual Scopes and Team Scopes if you want to manage team data.
    14. Click Submit button.
    15. Now go to SSIS package or ODBC data source and in User Account authentication set these parameters:
      1. For ClientId field use App key value.
      2. For ClientSecret field use App secret value.
      3. For ReturnUrl field use Redirect URI value.
    16. Done! Now you are ready to use Dropbox Connector!
    NOTE: If you are planning to use your current data connection/token for automated processes, we recommend that you use a generic account for token generation when the login box appears (e.g. sales_automation@mycompany.com instead of bob_smith@mycompany.com). When you use a personal account which is tied to a specific employee profile and that employee leaves the company, the token may become invalid and any automated processes using that token will fail. Another potentially unwanted effect of using a personal token is incorrect logging; the API calls (e.g. Read, Edit, Delete, Upload) made with that token will record the specific user as performing the calls instead of an automated process.
    API Connection Manager configuration

    Just perform these simple steps to finish authentication configuration:

    1. Set Authentication Type to User Account [OAuth]
    2. Optional step. Modify API Base URL if needed (in most cases default will work).
    3. Fill in all the required parameters and set optional parameters if needed.
    4. Press Generate Token button to generate the tokens.
    5. Finally, hit OK button:
    Dropbox
    User Account [OAuth]
    https://api.dropboxapi.com/2/
    Required Parameters
    UseCustomApp Fill-in the parameter...
    ReturnUrl Fill-in the parameter...
    Optional Parameters
    ClientId
    ClientSecret
    Scope
    RetryMode RetryWhenStatusCodeMatch
    RetryStatusCodeList 429
    RetryCountMax 5
    RetryMultiplyWaitTime True
    ZappySys OAuth Connection

  9. Select Generic Table (Bulk Read or Write) table from the dropdown, then select Insert, Update as operation, and hit Preview Data:

    API Destination - Dropbox
    Read and write Dropbox data effortlessly. Integrate, manage, and automate files and folders — almost no coding required.
    Dropbox
    Generic Table (Bulk Read or Write)
    Insert, Update
    Required Parameters
    Url Fill-in the parameter...
    Request Method Fill-in the parameter...
    Optional Parameters
    IsMultiPart
    Filter
    Request Format (Content-Type) Default
    Body {$rows$}
    JsonOutputFormat Multicontent
    DoNotOutputNullProperty
    Batch Size (Default=1) 1
    Meta Detection Order StaticDynamicVirtual
    Input Columns - For Mapping (e.g. MyCol1:string(10); MyCol2:int32 ...) - Use bool, int32, int64, datetime, decimal, double
    Output Columns (e.g. MyCol1:string(10); MyCol2:int32 ...) - Use bool, int32, int64, datetime, decimal, double
    Request Format
    Response Format Default
    Headers Accept: */* || Cache-Control: no-cache
    Csv - Column Delimiter ,
    Csv - Row Delimiter {NEWLINE}
    Csv - Quote Around Value True
    Csv - Always Quote regardless type
    Encoding
    CharacterSet
    Writer DateTime Format
    Csv - Has Header Row True
    Xml - ElementsToTreatAsArray
    Layout Map <?xml version="1.0" encoding="utf-8"?> <!-- Example#1: Output all columns --> <settings> <dataset id="root" main="True" readfrominput="True" /> <map src="*" /> </settings> <!-- Example#2: Records under array <?xml version="1.0" encoding="utf-8"?> <settings singledataset="True"> <dataset id="root" main="True" readfrominput="True" /> <map name="MyArray" dataset="root" maptype="DocArray"> <map src="OrderID" name="OrderID" /> <map src="OrderDate" name="OrderDate" /> </map> </settings> --> <!-- Example#3: Records under nested section <?xml version="1.0" encoding="utf-8"?> <settings> <dataset id="dsRoot" main="True" readfrominput="True" /> <map name="NestedSection"> <map src="OrderID" name="OrderID_MyLabel" /> <map src="OrderDate" name="OrderDate_MyLabel" /> </map> </settings> -->
    SSIS API Destination - Access table operation

  10. Finally, map the desired columns:

    API Destination - Dropbox
    Read and write Dropbox data effortlessly. Integrate, manage, and automate files and folders — almost no coding required.
    API Destination - Dropbox

  11. That's it; we successfully configured the POST API Call. In a few clicks we configured the Dropbox API call using ZappySys Dropbox Connector

    Execute Package

Deploy SSIS package to Azure Data Factory (ADF)

Once your SSIS package is complete, deploy it to the Azure-SSIS runtime within Azure Data Factory. The setup process requires you to upload the SSIS PowerPack installer to Azure Blob Storage and then customize the runtime configuration using the main.cmd file. For a complete walkthrough of these steps, see our detailed guide on the Azure Data Factory (SSIS) and Dropbox integration.

Conclusion

And there you have it — a complete guide on how to make generic REST API request (bulk write) in Azure Data Factory (SSIS) without writing complex code. All of this was powered by Dropbox Connector, which handled the REST API pagination and authentication for us automatically.

Download the trial now or ping us via chat if you have any questions or are looking for a specific feature (you can also reach out to us by submitting a ticket):

More actions supported by Dropbox Connector

Got another use case in mind? We've documented the exact setups for a variety of essential Dropbox operations directly in Azure Data Factory (SSIS), so you can skip the trial and error. Find your next step-by-step guide below:

More Dropbox integrations

All
Data Integration
Database
BI & Reporting
Productivity
Programming Languages
Automation & Scripting
ODBC applications