How to Make Generic API Request (Bulk Write) — OData Connector for SSIS
Prerequisites
Before we begin, make sure the following prerequisites are met:
- SSIS designer installed. Sometimes it is referred as BIDS or SSDT (download it from Microsoft).
- Basic knowledge of SSIS package development using Microsoft SQL Server Integration Services.
- SSIS PowerPack is installed (if you are new to SSIS PowerPack, then get started!).
Make Generic API Request (Bulk Write) in SSIS
-
Begin with opening Visual Studio and Create a New Project.
-
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
Note: If you don't see ZappySys SSIS PowerPack Task or Components in SSIS Toolbox, please refer to this help link. -
Now, Drag and Drop SSIS Data Flow Task from SSIS Toolbox. Double click on the Data Flow Task to see Data Flow designer.
-
Read the data from the source, being any desired source component. In example we will use ZappySys Dummy Data Source component.
-
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.
-
Select New Connection to create a new connection:
API Destination - ODataOData Connector can be used to integrated any REST API which supports OData Standard. You can view tables, read data from tables using this connector. It also comes with some example OData Services to get started. -
Use a preinstalled OData Connector from Popular Connector List or press Search Online radio button to download OData Connector. Once downloaded simply use it in the configuration:
OData -
Now it's time to configure authentication. Firstly, configure authentication settings in OData service and then proceed by configuring API Connection Manager. Start by expanding an authentication type:
OData authentication
No instructions available.
API Connection Manager configuration
Just perform these simple steps to finish authentication configuration:
-
Set Authentication Type to
No Authentication [Http]
- Optional step. Modify API Base URL if needed (in most cases default will work).
- Fill in all the required parameters and set optional parameters if needed.
- Finally, hit OK button:
ODataNo Authentication [Http]https://services.odata.org/V3/Northwind/Northwind.svcOptional Parameters RetryMode RetryWhenStatusCodeMatch RetryStatusCodeList 429 RetryCountMax 5 RetryMultiplyWaitTime True IgnoreSSLCertificateErrors SslVersion OData authentication
No instructions available.
API Connection Manager configuration
Just perform these simple steps to finish authentication configuration:
-
Set Authentication Type to
Windows Authentication [Http]
- Optional step. Modify API Base URL if needed (in most cases default will work).
- Fill in all the required parameters and set optional parameters if needed.
- Finally, hit OK button:
ODataWindows Authentication [Http]https://services.odata.org/V3/Northwind/Northwind.svcThere are no parameters to configure. OData authentication
No instructions available.
API Connection Manager configuration
Just perform these simple steps to finish authentication configuration:
-
Set Authentication Type to
Basic Authentication [Http]
- Optional step. Modify API Base URL if needed (in most cases default will work).
- Fill in all the required parameters and set optional parameters if needed.
- Finally, hit OK button:
ODataBasic Authentication [Http]https://services.odata.org/V3/Northwind/Northwind.svcRequired Parameters UserName Fill-in the parameter... Password Fill-in the parameter... Optional Parameters RetryMode RetryWhenStatusCodeMatch RetryStatusCodeList 429 RetryCountMax 5 RetryMultiplyWaitTime True IgnoreSSLCertificateErrors SslVersion OData authentication
No instructions available.
API Connection Manager configuration
Just perform these simple steps to finish authentication configuration:
-
Set Authentication Type to
NTLM Authentication [Http]
- Optional step. Modify API Base URL if needed (in most cases default will work).
- Fill in all the required parameters and set optional parameters if needed.
- Finally, hit OK button:
ODataNTLM Authentication [Http]https://services.odata.org/V3/Northwind/Northwind.svcRequired Parameters UserName (i.e. Domain\UserName) Fill-in the parameter... Password Fill-in the parameter... Optional Parameters RetryMode RetryWhenStatusCodeMatch RetryStatusCodeList 429 RetryCountMax 5 RetryMultiplyWaitTime True IgnoreSSLCertificateErrors SslVersion OData authentication
No instructions available.
API Connection Manager configuration
Just perform these simple steps to finish authentication configuration:
-
Set Authentication Type to
Token Authentication [Http]
- Optional step. Modify API Base URL if needed (in most cases default will work).
- Fill in all the required parameters and set optional parameters if needed.
- Finally, hit OK button:
ODataToken Authentication [Http]https://services.odata.org/V3/Northwind/Northwind.svcRequired Parameters Token Fill-in the parameter... Optional Parameters AuthScheme Bearer AuthHeader Authorization RetryMode RetryWhenStatusCodeMatch RetryStatusCodeList 429 RetryCountMax 5 RetryMultiplyWaitTime True IgnoreSSLCertificateErrors SslVersion OData authentication
No instructions available.
API Connection Manager configuration
Just perform these simple steps to finish authentication configuration:
-
Set Authentication Type to
OAuth Connection for OData API [OAuth]
- Optional step. Modify API Base URL if needed (in most cases default will work).
- Fill in all the required parameters and set optional parameters if needed.
- Press Generate Token button to generate the tokens.
- Finally, hit OK button:
ODataOAuth Connection for OData API [OAuth]https://services.odata.org/V3/Northwind/Northwind.svcOptional Parameters GrantType Default OAuthVersion Default ClientId ClientSecret UserName Password Scope AuthUrl https://some-domain.com/api/auth TokenUrl https://some-domain.com/api/token ReturnUrl https://zappysys.com/oauth ExtraAttributesForTokenRequest ExtraAttributesForAuthRequest DoNotIncludeCredentialsInHeader DoNotIncludeCredentialsInBody RenewBeforeSec ExtraHeaders (e.g. x-hdr1:AAA||x-hdr2:BBB) ContentType EnableCodeVerifier RemoveAuthHeader CustomAuthHeader CustomTokenPrefix RetryMode RetryWhenStatusCodeMatch RetryStatusCodeList 429 RetryCountMax 5 RetryMultiplyWaitTime True IgnoreSSLCertificateErrors SslVersion -
Set Authentication Type to
-
Select Generic Table (Bulk Read / Write) table from the dropdown, then select Insert, Update as operation, and hit Preview Data:
API Destination - ODataOData Connector can be used to integrated any REST API which supports OData Standard. You can view tables, read data from tables using this connector. It also comes with some example OData Services to get started.ODataGeneric Table (Bulk Read / Write)Insert, UpdateRequired 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> --> -
Finally, map the desired columns:
API Destination - ODataOData Connector can be used to integrated any REST API which supports OData Standard. You can view tables, read data from tables using this connector. It also comes with some example OData Services to get started. -
That's it; we successfully configured the POST API Call. In a few clicks we configured the OData API call using ZappySys OData Connector
More actions supported by OData Connector
Learn how to perform other actions directly in SSIS with these how-to guides:
- Generic Read Data (JSON API)
- Generic Read Data (XML API)
- List Tables (JSON API)
- List Tables (XML API)
- Read [Dynamic Endpoint]
- Make Generic API Request