<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>write Archives | ZappySys Blog</title>
	<atom:link href="https://zappysys.com/blog/tag/write/feed/" rel="self" type="application/rss+xml" />
	<link>https://zappysys.com/blog/tag/write/</link>
	<description>SSIS / ODBC Drivers / API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more</description>
	<lastBuildDate>Wed, 19 Mar 2025 14:04:19 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.4.4</generator>

<image>
	<url>https://zappysys.com/blog/wp-content/uploads/2023/01/cropped-zappysys-symbol-large-32x32.png</url>
	<title>write Archives | ZappySys Blog</title>
	<link>https://zappysys.com/blog/tag/write/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How to write/update Google Sheet in SSIS</title>
		<link>https://zappysys.com/blog/write-update-google-sheet-ssis/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Wed, 11 Dec 2019 12:29:14 +0000</pubDate>
				<category><![CDATA[Google API]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[Connection]]></category>
		<category><![CDATA[Destination]]></category>
		<category><![CDATA[generator]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[oledb]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[put]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[sheet]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[spreadsheet]]></category>
		<category><![CDATA[ssis]]></category>
		<category><![CDATA[transform]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[variable]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[write]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=8475</guid>

					<description><![CDATA[<p>Introduction In this post, you will learn How to write/update Google Sheet in SSIS. We will use drag and drop REST API connectors from SSIS PowerPack. No need to download any SDK or learn programming languages (e.g. JAVA, C#, Ruby, Python) when you use SSIS PowerPack Connectors. We will use the Google Drive API and Google Sheet API [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/write-update-google-sheet-ssis/">How to write/update Google Sheet in SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2><span id="Introduction">Introduction</span></h2>
<div class="su-note"  style="border-color:#e5de9d;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><div class="su-note-inner su-u-clearfix su-u-trim" style="background-color:#FFF8B7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><strong>UPDATE:</strong> ZappySys has released a brand new <a href="https://zappysys.com/api/integration-hub/google-sheets-connector/">API Connector for Google Sheets Online</a> which makes it much simpler to <strong>Read/Write  Google Sheets Data in SSIS</strong> compared to the steps listed in this article. You can still use steps from this article but if you are new to API or want to avoid learning curve with API then use newer approach.</p>
<p>Please visit <a href="https://zappysys.com/api/integration-hub/">this page to see all</a> Pre-Configured ready to use API connectors which you can use in <a href="https://zappysys.com/products/ssis-powerpack/ssis-api-source/">SSIS API Source</a> / <a href="https://zappysys.com/products/ssis-powerpack/ssis-api-destination/">SSIS API Destination</a> OR <a href="https://zappysys.com/products/odbc-powerpack/odbc-api-driver/">API ODBC Driver</a> (for non-SSIS Apps such as Excel, Power BI, Informatica).</p>
</div></div>
<a href="https://zappysys.com/blog/wp-content/uploads/2016/09/google-sheets-api-integration.png"><img loading="lazy" decoding="async" class="size-thumbnail wp-image-1670 alignleft" src="https://zappysys.com/blog/wp-content/uploads/2016/09/google-sheets-api-integration-150x150.png" alt="" width="150" height="150" /></a>In this post, you will learn How to write/update Google Sheet in SSIS. We will use drag and drop REST API connectors from <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">SSIS PowerPack</a>. No need to download any SDK or learn programming languages (e.g. JAVA, C#, Ruby, Python) when you use SSIS PowerPack Connectors. We will use the Google Drive API and Google Sheet API to write and update Google Spreadsheet in a few clicks (using OAuth 2.0 connection in SSIS).</p>
<p>In this tutorial, we will use the <a href="https://zappysys.com/blog/call-rest-api-using-ssis-web-service-task/" target="_blank" rel="noopener">REST API Task</a> to call some API. We will use the <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-oauth-connection-manager.htm" target="_blank" rel="noopener">OAuth connection</a> along the <a href="https://zappysys.com/blog/call-rest-api-using-ssis-web-service-task/" target="_blank" rel="noopener">REST API Task</a> to write / update data to Google Spreadsheet.</p>
<p>&nbsp;</p>
<h2><span id="Prerequisites">Prerequisites</span></h2>
<p>Before we perform the steps listed in this article, you will need to make sure the following prerequisites are met:</p>
<ol>
<li><abbr title="SQL Server Integration Services">SSIS</abbr> designer installed. Sometimes it is referred to as <abbr title="Business Intelligence Development Studio">BIDS</abbr> or <abbr title="SQL Server Data Tools">SSDT</abbr> (<a href="https://docs.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt" target="_blank" rel="noopener">download it from Microsoft site</a>).</li>
<li>Basic knowledge of SSIS package development using <em>Microsoft SQL Server Integration Services</em>.</li>
<li>Make sure <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">ZappySys SSIS PowerPack</a> is installed (<a href="https://zappysys.com/products/ssis-powerpack/download/" target="_blank" rel="noopener">download it</a>).</li>
<li>Credentials of Google API.</li>
</ol>
<h2>Component Mention in this article</h2>
<div class="su-table su-table-alternate">
<table style="height: 44px;width: 307px">
<tbody>
<tr style="height: 22px">
<td style="height: 22px;width: 1px"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/json-generator-transform/ssis-json-generator-transform.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="alignnone wp-image-3074" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/json-generator-transform/ssis-json-generator-transform.png" alt="" width="40" height="40" /></a></td>
<td style="height: 22px;width: 247px"><a href="https://zappysys.com/products/ssis-powerpack/ssis-json-generator-transform/" target="_blank" rel="noopener">JSON Generator Transform</a></td>
</tr>
<tr style="height: 22px">
<td style="height: 22px;width: 1px"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/web-api-destination/ssis-web-api-destination.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="alignnone wp-image-3074" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/web-api-destination/ssis-web-api-destination.png" alt="" width="40" height="40" /></a></td>
<td style="height: 22px;width: 247px"><a href="https://zappysys.com/products/ssis-powerpack/ssis-web-api-destination-connector/" target="_blank" rel="noopener">Web API Destination</a></td>
</tr>
<tr style="height: 22px">
<td style="height: 22px;width: 1px"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/rest-api-task/ssis-rest-api-web-service-task.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="alignnone wp-image-3074" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/rest-api-task/ssis-rest-api-web-service-task.png" alt="" width="40" height="40" /></a></td>
<td style="height: 22px;width: 247px"><a href="https://zappysys.com/products/ssis-powerpack/ssis-rest-api-web-service-task/" target="_blank" rel="noopener">REST API Task</a></td>
</tr>
</tbody>
</table>
</div>
<h2><span id="Create_Google_API_Project">Create a Google API Project</span></h2>
<p>The first step to access any Google API is to create an API Project in Google Console. If you don’t want to go through this then Skip this Step-1 and in the next section select the Default OAuth App option on OAth Connection Manager (This is the easiest option for now unless you want to use your own OAuth App).</p>
<p><a href="https://zappysys.com/blog/register-google-oauth-application-get-clientid-clientsecret/" target="_blank" rel="noopener">Check this article</a> for step-by-step instructions. When you follow these instructions make sure you <a href="https://console.developers.google.com/apis/api/sheets.googleapis.com/overview?project=603281348663" target="_blank" rel="noopener">enable Google Sheet API.</a></p>
<h2><span id="Create_OAuth_Connection_Manager_in_SSIS">Create OAuth Connection Manager in SSIS</span></h2>
<p>Once you create a Google API project and obtained a Client ID and Client Secret your next step is to create <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-oauth-connection-manager.htm" target="_blank" rel="noopener">OAuth Connection Manager</a> in SSIS. ZappySys OAuth connection manager comes with many predefined OAuth Providers (e.g. Facebook, Twitter, Google, etc) but you can also define custom OAuth settings for any OAuth enabled API.</p>
<p>To create SSIS OAuth 2.0 Connection for Google API perform the following steps.</p>
<ol>
<li>Download and Install SSIS PowerPack.</li>
<li>Create a new SSIS Package.</li>
<li>Right-click in Connection Manager Area and Click “New Connection”.</li>
<li>When prompted select ZS-OAUTH connection type, On the OAuth Connection Manager Select Provider=Google.</li>
<li>Click here to <a href="https://console.developers.google.com/apis/credentials" target="_blank" rel="noopener">create credentials.</a> Then select the “Use Custom OAuth App” option and enter your ClientID, ClientSecret.</li>
<li>In the Scopes <strong>enter below scopes</strong> (or click Select Scopes). This will allow read/write access to Drive Files or Sheet (E.g. Reading file content / Export file to CSV). You can use the Scope browser to see many other available permissions. For more information click <a href="https://developers.google.com/sheets/api/guides/authorizing#OAuth2Authorizing" target="_blank" rel="noopener">here.</a><br />
<pre class="crayon-plain-tag">https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/drive.file
https://www.googleapis.com/auth/drive.readonly
https://www.googleapis.com/auth/spreadsheets
https://www.googleapis.com/auth/spreadsheets.readonly</pre>
</li>
<li>Click on the Generate Token button.
<div id="attachment_8479" style="width: 1036px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-google-oauth-connection-google-drive-api-access-file.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8479" class="wp-image-8479 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-google-oauth-connection-google-drive-api-access-file.png" alt="SSIS OAuth Connection Manager – Access Google Drive API using OAuth 2.0" width="1026" height="653" srcset="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-google-oauth-connection-google-drive-api-access-file.png 1026w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-google-oauth-connection-google-drive-api-access-file-300x191.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-google-oauth-connection-google-drive-api-access-file-768x489.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-google-oauth-connection-google-drive-api-access-file-1024x652.png 1024w" sizes="(max-width: 1026px) 100vw, 1026px" /></a><p id="caption-attachment-8479" class="wp-caption-text">SSIS OAuth Connection Manager – Access Google Drive API using OAuth 2.0</p></div></li>
<li>You will see UI as below… Click Allow (You may have to scroll to see that button sometimes).</li>
<li>Click on Test Connection to see the connection is working and click on the OK button to save configure setting UI.</li>
</ol>
<h2><span id="Find_Google_Sheet_ID_for_API_call">Find Google Sheet ID for API calls</span></h2>
<p>Before we can write or update Sheet data in SSIS we need to know Google Driver File ID. We will use this ID in the next few sections.</p>
<p>The easiest way to find File ID is to look at the URL like below. If you need to know ID at runtime dynamically then refer to the last section.</p>
<div id="attachment_8450" style="width: 806px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2016/09/obtain-google-sheet-id-for-api-call.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8450" class="wp-image-8450 size-full" src="https://zappysys.com/blog/wp-content/uploads/2016/09/obtain-google-sheet-id-for-api-call.png" alt="Get Google Drive File ID for API call (Sheet ID)" width="796" height="286" srcset="https://zappysys.com/blog/wp-content/uploads/2016/09/obtain-google-sheet-id-for-api-call.png 796w, https://zappysys.com/blog/wp-content/uploads/2016/09/obtain-google-sheet-id-for-api-call-300x108.png 300w, https://zappysys.com/blog/wp-content/uploads/2016/09/obtain-google-sheet-id-for-api-call-768x276.png 768w" sizes="(max-width: 796px) 100vw, 796px" /></a><p id="caption-attachment-8450" class="wp-caption-text">Get Google Drive File ID for API call (Sheet ID)</p></div>
<h2>Create Variables to make dynamic URL</h2>
<ol>
<li>Here, we are going to make a Dynamic URL value.</li>
<li>In Visual Studio Project Right Click on Design Panel, Select Variables.
<div style="width: 426px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/ssis-create-variable.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/ssis-create-variable.png" alt="Create Variables" width="416" height="294" /></a><p class="wp-caption-text">Create Variables</p></div></li>
<li>Let&#8217;s Create Variables with correct DataType and Value. In variable &#8220;<strong>varRange</strong>&#8221; set only the starting point(<strong>Sheet1!A2</strong>) of data if you don&#8217;t know the ending point and leave the first-row for giving header row later or click <a href="https://zappysys.com/blog/write-update-google-sheet-ssis/#Update_Google_Sheet_header_cells_manually" target="_blank" rel="noopener">here.</a><br />
<a href="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-using-rest-api-oauth-create-variable.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="aligncenter wp-image-8547 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-using-rest-api-oauth-create-variable.png" alt="Create Variables with correct datatype and values" width="863" height="209" srcset="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-using-rest-api-oauth-create-variable.png 863w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-using-rest-api-oauth-create-variable-300x73.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-using-rest-api-oauth-create-variable-768x186.png 768w" sizes="(max-width: 863px) 100vw, 863px" /></a></li>
</ol>
<h2>Write SQL Server data to Google Spreadsheet</h2>
<p>Now let’s look at a real-world example. How to write data from SQL Server table or other source and send to Google Sheet using Web API Destination.</p>
<ol>
<li>Drag and Drop SSIS Data Flow Task from SSIS Toolbox.
<div id="attachment_8028" style="width: 470px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/02/drag-and-drop-data-flow-task.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8028" class="wp-image-8028 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/02/drag-and-drop-data-flow-task.png" alt="Dragging and dropping Data Flow Task into Control Flow" width="460" height="155" srcset="https://zappysys.com/blog/wp-content/uploads/2019/02/drag-and-drop-data-flow-task.png 460w, https://zappysys.com/blog/wp-content/uploads/2019/02/drag-and-drop-data-flow-task-300x101.png 300w" sizes="(max-width: 460px) 100vw, 460px" /></a><p id="caption-attachment-8028" class="wp-caption-text">Dragging and dropping Data Flow Task into Control Flow</p></div></li>
<li>Double click on the Data Flow task to see the Data Flow designer surface.</li>
<li>Here, In Visual Studio, drag and drop the OLE DB Source, JSON Generator Transform and Web API Destination in the design surface and join the components with the blue arrow.
<div id="attachment_8491" style="width: 611px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-drag-drop-json-generator-web-api-destination.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8491" class="wp-image-8491 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-drag-drop-json-generator-web-api-destination.png" alt="Drag and Drop OLE DB Source, JSON Generator Transform and Web API Destination" width="601" height="369" srcset="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-drag-drop-json-generator-web-api-destination.png 601w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-drag-drop-json-generator-web-api-destination-300x184.png 300w" sizes="(max-width: 601px) 100vw, 601px" /></a><p id="caption-attachment-8491" class="wp-caption-text">Drag and Drop OLE DB Source, JSON Generator Transform, and Web API Destination</p></div></li>
<li>Here, you can use our Free ZS Dummy Data Source too. Click <a href="https://zappysys.com/products/ssis-powerpack/dummy-data-source-free/" target="_blank" rel="noopener">here</a> for more information.</li>
<li>But, we are going through OLE DB Source so we need OLEDB Connection.</li>
</ol>
<h3>Create OLE DB Connection</h3>
<ol>
<li>Lets, create the OLE DB Connection.</li>
<li>Let&#8217;s, Right-click on Connection Managers Panel to Create OLEDB Connection, so you can use Source and Context Menu will appear, Select New OLEDB Connection from the Context Menu.
<div style="width: 485px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-new-oledb-connection-step-1.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-new-oledb-connection-step-1.png" alt="Create OLE DB Connection" width="475" height="353" /></a><p class="wp-caption-text">Create OLE DB Connection</p></div></li>
<li>Now, click on New Button to create Connection.
<div style="width: 665px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-new-oledb-connection-step-2.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-new-oledb-connection-step-2.png" alt="Create New Connection" width="655" height="558" /></a><p class="wp-caption-text">Create New Connection</p></div></li>
<li>Let&#8217;s Configure Connection Manager, just Follow steps one by one as we have created.
<div style="width: 730px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-new-oledb-connection-step-3.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-new-oledb-connection-step-3.png" alt="Configure OLE DB Connection" width="720" height="625" /></a><p class="wp-caption-text">Configure OLE DB Connection</p></div></li>
<li>Click on Test Connection to see correct configure it.</li>
<li>Click on the OK button to save connection configure setting UI.</li>
</ol>
<h3>Configure JSON Generator Transform</h3>
<ol>
<li>Double click on JSON Generator Transform to configure it.</li>
<li>Set Output Mode to <strong>Single Dataset Array</strong>. Right-click on Mappings, select Add Static Element then enter Name: &#8220;<strong>range</strong>&#8221; and Select variable we have created for value.
<div id="attachment_8492" style="width: 929px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-json-generator-static-value.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8492" class="wp-image-8492 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-json-generator-static-value.png" alt="Configure JSON Generator Transform - Add Static Value" width="919" height="730" srcset="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-json-generator-static-value.png 919w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-json-generator-static-value-300x238.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-json-generator-static-value-768x610.png 768w" sizes="(max-width: 919px) 100vw, 919px" /></a><p id="caption-attachment-8492" class="wp-caption-text">Configure JSON Generator Transform &#8211; Add Static Value</p></div></li>
<li>Again, Right-click on Mappings, select Add Static Element then enter Name: &#8220;<strong>majorDimension</strong>&#8221; and Value: &#8220;<strong>ROWS</strong>&#8220;.
<div id="attachment_8493" style="width: 946px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-json-generator-static-value-2.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8493" class="wp-image-8493 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-json-generator-static-value-2.png" alt="Configure JSON Generator Transform - Add Static Value" width="936" height="730" srcset="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-json-generator-static-value-2.png 936w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-json-generator-static-value-2-300x234.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-json-generator-static-value-2-768x599.png 768w" sizes="(max-width: 936px) 100vw, 936px" /></a><p id="caption-attachment-8493" class="wp-caption-text">Configure JSON Generator Transform &#8211; Add Static Value</p></div></li>
<li>Now, Right-click on Mappings, select Add Document Array, Check to Treat as <strong>2D array</strong> option and enter Element Name as &#8220;<strong>values</strong>&#8220;.
<div id="attachment_8494" style="width: 1047px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-json-generator-document-array.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8494" class="wp-image-8494 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-json-generator-document-array.png" alt="Configure JSON Generator Transform - Add Document Array" width="1037" height="764" srcset="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-json-generator-document-array.png 1037w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-json-generator-document-array-300x221.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-json-generator-document-array-768x566.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-json-generator-document-array-1024x754.png 1024w" sizes="(max-width: 1037px) 100vw, 1037px" /></a><p id="caption-attachment-8494" class="wp-caption-text">Configure JSON Generator Transform &#8211; Add Document Array</p></div></li>
<li>Then, right-click on Document Array, select <strong>Add elements</strong> &gt; Select <strong>Add Multiple Columns</strong> and check on columns you like to add.
<div id="attachment_8495" style="width: 1047px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-json-generator-addelement.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8495" class="wp-image-8495 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-json-generator-addelement.png" alt="Configure JSON Generator Transform - Add Element" width="1037" height="764" srcset="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-json-generator-addelement.png 1037w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-json-generator-addelement-300x221.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-json-generator-addelement-768x566.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-json-generator-addelement-1024x754.png 1024w" sizes="(max-width: 1037px) 100vw, 1037px" /></a><p id="caption-attachment-8495" class="wp-caption-text">Configure JSON Generator Transform &#8211; Add Element</p></div></li>
<li>Click on the OK button to save JSON Generator Transform configure setting UI.</li>
</ol>
<h3>Configure Web API Destination</h3>
<ol>
<li>Double click on Web API Destination to configure it.</li>
<li>Select the OAuth connection manager created in an earlier section (Assuming you had all scopes with write permission).</li>
<li>In the Setting tab,
<ol>
<li>In URL, Generate Dynamic URL like below. Change Sheet ID, Range designator(including Sheet name) and API URL Parameters as per your need.<br />
<pre class="crayon-plain-tag">https://sheets.googleapis.com/v4/spreadsheets/{{User::varGoogleSpreadsheetID}}/values/{{User::varRange}}:{{User::varSpreadsheetValues}}?valueInputOption={{User::varValueInputOption}}</pre>
<strong>Example URL without variables (some part masked with xxxxxxxx):</strong><br />
<pre class="crayon-plain-tag">https://sheets.googleapis.com/v4/spreadsheets/1tuGO3_-2JlSmyiHwX6xxxxxxxxCHrORJc/values/Sheet1!A2:B4:append?valueInputOption=USER_ENTERED</pre>
</li>
<li>Change Request Method to <strong>POST.</strong></li>
<li>Select JSON Generator variable into <strong>Body (Request Data)</strong> or you can select <strong>Input column</strong> for <strong>Body </strong>(JSON Generator Output).</li>
<li>Set <strong><strong><strong>application/JSON </strong></strong></strong>to Body Content-type.
<div id="attachment_8497" style="width: 1214px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-web-api-destination.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8497" class="wp-image-8497 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-web-api-destination.png" alt="Configure Web API Destination" width="1204" height="725" srcset="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-web-api-destination.png 1204w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-web-api-destination-300x181.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-web-api-destination-768x462.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-configure-web-api-destination-1024x617.png 1024w" sizes="(max-width: 1204px) 100vw, 1204px" /></a><p id="caption-attachment-8497" class="wp-caption-text">Configure Web API Destination</p></div></li>
</ol>
</li>
<li>Click on the OK button to save Web API Destination configure setting UI.</li>
<li>That&#8217;s all, You are ready to Run or Execute Task and verify data into Google spreadsheet. Now update header row values for click <a href="https://zappysys.com/blog/write-update-google-sheet-ssis/#Update_Google_Sheet_header_cells_manually">here.</a>
<div id="attachment_8530" style="width: 1147px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-using-rest-api-oauth-execute-1.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8530" class="wp-image-8530 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-using-rest-api-oauth-execute-1.png" alt="Run or Execute Package and verify data into Google Spreadsheet" width="1137" height="556" srcset="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-using-rest-api-oauth-execute-1.png 1137w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-using-rest-api-oauth-execute-1-300x147.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-using-rest-api-oauth-execute-1-768x376.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-using-rest-api-oauth-execute-1-1024x501.png 1024w" sizes="(max-width: 1137px) 100vw, 1137px" /></a><p id="caption-attachment-8530" class="wp-caption-text">Run or Execute Package and verify data into Google Spreadsheet</p></div></li>
</ol>
<h2><span id="Write_data_to_Google_Spread_Sheet">Append data to Google SpreadSheet using REST API Task</span></h2>
<p>Now let&#8217;s look at how to write to Google SpreadSheet. To write multiple rows in a single request. Also, check this link to <a href="https://developers.google.com/sheets/api/guides/values" target="_blank" rel="noopener">learn more</a>.</p>
<p>For more information, you can see the <a href="https://developers.google.com/sheets/api/samples/writing" target="_blank" rel="noopener">example here</a>. For parameter, detail review this API documentation.</p>
<p>You can use<a href="https://zappysys.com/products/ssis-powerpack/ssis-rest-api-web-service-task/" target="_blank" rel="noopener"> SSIS REST API Task</a> or <a href="https://zappysys.com/products/ssis-powerpack/ssis-web-api-destination-connector/" target="_blank" rel="noopener">Web API Destination</a> to achieve the Spreadsheet write scenario. For a simple example, let&#8217;s use the REST API Task.</p>
<ol>
<li>Drag and Drop ZS REST API Task on the control flow designer.
<div id="attachment_3777" style="width: 577px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/05/ssis-rest-api-task-share-post-on-linkedin.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3777" class="wp-image-3777 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/05/ssis-rest-api-task-share-post-on-linkedin.png" alt="Drag and Drop REST API Task" width="567" height="297" srcset="https://zappysys.com/blog/wp-content/uploads/2018/05/ssis-rest-api-task-share-post-on-linkedin.png 567w, https://zappysys.com/blog/wp-content/uploads/2018/05/ssis-rest-api-task-share-post-on-linkedin-300x157.png 300w" sizes="(max-width: 567px) 100vw, 567px" /></a><p id="caption-attachment-3777" class="wp-caption-text">Drag and Drop REST API Task</p></div></li>
<li>Double click on ZS REST API Task to configure it.</li>
<li>In the Request Settings tab,
<ol>
<li>set Request URL Access Mode to Url from a connection. Select OAuth Connection from the dropdown (Same connection we created in the previous section).</li>
<li>Enter the URL below. Change Sheet ID, Range designator(including Sheet name) and API URL Parameters as per your need.<br />
<pre class="crayon-plain-tag">https://sheets.googleapis.com/v4/spreadsheets/{{User::varGoogleSpreadsheetID}}/values/{{User::varRange}}:{{User::varSpreadsheetValues}}?valueInputOption={{User::varValueInputOption}}</pre>
<strong>Example URL without variables (some part masked with xxxxxxxx):</strong><br />
<pre class="crayon-plain-tag">https://sheets.googleapis.com/v4/spreadsheets/1tuGO3_-2JlSmyiHwX6xxxxxxxxCHrORJc/values/Sheet1!A1:append?valueInputOption=USER_ENTERED</pre>
</li>
<li>Change Request Method to <strong>POST.</strong></li>
<li>Enter Request Body as below<br />
<div class="su-note"  style="border-color:#e5de9d;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><div class="su-note-inner su-u-clearfix su-u-trim" style="background-color:#fff8b7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><strong>Note:</strong> For example purpose, we included header line in data cells but in the real-world header may already exist in the sheet.</div></div>
<pre class="crayon-plain-tag">{
  "range": "{{User::varRange}}",
  "majorDimension": "ROWS",
  "values": [
    ["Item", "Cost", "Stocked", "Ship Date"],
    ["Wheel", "$20.50", "4", "3/1/2016"],
    ["Door", "$15", "2", "3/15/2016"],
    ["Engine", "$100", "1", "3/20/2016"],
    ["Totals", "=SUM(B2:B4)", "=SUM(C2:C4)", "=MAX(D2:D4)"]
  ]
}</pre>
</li>
<li>Change Request Content type to <strong><strong><strong>application/JSON.</strong></strong></strong>
<div id="attachment_8482" style="width: 1335px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-post-google-spreadsheet-using-rest-api-oauth.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8482" class="wp-image-8482 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-post-google-spreadsheet-using-rest-api-oauth.png" alt="Write data to Google SpreadSheet using REST API Task (OAuth 2.0 Connection)" width="1325" height="762" srcset="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-post-google-spreadsheet-using-rest-api-oauth.png 1325w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-post-google-spreadsheet-using-rest-api-oauth-300x173.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-post-google-spreadsheet-using-rest-api-oauth-768x442.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-post-google-spreadsheet-using-rest-api-oauth-1024x589.png 1024w" sizes="(max-width: 1325px) 100vw, 1325px" /></a><p id="caption-attachment-8482" class="wp-caption-text">Write data to Google SpreadSheet using REST API Task (OAuth 2.0 Connection)</p></div></li>
</ol>
</li>
<li>Click on the OK button to save REST API Task configure setting UI.</li>
<li>That&#8217;s all, You are ready to Run or Execute Task and verify data into Google spreadsheet.
<div id="attachment_8481" style="width: 1390px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-using-rest-api-oauth-post-execute.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8481" class="wp-image-8481 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-using-rest-api-oauth-post-execute.png" alt="Execute REST API Task and verify Google Spreadsheet data " width="1380" height="671" srcset="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-using-rest-api-oauth-post-execute.png 1380w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-using-rest-api-oauth-post-execute-300x146.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-using-rest-api-oauth-post-execute-768x373.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-google-spreadsheet-using-rest-api-oauth-post-execute-1024x498.png 1024w" sizes="(max-width: 1380px) 100vw, 1380px" /></a><p id="caption-attachment-8481" class="wp-caption-text">Execute REST API Task and verify Google Spreadsheet data</p></div></li>
</ol>
<h2><span id="Update_Google_Sheet_Cells_8211_Single_Range_Set_Values_for_multiple_cells">Update Google Sheet Cells</span></h2>
<p>Now let’s look at the below example of updating multiple cells in google Spreadsheet. For more information, you can see the <a href="https://developers.google.com/sheets/api/samples/writing" target="_blank" rel="noopener">example here</a>. For parameter, detail review this API documentation.</p>
<p>You can use<a href="https://zappysys.com/products/ssis-powerpack/ssis-rest-api-web-service-task/" target="_blank" rel="noopener"> SSIS REST API Task</a> or <a href="https://zappysys.com/products/ssis-powerpack/ssis-web-api-destination-connector/" target="_blank" rel="noopener">Web API Destination</a> to achieve the Spreadsheet Update scenario. For a simple example, let&#8217;s use the REST API Task.</p>
<h3>Update Google Sheet header cells manually</h3>
<ol>
<li>Drag and drop ZS REST API Tasks on the control flow designer.</li>
<li>Double click on the First REST API Task to configure it.</li>
<li>In the Request Settings tab,
<ol>
<li>Enter the URL below. Change Range designator(including Sheet name: <strong>Sheet1!A1</strong>) and API URL Parameters as per your need.<br />
<pre class="crayon-plain-tag">https://sheets.googleapis.com/v4/spreadsheets/{{User::varGoogleSpreadsheetID}}/values/{{User::varRange}}?valueInputOption={{User::varValueInputOption}}</pre>
<strong>Example URL without variables (some part masked with xxxxxxxx):</strong><br />
<pre class="crayon-plain-tag">https://sheets.googleapis.com/v4/spreadsheets/1tuGO3_-2JlSmyiHwX6xxxxxxxxCHrORJc/values/Sheet1!A1?valueInputOption=USER_ENTERED</pre>
</li>
<li>Change Request Method to <strong>PUT.</strong></li>
<li>Enter Request Body as below<br />
<pre class="crayon-plain-tag">{
  "range": "{{User::varRange}}",
  "majorDimension": "ROWS",
  "values": [
    ["CustomerID", "CustomerName"]
  ]
}</pre>
</li>
</ol>
</li>
<li>Click on the OK button to save REST API Task configure setting UI.</li>
<li>That&#8217;s all, You are ready to Run or Execute Task and verify data into Google spreadsheet.<br />
<a href="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-update-put-google-spreadsheet-using-rest-api-oauth.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-8532" src="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-update-put-google-spreadsheet-using-rest-api-oauth.png" alt="" width="1318" height="677" srcset="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-update-put-google-spreadsheet-using-rest-api-oauth.png 1318w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-update-put-google-spreadsheet-using-rest-api-oauth-300x154.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-update-put-google-spreadsheet-using-rest-api-oauth-768x394.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-update-put-google-spreadsheet-using-rest-api-oauth-1024x526.png 1024w" sizes="(max-width: 1318px) 100vw, 1318px" /></a></li>
</ol>
<h3><span id="Update_Google_Sheet_Cells_8211_Single_Range_Set_Values_for_multiple_cells">Single Range (Set Values for multiple cells)</span></h3>
<ol>
<li>Follow the previous section(write data to Google Spreadsheet) to update sheet data.</li>
<li>In the Request Settings tab,
<ol>
<li>Enter the URL below. Change Sheet ID, Range designator(including Sheet name) and API URL Parameters as per your need.<br />
<pre class="crayon-plain-tag">https://sheets.googleapis.com/v4/spreadsheets/{{User::varGoogleSpreadsheetID}}/values/{{User::varRange}}?valueInputOption={{User::varValueInputOption}}</pre>
<strong>Example URL without variables (some part masked with xxxxxxxx):</strong><br />
<pre class="crayon-plain-tag">https://sheets.googleapis.com/v4/spreadsheets/1tuGO3_-2JlSmyiHwX6xxxxxxxxCHrORJc/values/Sheet1!A2:B4?valueInputOption=USER_ENTERED</pre>
</li>
<li>Change Request Method to <strong>PUT.</strong></li>
<li>Enter Request Body as below<br />
<pre class="crayon-plain-tag">{
  "range": "{{User::varRange}}",
  "majorDimension": "ROWS",
  "values": [
    ["Laptop", "$2000.50"],
    ["Mobile", "$1150"]
  ]
}</pre>
</li>
</ol>
</li>
<li>That&#8217;s all, click on the Test Request/Response button and verify data into Google spreadsheet.
<div id="attachment_8485" style="width: 1610px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-put-google-spreadsheet-using-rest-api-oauth.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8485" class="wp-image-8485 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-put-google-spreadsheet-using-rest-api-oauth.png" alt="Calling Google Sheet API to Update Multiple Cell Values" width="1600" height="860" srcset="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-put-google-spreadsheet-using-rest-api-oauth.png 1600w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-put-google-spreadsheet-using-rest-api-oauth-300x161.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-put-google-spreadsheet-using-rest-api-oauth-768x413.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-write-put-google-spreadsheet-using-rest-api-oauth-1024x550.png 1024w" sizes="(max-width: 1600px) 100vw, 1600px" /></a><p id="caption-attachment-8485" class="wp-caption-text">Calling Google Sheet API to Update Multiple Cell Values</p></div></li>
</ol>
<h2><span id="Write_data_to_Google_Spread_Sheet">Clear data to Google SpreadSheet using REST API Task</span></h2>
<h3 id="clear_a_sheet_of_all_values_while_preserving_formats">Clear a sheet of all values while preserving formats</h3>
<p>Lets clear a sheet of all values by REST API Task, Before processed we need sheet Id. So let&#8217;s get the SheetId by API Call. For more information about click <a href="https://developers.google.com/sheets/api/samples/sheet#clear_a_sheet_of_all_values_while_preserving_formats" target="_blank" rel="noopener">here.</a></p>
<ol>
<li>Drag and Drop two ZS REST API Tasks on the control flow designer and rename(Get Sheet ID and Clear Google Sheet of all values) it.</li>
<li>Double click on the First REST API(Get Sheet ID) Task to configure it.</li>
<li>In the Request Settings tab,
<ol>
<li>Enter the URL below. Change Sheet ID and API URL Parameters as per your need.<br />
<pre class="crayon-plain-tag">https://sheets.googleapis.com/v4/spreadsheets/{{User::varGoogleSpreadsheetID}}</pre>
<strong>Example URL without variables (some part masked with xxxxxxxx):</strong><br />
<pre class="crayon-plain-tag">https://sheets.googleapis.com/v4/spreadsheets/1tuGO3_-2JlSmyiHwX6xxxxxxxxCHrORJc</pre>
</li>
<li>Change Request Method to <strong><strong>GET.<br />
</strong></strong><a href="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-clear-google-spreadsheet-using-rest-api-oauth-getsheetid.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="wp-image-8515 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-clear-google-spreadsheet-using-rest-api-oauth-getsheetid.png" alt="REST API Task - Get Google Sheet ID" width="923" height="661" srcset="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-clear-google-spreadsheet-using-rest-api-oauth-getsheetid.png 923w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-clear-google-spreadsheet-using-rest-api-oauth-getsheetid-300x215.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-clear-google-spreadsheet-using-rest-api-oauth-getsheetid-768x550.png 768w" sizes="(max-width: 923px) 100vw, 923px" /></a>REST API Task &#8211; Get Google Sheet ID</li>
</ol>
</li>
<li>Now go to Response Settings Tab, Select Response content Type Json and Write Response Content Filter Expression. Check on Save Response Content. Select Save Mode to Variable and Create a New variable or select it.<br />
<strong>Example of Response Content Filter Expression for the first Sheet : </strong><br />
<pre class="crayon-plain-tag">$.sheets.[0].properties.sheetId</pre>
<div id="attachment_8517" style="width: 757px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-clear-google-spreadsheet-using-rest-api-oauth-savesheetid.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8517" class="wp-image-8517 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-clear-google-spreadsheet-using-rest-api-oauth-savesheetid.png" alt="REST API Task - Save Google Sheet ID into Variable" width="747" height="613" srcset="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-clear-google-spreadsheet-using-rest-api-oauth-savesheetid.png 747w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-clear-google-spreadsheet-using-rest-api-oauth-savesheetid-300x246.png 300w" sizes="(max-width: 747px) 100vw, 747px" /></a><p id="caption-attachment-8517" class="wp-caption-text">REST API Task &#8211; Save Google Sheet ID into Variable</p></div></li>
<li>Now, click on the Test Request/Response to check configures are ok.</li>
<li>Click on the OK button to save REST API Task configure setting UI.</li>
<li>Double click on the second REST API(Clear Google Sheet of all values) Task to configure it.</li>
<li>In the Request Settings tab,
<ol>
<li>Enter the URL below. Change Sheet ID and API URL Parameters as per your need.<br />
<pre class="crayon-plain-tag">https://sheets.googleapis.com/v4/spreadsheets/{{User::varGoogleSpreadsheetID}}:batchUpdate</pre>
<strong>Example URL without variables (some part masked with xxxxxxxx):</strong><br />
<pre class="crayon-plain-tag">https://sheets.googleapis.com/v4/spreadsheets/1tuGO3_-2JlSmyiHwX6xxxxxxxxCHrORJc:batchUpdate</pre>
</li>
<li>Change Request Method to <strong>POST. </strong>Enter Request Body as below and change a variable parameter as per your need.<br />
<pre class="crayon-plain-tag">{
  "requests": [
    {
      "updateCells": {
        "range": {
          "sheetId": {{User::varGoogleSheetID}}
        },
        "fields": "userEnteredValue"
      }
    }
  ]
}</pre>
</li>
<li>Change Request Content type to <strong>application/JSON.<br />
</strong></p>
<div id="attachment_8518" style="width: 1109px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-clear-google-spreadsheet-using-rest-api-oauth.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8518" class="wp-image-8518 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-clear-google-spreadsheet-using-rest-api-oauth.png" alt="REST API Task Configure - Clear sheet of all values" width="1099" height="763" srcset="https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-clear-google-spreadsheet-using-rest-api-oauth.png 1099w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-clear-google-spreadsheet-using-rest-api-oauth-300x208.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-clear-google-spreadsheet-using-rest-api-oauth-768x533.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/12/ssis-clear-google-spreadsheet-using-rest-api-oauth-1024x711.png 1024w" sizes="(max-width: 1099px) 100vw, 1099px" /></a><p id="caption-attachment-8518" class="wp-caption-text">REST API Task Configure &#8211; Clear sheet of all values</p></div></li>
</ol>
</li>
<li>Click on the OK button to save REST API Task configure setting UI.</li>
<li>That&#8217;s all, You are ready to Run or Execute Task and verify data into Google spreadsheet.</li>
</ol>
<h3>Clears range cell values from a spreadsheet</h3>
<ol>
<li>Double click on REST API Task to configure it. Then, follow the way just like the previous section configures REST API Task.</li>
<li>Here you need to set the value of Variable &#8220;<strong>varSpreadsheetValues</strong>&#8221; to &#8220;<strong>clear</strong>&#8221; or you can change it directly in URL <strong>append to clear </strong>and value of variable &#8220;<strong>varRange</strong>&#8221; (Change cell range and sheet name) as per your need. For more information about it click <a href="https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/clear" target="_blank" rel="noopener">here.</a>
<ol>
<li>Enter the URL below. Change Sheet ID, Range designator(including Sheet name) and API URL Parameters as per your need.<br />
<pre class="crayon-plain-tag">https://sheets.googleapis.com/v4/spreadsheets/{{User::varGoogleSpreadsheetID}}/values/{{User::varRange}}:{{User::varSpreadsheetValues}}?valueInputOption={{User::varValueInputOption}}</pre>
<strong>Example URL without variables (some part masked with xxxxxxxx):</strong><br />
<pre class="crayon-plain-tag">https://sheets.googleapis.com/v4/spreadsheets/1tuGO3_-2JlSmyiHwX6xxxxxxxxCHrORJc/values/Sheet1!A2:B4:clear?valueInputOption=USER_ENTERED</pre>
</li>
</ol>
</li>
<li>Change Request Method to <strong>POST.</strong></li>
<li>Enter Request Body as below<br />
<pre class="crayon-plain-tag">{}</pre>
</li>
<li>Change Request Content type to <strong><strong><strong>application/JSON.</strong></strong></strong></li>
<li>That&#8217;s all, click on the Test Request/Response button and verify data into Google spreadsheet.</li>
</ol>
<h2><span id="Conclusion">Conclusion</span></h2>
<p>Google Drive API and Google Sheets API provide a great way to automate file-related functionality. However, to call Google API  you have to use the SDK / coding approach (e.g. C#, Java, Python, Ruby). Luckily ZappySys <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">SSIS PowerPack</a> provides a great way to integrate any Google API call via simple drag and drop approach without coding. Try out yourself see how long it takes to call virtually any REST API.</p>
<h2>References</h2>
<p>Finally, you can use the following links for more information:</p>
<ul>
<li><a href="https://zappysys.com/products/ssis-powerpack/ssis-json-generator-transform/" target="_blank" rel="noopener">JSON Generator Transform</a></li>
<li><a href="https://zappysys.com/products/ssis-powerpack/ssis-web-api-destination-connector/" target="_blank" rel="noopener">Web API Destination</a></li>
<li><a href="https://zappysys.com/products/ssis-powerpack/ssis-rest-api-web-service-task/" target="_blank" rel="noopener">REST API Task</a></li>
<li>Help File:
<ul>
<li><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-json-generator-transform.htm" target="_blank" rel="noopener">JSON Generator Transform</a></li>
<li><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-web-api-destination.htm" target="_blank" rel="noopener">Web API Destination</a></li>
<li><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-rest-api-web-service-task.htm" target="_blank" rel="noopener">REST API Task</a></li>
</ul>
</li>
</ul>
<p>The post <a href="https://zappysys.com/blog/write-update-google-sheet-ssis/">How to write/update Google Sheet in SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to Read / Write / Delete Amazon SQS Queue data in SSIS</title>
		<link>https://zappysys.com/blog/read-write-amazon-sqs-queue-data-ssis/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Mon, 19 Aug 2019 12:17:48 +0000</pubDate>
				<category><![CDATA[SSIS Amazon SQS Destination]]></category>
		<category><![CDATA[SSIS Amazon SQS Source]]></category>
		<category><![CDATA[Adapter]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[amazon sqs]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[Connection]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Destination]]></category>
		<category><![CDATA[Dummy]]></category>
		<category><![CDATA[read]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[sqs]]></category>
		<category><![CDATA[ssis]]></category>
		<category><![CDATA[Trash]]></category>
		<category><![CDATA[write]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=7799</guid>

					<description><![CDATA[<p>Introduction ZappySys provides high-performance drag and drop connectors for Amazon AWS Integration. In this post, we will see How to Read / Write / Delete Amazon SQS Queue data in SSIS using ZS Amazon SQS components. ZappySys developed many AWS related components but in this article, we will look at 2 components for Amazon SQS [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/read-write-amazon-sqs-queue-data-ssis/">How to Read / Write / Delete Amazon SQS Queue data in SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p><a href="https://zappysys.com/blog/wp-content/uploads/2019/08/amazon-sqs_512.png"><img loading="lazy" decoding="async" class="size-thumbnail wp-image-7800 alignleft" src="https://zappysys.com/blog/wp-content/uploads/2019/08/amazon-sqs_512-150x150.png" alt="" width="150" height="150" srcset="https://zappysys.com/blog/wp-content/uploads/2019/08/amazon-sqs_512-150x150.png 150w, https://zappysys.com/blog/wp-content/uploads/2019/08/amazon-sqs_512-300x300.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/08/amazon-sqs_512.png 512w" sizes="(max-width: 150px) 100vw, 150px" /></a>ZappySys provides high-performance drag and drop connectors for Amazon AWS Integration. In this post, we will see How to Read / Write / Delete Amazon SQS Queue data in SSIS using ZS Amazon SQS components. ZappySys developed many AWS related components but in this article, we will look at 2 components for Amazon SQS Queue integration Scenarios (Read and Write). We will discuss how to use <a href="https://zappysys.com/products/ssis-powerpack/ssis-amazon-sqs-source-connector/" target="_blank" rel="noopener">SSIS Amazon SQS Source</a> and <a href="https://zappysys.com/products/ssis-powerpack/ssis-amazon-sqs-destination-connector/" target="_blank" rel="noopener">SSIS Amazon SQS Destination.</a> <i>Amazon SQS Source</i> can be used to read messages from Amazon AWS SQS (Simple Queue Storage) and <i>Amazon SQS Destination</i> can be used to write/delete data from Amazon SQS (Simple Queue Storage) using SSIS.</p>
<p>&nbsp;</p>
<h2>Prerequisite</h2>
<p>Before we perform the steps listed in this article, you will need to make sure the following prerequisites are met:</p>
<ul>
<li>First, you will need to have SSIS installed.</li>
<li>Secondly, make sure to have SSDT.</li>
<li>Thirdly, you have obtained Amazon SQS Credentials.</li>
<li>Finally, do not forget to install <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">ZappySys SSIS PowerPack.</a></li>
</ul>
<h2>Component Mention in this article</h2>
<div class="su-table su-table-alternate">
<table style="height: 44px;width: 307px">
<tbody>
<tr style="height: 22px">
<td style="height: 22px;width: 1px"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-source/ssis-amazon-sqs-source.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="alignnone wp-image-3074" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-source/ssis-amazon-sqs-source.png" alt="" width="40" height="40" /></a></td>
<td style="height: 22px;width: 247px"><a href="https://zappysys.com/products/ssis-powerpack/ssis-amazon-sqs-source-connector/" target="_blank" rel="noopener">Amazon SQS Source Connector</a></td>
</tr>
<tr style="height: 22px">
<td style="height: 22px;width: 1px"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-destination/ssis-amazon-sqs-destination.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="alignnone wp-image-3074" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-destination/ssis-amazon-sqs-destination.png" alt="" width="40" height="40" /></a></td>
<td style="height: 22px;width: 247px"><a href="https://zappysys.com/products/ssis-powerpack/ssis-amazon-sqs-destination-connector/" target="_blank" rel="noopener">Amazon SQS Destination Connector</a></td>
</tr>
</tbody>
</table>
</div>
<h2>What is Amazon SQS (Simple Queue Service)</h2>
<p>Before we talk <strong>How to Read / Write / Delete Amazon SQS Queue data in SSIS </strong>lets talk What is Amazon SQS (Simple Queue Service) or sometimes referred to as AWS SQS. Amazon SQS offers a secure, durable, and available hosted queue that lets you integrate and decouple distributed software systems and components. Amazon SQS offers common constructs such as <a href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html" target="_blank" rel="noopener">dead-letter queues</a> and <a href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-tags.html" target="_blank" rel="noopener">costs allocation tags</a>. It provides a generic web services API and it can be accessed by any programming language that the AWS SDK supports.</p>
<p>SQS offers two types of message queues. Standard queues offer maximum throughput, best-effort ordering, and at-least-once delivery. SQS FIFO queues are designed to guarantee that messages are processed exactly once, in the exact order that they are sent.</p>
<h2>Getting Started</h2>
<p>In order to start, we will show several examples. ZappySys includes an Amazon SQS Source and Amazon SQS Destination, that will help you How to Read / Write / Delete Amazon SQS Queue data in SSIS. You can connect to your Amazon SQS account by entering credentials.</p>
<p><i>Amazon SQS Source</i> can be used to read messages from Amazon AWS SQS (Simple Queue Storage) using SSIS. Read Amazon SQS Messages (AWS SQS) in bulk. <i>Amazon SQS Destination</i> can be used to write/delete data from Amazon SQS (Simple Queue Storage) using SSIS. Write messages to Amazon SQS (AWS SQS) in bulk. Support for Visibility Timeout (Hide messages from others for certain time after you read), data preview and max rows, reading message attributes in separate output columns and adjusting UTC DateTime in local time.</p>
<h2>Write Data using Amazon SQS Destination in SSIS</h2>
<h3>Overview</h3>
<p>In this tutorial, you will learn how to write data in Amazon SQS Queue storage. You can use <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/dummydata-source.htm" target="_blank" rel="noopener">ZS DummyData Source</a> for practice it or select suitable <a href="https://zappysys.com/onlinehelp/ssis-powerpack/index.htm#page=ssis-source-adapters.htm" target="_blank" rel="noopener">ZS Source Adapters</a>. In this case its from ZS DummyData Source. So let&#8217;s start with an example, In this section, you will learn how to write messages into Amazon SQS Queue. For this example, we are assuming that you have already SQS Queue Created.</p>
<h3>Create Amazon SQS Connection</h3>
<ol>
<li>Firstly, In order to connect to Amazon SQS from SSIS, you will need Access Key and Secret Key (Login to AWS portal and Create Access/Secret Key with SQS service read access). If you are not sure about this ask your SysAdmin or responsible person to provide that to you. Your key will look something like this: <strong>(This is just an example key which may differ in your case).<br />
</strong><br />
<pre class="crayon-plain-tag">AccessKey: AKIAIOSFODNN7EXAMPLE
SecretKey: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY</pre>
<a href="http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html" target="_blank" rel="noopener">Click here</a> to read more about how to get your AccessKey and Secret Key.</li>
<li>Secondly, Once you have Account Key (it&#8217;s like UserID) and Secret Key (its like password) you may proceed to create a new SSIS package. In BIDS/SSDT create a new SSIS package.</li>
<li>Right-click in Connection Manager Panel and Select [New Connection] menu item.
<div style="width: 268px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-dynamodb-destination/ssis-aws-dynamodb-pick-connection-type-click.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-dynamodb-destination/ssis-aws-dynamodb-pick-connection-type-click.png" alt="SSIS Create AWS Storage Connection" width="258" height="182" /></a><p class="wp-caption-text">SSIS Create AWS Storage Connection</p></div></li>
<li>Now Select ZS-AWS-STORAGE connection type.
<div style="width: 424px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-dynamodb-destination/ssis-aws-dynamodb-pick-connection-type.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-dynamodb-destination/ssis-aws-dynamodb-pick-connection-type.png" alt="Select ZS-AWS-STORAGE Connection" width="414" height="321" /></a><p class="wp-caption-text">Select ZS-AWS-STORAGE Connection</p></div></li>
<li>Let&#8217;s configure the Amazon SQS connection. Set Storage Service to SQS and Credential Type to Key-based access control. In the General tab enter your Amazon SQS Credentials and Set Default region as per you have.
<div style="width: 603px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-source/ssis-amazon-sqs-source-create-new-connection.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-source/ssis-amazon-sqs-source-create-new-connection.png" alt="SSIS AWS Storage Connection - Configure" width="593" height="667" /></a><p class="wp-caption-text">SSIS AWS Storage Connection &#8211; Configure</p></div></li>
<li>In the last, click on Test Connection and OK button to Save connection configure setting UI.</li>
</ol>
<h3>Write Data into Amazon SQS</h3>
<ol>
<li>Once you have created the Amazon SQS Connection successfully, let&#8217;s drag and Drop Data Flow Task from SSIS Toolbox on the control flow designer surface.
<div id="attachment_7934" style="width: 470px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/09/ssis-drag-drop-data-flow-task.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7934" class="wp-image-7934 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/09/ssis-drag-drop-data-flow-task.png" alt="Drag and Drop SSIS Data Flow Task from SSIS Toolbox" width="460" height="155" srcset="https://zappysys.com/blog/wp-content/uploads/2019/09/ssis-drag-drop-data-flow-task.png 460w, https://zappysys.com/blog/wp-content/uploads/2019/09/ssis-drag-drop-data-flow-task-300x101.png 300w" sizes="(max-width: 460px) 100vw, 460px" /></a><p id="caption-attachment-7934" class="wp-caption-text">Drag and Drop SSIS Data Flow Task from SSIS Toolbox</p></div></li>
<li>Double click on the Data Flow Task to see Data Flow Designer surface.</li>
<li>Here, from the SSIS Toolbox drag and drop ZS DummyData Source on the data flow designer surface.
<div style="width: 492px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/dummy-data-Source/ssis-dummy-data-source-adapter-drag.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/dummy-data-Source/ssis-dummy-data-source-adapter-drag.png" alt="SSIS ZS Dummy Data Source - Drag and Drop" width="482" height="120" /></a><p class="wp-caption-text">SSIS ZS Dummy Data Source &#8211; Drag and Drop</p></div></li>
<li>Double click on Dummy Data Source to configure it.
<div style="width: 500px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-destination/ssis-dummy-data-source-generate-fake-json-documents.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-destination/ssis-dummy-data-source-generate-fake-json-documents.png" alt="SSIS ZS Dummy Data Source - Configure" width="490" height="537" /></a><p class="wp-caption-text">SSIS ZS Dummy Data Source &#8211; Configure</p></div></li>
<li>Click on OK button to save configure setting UI.</li>
<li>From the SSIS toolbox drag and drop Amazon SQS Destination on the Data flow designer surface and single click on the Dummy Data Source, Once you see the blue arrow from the source. connect it to Amazon SQS Destination.
<div style="width: 521px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-destination/ssis-amazon-sqs-destination-drag.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-destination/ssis-amazon-sqs-destination-drag.png" alt="SSIS ZS Amazon SQS Destination" width="511" height="180" /></a><p class="wp-caption-text">SSIS ZS Amazon SQS Destination</p></div></li>
<li>Now double click on Amazon SQS Destination to configure it.</li>
<li>In the [Connection Manager] tab select SQS connection manager we have created before it.
<div style="width: 673px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-destination/ssis-amazon-sqs-destination-select-adapter-connection.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-destination/ssis-amazon-sqs-destination-select-adapter-connection.png" alt="SSIS Amazon SQS Destination - Configure Connection Manager" width="663" height="275" /></a><p class="wp-caption-text">SSIS Amazon SQS Destination &#8211; Configure Connection Manager</p></div></li>
<li>Click on [Component Properties] tab and Select Target Queue from the dropdown list.
<div style="width: 817px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-destination/ssis-amazon-sqs-destination-select-queue.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-destination/ssis-amazon-sqs-destination-select-queue.png" alt="SSIS ZS Amazon SQS Destination - Configure Component Properties" width="807" height="408" /></a><p class="wp-caption-text">SSIS ZS Amazon SQS Destination &#8211; Configure Component Properties</p></div></li>
<li>Click on [Mappings] tab and verify mapping. Map document column from upstream to the MessageText target column.
<div style="width: 655px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-destination/ssis-amazon-sqs-destination-select-mappings.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-destination/ssis-amazon-sqs-destination-select-mappings.png" alt="SSIS ZS Amazon SQS Destination - Column Mappings" width="645" height="518" /></a><p class="wp-caption-text">SSIS ZS Amazon SQS Destination &#8211; Column Mappings</p></div></li>
<li>In the last, click on the OK button to save configure setting UI.</li>
<li>After all, Execute the Package and verify target data by going to your AWS console under SQS service section.
<div style="width: 338px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-destination/ssis-amazon-sqs-destination-insert-messages.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-destination/ssis-amazon-sqs-destination-insert-messages.png" alt="Run or Execute SSIS Package" width="328" height="302" /></a><p class="wp-caption-text">Run or Execute SSIS Package</p></div>
<div style="width: 776px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-destination/check-aws-sqs-message-verify-count-console.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-destination/check-aws-sqs-message-verify-count-console.png" alt="Verify Amazon SQS Destination" width="766" height="565" /></a><p class="wp-caption-text">Verify Amazon SQS Destination</p></div></li>
</ol>
<h2>Read Data using Amazon SQS Source in SSIS</h2>
<h3>Overview</h3>
<p>In this tutorial, you will learn how to read data from Amazon SQS storage in SSIS using ZS SSIS Amazon SQS Source Adapter. In this SSIS we will read data. So let&#8217;s begin it.</p>
<h3>Read Data from Amazon SQS</h3>
<ol>
<li>Firstly, create a new SSIS package. In BIDS/SSDT create a new SSIS package.</li>
<li>From the SSIS toolbox drag and drop Data Flow Task on the control flow designer surface.
<div style="width: 470px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/drag-and-drop-data-flow-task.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/drag-and-drop-data-flow-task.png" alt="SSIS Data Flow Task - Drag and Drop" width="460" height="155" /></a><p class="wp-caption-text">SSIS Data Flow Task &#8211; Drag and Drop</p></div></li>
<li>Double click on the DataFlow task to see DataFlow designer surface.</li>
<li>From the SSIS toolbox drag and drop ZS Amazon SQS Source on the dataflow designer surface.<br />
<img loading="lazy" decoding="async" class="alignnone size-thumbnail" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-source/ssis-amazon-sqs-source-drag.png" width="474" height="101" /></li>
<li>Double click Amazon SQS Source to configure it.</li>
<li>Select Amazon SQS Connection we have created before and select queue from the dropdown list.
<div style="width: 908px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-source/ssis-amazon-sqs-source-preview-messages.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-source/ssis-amazon-sqs-source-preview-messages.png" alt="SSIS Amazon SQS Source - Configure" width="898" height="601" /></a><p class="wp-caption-text">SSIS Amazon SQS Source &#8211; Configure</p></div></li>
<li> Click on Preview button to see Data Preview and Click on  OK button to save settings.</li>
<li>From the SSIS toolbox drag and drop Trash Destination on the data flow designer surface or you can use any of our suitable <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-destination-adapters.htm" target="_blank" rel="noopener">ZS Destination Adapter.</a>
<div style="width: 529px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ssis-trash-destination-adapter-drag.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ssis-trash-destination-adapter-drag.png" alt="SSIS ZS Trash Destination - Drag and Drop" width="519" height="121" /></a><p class="wp-caption-text">SSIS ZS Trash Destination &#8211; Drag and Drop</p></div></li>
<li>Now single click on the Amazon SQS Source once you see the blue arrow from the source &#8230; connect it to Trash Destination.</li>
<li>Double click on ZS Trash Destination to Configure it.
<div style="width: 622px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ui-trash-destination-settings.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ui-trash-destination-settings.png" alt="SSIS ZS Trash Destination - Configure" width="612" height="523" /></a><p class="wp-caption-text">SSIS ZS Trash Destination &#8211; Configure</p></div></li>
<li>Click on OK button to save Trash Destination configure setting UI.</li>
<li>After all, right-click on the path and Add Data Viewer and Execute the package and verify source data in the data viewer.
<div style="width: 653px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-source/ssis-read-messages-from-amazon-sqs-queue.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-source/ssis-read-messages-from-amazon-sqs-queue.png" alt="Run or Execute The SSIS Package" width="643" height="459" /></a><p class="wp-caption-text">Run or Execute The SSIS Package</p></div></li>
<li>After messages read from SQS Queue, the same message cannot be read again until VisibilityTimeout. By default Queue, visibility timeout is used (-1 means use default) but you can override it on the source UI.</li>
</ol>
<p>&nbsp;</p>
<h3>Read all messages from SQS FIFO Queue</h3>
<p>If you are using Normal SQS Queue then by setting <strong>Max Rows=0</strong> will read all messages from your queue. However reading all messages from <a href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html" target="_blank" rel="noopener">FIFO Queue</a> is not that simple. Amazon SQS wont return more messages until you delete previously read Messages from same Message Group (identified by MessageGroupId). Due to this constraint you have to try below technique of Loop to read 10 messages until all messages Read &gt; Processed  &gt; Deleted.</p>
<p>Here is note from Amazon Documentation about maximum 10 messages limitation on FIFO Queue.</p><pre class="crayon-plain-tag">When you receive a message with a message group ID, no more messages for the same message group ID are returned unless you delete the message or it becomes visible.</pre><p>
<strong>Community Reference:</strong></p>
<p><a href="https://stackoverflow.com/questions/51661834/aws-sqs-fifo-how-to-get-more-than-10-messages-at-a-time" target="_blank" rel="noopener">https://stackoverflow.com/questions/51661834/aws-sqs-fifo-how-to-get-more-than-10-messages-at-a-time</a></p>
<p>If you want to add fault tolerance then you can set Max Retry for NULL Receive like below (e.g. Setting MaxRetry=3 will try max 3 times if no message is read &#8230;. It will try every 2 seconds for 3 times before giving up to read more rows).</p>
<div id="attachment_8723" style="width: 940px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/08/amazon-aws-sqs-fifo-queue-read-all-messages.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8723" class="size-full wp-image-8723" src="https://zappysys.com/blog/wp-content/uploads/2019/08/amazon-aws-sqs-fifo-queue-read-all-messages.png" alt="Read all messages from Amazon SQS FIFO Queue" width="930" height="666" srcset="https://zappysys.com/blog/wp-content/uploads/2019/08/amazon-aws-sqs-fifo-queue-read-all-messages.png 930w, https://zappysys.com/blog/wp-content/uploads/2019/08/amazon-aws-sqs-fifo-queue-read-all-messages-300x215.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/08/amazon-aws-sqs-fifo-queue-read-all-messages-768x550.png 768w" sizes="(max-width: 930px) 100vw, 930px" /></a><p id="caption-attachment-8723" class="wp-caption-text">Read all messages from Amazon SQS FIFO Queue</p></div>
<p>&nbsp;</p>
<div id="attachment_8724" style="width: 978px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/08/amazon-aws-sqs-fifo-read-process-delete-message-ssis.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8724" class="size-full wp-image-8724" src="https://zappysys.com/blog/wp-content/uploads/2019/08/amazon-aws-sqs-fifo-read-process-delete-message-ssis.png" alt="Read , Process and Delete Amazon SQS FIFO Queue Message in SSIS Data flow" width="968" height="587" srcset="https://zappysys.com/blog/wp-content/uploads/2019/08/amazon-aws-sqs-fifo-read-process-delete-message-ssis.png 968w, https://zappysys.com/blog/wp-content/uploads/2019/08/amazon-aws-sqs-fifo-read-process-delete-message-ssis-300x182.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/08/amazon-aws-sqs-fifo-read-process-delete-message-ssis-768x466.png 768w" sizes="(max-width: 968px) 100vw, 968px" /></a><p id="caption-attachment-8724" class="wp-caption-text">Read , Process and Delete Amazon SQS FIFO Queue Message in SSIS Data flow</p></div>
<p>&nbsp;</p>
<h2>Delete Message from Queue using Amazon SQS Destination in SSIS</h2>
<h3>Overview</h3>
<p>In this tutorial, you will learn how to Delete Messages from the Queue using the ZS SSIS Amazon SQS Destination Adapter. So let’s begin it.</p>
<h3>Delete Message from Queue</h3>
<ol>
<li>From the SSIS toolbox drag and drop Amazon SQS Destination on the Data flow designer surface and connect it to Amazon SQS Destination.</li>
<li>Now double click on Amazon SQS Destination to configure it.</li>
<li>In the [Connection Manager] tab select SQS connection manager we have created before it.
<div style="width: 673px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-destination/ssis-amazon-sqs-destination-select-adapter-connection.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-destination/ssis-amazon-sqs-destination-select-adapter-connection.png" alt="Select Amazon SQS Connection" width="663" height="275" /></a><p class="wp-caption-text">Select Amazon SQS Connection</p></div></li>
<li>Click on [Component Properties] tab, Set Operation to Delete and Select Target Queue from the dropdown list.
<div id="attachment_8662" style="width: 731px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-amazon-sqs-destination-select-delete-operation.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8662" class="wp-image-8662 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-amazon-sqs-destination-select-delete-operation.png" alt="Select Delete Operation and Queue" width="721" height="662" srcset="https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-amazon-sqs-destination-select-delete-operation.png 721w, https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-amazon-sqs-destination-select-delete-operation-300x275.png 300w" sizes="(max-width: 721px) 100vw, 721px" /></a><p id="caption-attachment-8662" class="wp-caption-text">Select Delete Operation and Queue</p></div></li>
<li>Click on [Column Mappings] tab and verify mapping. Map document column from upstream to the MessageText target column.
<div id="attachment_8663" style="width: 693px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/08/read-delete-message-from-aws-sqs-queue.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8663" class="wp-image-8663 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/08/read-delete-message-from-aws-sqs-queue.png" alt="Do Columns Mapping" width="683" height="410" srcset="https://zappysys.com/blog/wp-content/uploads/2019/08/read-delete-message-from-aws-sqs-queue.png 683w, https://zappysys.com/blog/wp-content/uploads/2019/08/read-delete-message-from-aws-sqs-queue-300x180.png 300w" sizes="(max-width: 683px) 100vw, 683px" /></a><p id="caption-attachment-8663" class="wp-caption-text">Do Columns Mapping</p></div></li>
<li>In the last, click on the OK button to save configure setting UI.</li>
<li>After all, Execute the Package and verify target data by going to your AWS console under SQS service section.</li>
</ol>
<h2>Purge All Messages from SQS Queue (Clear Queue)</h2>
<p>There will be a time you like to clear entire queue (i.e. Delete All Messages from Queue). Amazon recently added <a href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_PurgeQueue.html" target="_blank" rel="noopener">PurgeQueue API</a> feature so now its possible without doing Delete message technique mentioned in previous section. ZappySys support <a href="https://zappysys.com/blog/how-to-call-amazon-aws-api-using-ssis-ec2-lambda-api-gateway-sqs/" target="_blank" rel="noopener">calling any AWS API using REST API Task</a> along with AWS Provider in OAuth Connection. You can use same technique to call PurgeQueue API like below.</p>
<ol>
<li>Open SSIS Package and Drag <a href="https://zappysys.com/products/ssis-powerpack/ssis-rest-api-web-service-task/" target="_blank" rel="noopener">ZS REST API Task</a> from Control Flow Toolbox</li>
<li>Click on URL mode dropdown and change to URL from Connection.</li>
<li>From COnnection Dropdown select NEW ZS-OAuth connection</li>
<li>Configure OAuth connection to use <strong>Provider=Amazon AWS v4</strong>
<ol>
<li>Enter Access Key and Secret Key and click OK to save connection</li>
</ol>
</li>
<li>Enter below URL on REST API Task (Replace Queue ID and name with your own values) &#8211; Refer to your AWS Console / SQS Queue Properties to get this URL<br />
<pre class="crayon-plain-tag">https://sqs.ENTER-REGION-HERE.amazonaws.com/ENTER-QUEUE-ID-HERE/ENTER-QUEUE-NAME-HERE/?Action=PurgeQueue</pre>
Here is an example of Sample Queue from ZappySys Demo<br />
<pre class="crayon-plain-tag">https://sqs.us-east-1.amazonaws.com/718883169616/zappysystest.fifo/?Action=PurgeQueue</pre>
</li>
<li>Click ok to Save REST API Task</li>
</ol>
<div id="attachment_8722" style="width: 1217px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-amazon-aws-rest-api-call-purge-all-messages-from-queue.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8722" class="size-full wp-image-8722" src="https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-amazon-aws-rest-api-call-purge-all-messages-from-queue.png" alt="How to Purge Amazon SQS Queue in SSIS (Clear Queue / Delete All messages using PurgeQueue REST API)" width="1207" height="877" srcset="https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-amazon-aws-rest-api-call-purge-all-messages-from-queue.png 1207w, https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-amazon-aws-rest-api-call-purge-all-messages-from-queue-300x218.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-amazon-aws-rest-api-call-purge-all-messages-from-queue-768x558.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-amazon-aws-rest-api-call-purge-all-messages-from-queue-1024x744.png 1024w" sizes="(max-width: 1207px) 100vw, 1207px" /></a><p id="caption-attachment-8722" class="wp-caption-text">How to Purge Amazon SQS Queue in SSIS (Clear Queue / Delete All messages using PurgeQueue REST API)</p></div>
<h2>Conclusion</h2>
<p>So, In this blog, we learn How to Read / Write / Delete Amazon SQS Queue data in SSIS. We used Amazon SQS Destination for write data and Amazon SQS Source to read data. Additionally, you can <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">download SSIS PowerPack here</a> to try many other scenarios that are not discussed in this blog along with 70+ other components.</p>
<h2>References</h2>
<p>Finally, you can use the following links for more information:</p>
<ul>
<li><a href="https://zappysys.com/products/ssis-powerpack/ssis-amazon-sqs-source-connector/" target="_blank" rel="noopener">Amazon SQS Source</a></li>
<li><a href="https://zappysys.com/products/ssis-powerpack/ssis-amazon-sqs-destination-connector/" target="_blank" rel="noopener">Amazon SQS Destination</a></li>
<li><a href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html" target="_blank" rel="noopener">Documents of Amazon SQS</a></li>
<li>Help File:
<ul>
<li><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-amazon-sqs-queue-source.htm" target="_blank" rel="noopener">Amazon SQS Source</a></li>
<li><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-amazon-sqs-queue-destination.htm" target="_blank" rel="noopener">Amazon SQS Destination</a></li>
</ul>
</li>
</ul>
<p>The post <a href="https://zappysys.com/blog/read-write-amazon-sqs-queue-data-ssis/">How to Read / Write / Delete Amazon SQS Queue data in SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to Read / Write Amazon Redshift Data in SSIS</title>
		<link>https://zappysys.com/blog/read-write-amazon-redshift-data-ssis/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Fri, 16 Aug 2019 14:05:24 +0000</pubDate>
				<category><![CDATA[SSIS Amazon Redshift Destination]]></category>
		<category><![CDATA[SSIS Amazon Redshift Source]]></category>
		<category><![CDATA[Adapter]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[Connection]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Destination]]></category>
		<category><![CDATA[DummyData]]></category>
		<category><![CDATA[ole db]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[read]]></category>
		<category><![CDATA[redshift]]></category>
		<category><![CDATA[SERVER]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[ssdt]]></category>
		<category><![CDATA[ssis]]></category>
		<category><![CDATA[Trash]]></category>
		<category><![CDATA[variable]]></category>
		<category><![CDATA[write]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=7771</guid>

					<description><![CDATA[<p>Introduction ZappySys provide high-performance drag and drop connectors for Amazon Redshift Integration. In our previous post we saw how to bulk load SQL data into Redshift using S3 staging technique (COPY command). Now in this post, you will see How to Read / Write Amazon Redshift Data in SSIS Data flow without need for S3 Staging. [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/read-write-amazon-redshift-data-ssis/">How to Read / Write Amazon Redshift Data in SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p><a href="https://zappysys.com/blog/wp-content/uploads/2019/08/amazon-redshift-logo.png"><img loading="lazy" decoding="async" class="size-thumbnail wp-image-7773 alignleft" src="https://zappysys.com/blog/wp-content/uploads/2019/08/amazon-redshift-logo-150x150.png" alt="" width="150" height="150" srcset="https://zappysys.com/blog/wp-content/uploads/2019/08/amazon-redshift-logo-150x150.png 150w, https://zappysys.com/blog/wp-content/uploads/2019/08/amazon-redshift-logo-300x300.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/08/amazon-redshift-logo-768x768.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/08/amazon-redshift-logo-1024x1024.png 1024w, https://zappysys.com/blog/wp-content/uploads/2019/08/amazon-redshift-logo.png 2000w" sizes="(max-width: 150px) 100vw, 150px" /></a>ZappySys provide high-performance drag and drop connectors for Amazon Redshift Integration. In our previous post we saw how to <a href="https://zappysys.com/posts/sql-server-to-redshift-data-load-using-ssis/" target="_blank" rel="noopener">bulk load SQL data into Redshift using S3 staging technique (COPY command)</a>. Now in this post, you will see How to Read / Write Amazon Redshift Data in SSIS Data flow without need for S3 Staging. We will use  ZS Amazon Redshift components (Source / Destination). If you need to Upsert / delete data from Redshift Table then use <a href="https://zappysys.com/products/ssis-powerpack/ssis-upsert-destination/" target="_blank" rel="noopener">Upsert Destination</a> (Not discussed in this article).</p>
<p>ZappySys developed many AWS related components but in this article, we will look at 2 Components for Amazon Redshift Integration Scenarios (Read and Write). We will discuss how to use <a href="https://zappysys.com/products/ssis-powerpack/ssis-amazon-redshift-source-connector/" target="_blank" rel="noopener">SSIS Amazon Redshift Source</a> and <a href="https://zappysys.com/products/ssis-powerpack/ssis-amazon-redshift-destination/" target="_blank" rel="noopener">SSIS Amazon Redshift Destination.</a> Amazon Redshift Source connector supports familiar <strong>SQL Like query language</strong> so any DBA or SQL user can learn it in no time. ZappySys developed a highly sophisticated engine to turn your SQL Query into native Amazon Redshift query. Load query at runtime from the variables or Direct value.</p>
<h2><span id="Prerequisite">Prerequisite</span></h2>
<p>Before we perform the steps listed in this article, you will need to make sure the following prerequisites are met:</p>
<ol>
<li>First, you will need to have SSIS installed</li>
<li>Secondly, make sure to have SSDT</li>
<li>Thirdly, You have obtained Amazon Redshift Credential.</li>
<li>Finally, do not forget to install <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">ZappySys SSIS PowerPack.</a></li>
</ol>
<h2><span id="Component_Mention_in_this_article">Component Mention in this article</span></h2>
<div class="su-table su-table-alternate">
<table style="height: 44px;width: 307px">
<tbody>
<tr style="height: 22px">
<td style="height: 22px;width: 1px"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-source/ssis-amazon-redshift-source.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="alignnone wp-image-3074" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-source/ssis-amazon-redshift-source.png" alt="" width="40" height="40" /></a></td>
<td style="height: 22px;width: 247px"><a href="https://zappysys.com/products/ssis-powerpack/ssis-amazon-redshift-source-connector/" target="_blank" rel="noopener">Amazon Redshift Source</a></td>
</tr>
<tr style="height: 22px">
<td style="height: 22px;width: 1px"><a href="https://i0.wp.com/zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-destination/ssis-amazon-redshift-destination.png?w=100&amp;ssl=1" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="alignnone wp-image-3074" src="https://i0.wp.com/zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-destination/ssis-amazon-redshift-destination.png?w=100&amp;ssl=1" alt="" width="40" height="40" /></a></td>
<td style="height: 22px;width: 247px"><a href="https://zappysys.com/products/ssis-powerpack/ssis-amazon-redshift-destination/" target="_blank" rel="noopener">Amazon Redshift Destination</a></td>
</tr>
</tbody>
</table>
</div>
<h2><span id="What_is_Amazon_Redshift">What is Amazon Redshift</span></h2>
<p>Before we talk <strong>How to Read / Write Amazon Redshift Data in SSIS</strong> lets talk what is <em>Amazon Redshift</em> (or sometimes referred to as <em>AWS Redshift</em>). <b>Amazon Redshift</b> is a Cloud-based Data warehouse service. This type of system also referred to as MPP (Massively Parallel Processing). <b>Amazon Redshift</b> uses a highly modified version of PostgreSQL Engine behind the scene. Amazon Redshift provides the advantage of Scale as you go, at a very low cost compared to onsite dedicated hardware/software approach. In this article, we will try to learn <em>How to Read / Write Amazon Redshift Data in SSIS.</em></p>
<h2><span id="Getting_Started">Getting Started</span></h2>
<p>In order to start, we will show several examples. ZappySys includes an Amazon Redshift Source and Destination, that will help you How to Read / Write Amazon Redshift Data in SSIS. You can connect to your Amazon Redshift Account by entering credentials.</p>
<p><em>SSIS Amazon Redshift Source Connector</em> can be used to read data from Amazon Redshift. You can use a simple Table mode or write custom SQL Query to extract desired data. You can use multiple modes (i.e. Table or Query) to read data from the Amazon Redshift Database. Support for data preview and max rows and Dynamic query (using SSIS Variable placeholder e.g. select * from mytable where id='{{User:: MyVar}}&#8217;).</p>
<p>SSIS Amazon Redshift Destination can be used to bulk insert a large number of records to Amazon Redshift storage from any data source using SSIS. <a href="https://aws.amazon.com/redshift/">Amazon Redshift</a> is a cloud-based Data Warehouse service from Amazon AWS. Here, you can bulk Insert, Update and Delete Amazon Redshift data and supporting the batch size.</p>
<p><a href="https://zappysys.com/blog/tag/redshift/" target="_blank" rel="noopener">Click here to see Amazon Redshift</a> related articles.</p>
<h2>Write Data using Amazon Redshift Destination in SSIS</h2>
<h3>Overview</h3>
<p>In this tutorial, you will learn how to write data in Amazon Redshift Database. You can use <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/dummydata-source.htm" target="_blank" rel="noopener">ZS DummyData Source</a> for practice it or select suitable <a href="https://zappysys.com/onlinehelp/ssis-powerpack/index.htm#page=ssis-source-adapters.htm" target="_blank" rel="noopener">ZS Source Adapter</a> (In this case it’s from SQL Server Source). So, Let’s start with an example. In this SSIS we will write data into Amazon Redshift Database using ZS Amazon Redshift Destination.</p>
<h3>How to write data into Amazon Redshift Table</h3>
<ol>
<li>In order to connect to the Amazon Redshift Database from SSIS, you will need credentials. Ask your SysAdmin or responsible person to provide that you.</li>
<li>For this sample exercise, we will create a table in Redshift.<br />
<pre class="crayon-plain-tag">CREATE TABLE public."tbl_pg_Customers"
(
    "RecordID" character varying(50) NOT NULL,
    "CustomerID" character varying(50),
    "CustomerName" character varying(50),
    "Address1" character varying(50),
    "City" character varying(50),
    "State" character varying(50),
    "Zip" character varying(50),
    "Country" character varying(50),
    PRIMARY KEY ("RecordID")
);</pre>
</li>
<li>Once you have created a Table, you may proceed to create a new SSIS package. In BIDS/SSDT create a new SSIS package.</li>
<li>In your SSIS toolbox, you should see many new Icons starting with “ZS” (i.e. ZappySys). If you don’t see them then <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/getting-started.htm" target="_blank" rel="noopener">check this.</a></li>
<li>Now, Drag and Drop SSIS Data Flow Task from SSIS Toolbox.
<div id="attachment_7934" style="width: 470px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/09/ssis-drag-drop-data-flow-task.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7934" class="wp-image-7934 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/09/ssis-drag-drop-data-flow-task.png" alt="Drag and Drop SSIS Data Flow Task from SSIS Toolbox" width="460" height="155" srcset="https://zappysys.com/blog/wp-content/uploads/2019/09/ssis-drag-drop-data-flow-task.png 460w, https://zappysys.com/blog/wp-content/uploads/2019/09/ssis-drag-drop-data-flow-task-300x101.png 300w" sizes="(max-width: 460px) 100vw, 460px" /></a><p id="caption-attachment-7934" class="wp-caption-text">Drag and Drop SSIS Data Flow Task from SSIS Toolbox</p></div></li>
<li>Double click on the Data Flow Task to see Data flow designer surface.</li>
<li>Here, In Visual Studio, Drag and Drop the OLE DB Source and Amazon Redshift Destination in the design surface and join the components with the blue arrow.
<div style="width: 532px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-destination/ssis-amazon-redshift-destination-drag.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-destination/ssis-amazon-redshift-destination-drag.png" alt="SSIS OLE DB Source and Amazon Redshift Destination - Drag and Drop" width="522" height="183" /></a><p class="wp-caption-text">SSIS OLE DB Source and Amazon Redshift Destination &#8211; Drag and Drop</p></div></li>
<li>Now, we need OLE DB Connection and Amazon Redshift Connection. Click <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-amazon-redshift-connection-manager.htm" target="_blank" rel="noopener">here</a> for Create Amazon Redshift Connection.</li>
</ol>
<h3>How to Create an OLE DB Connection.</h3>
<ol>
<li>Let&#8217;s, Right-click on Connection Managers Panel to Create OLEDB Connection, so you can use Source and Context Menu will appear, Select New OLEDB Connection from the Context Menu.
<div style="width: 485px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-new-oledb-connection-step-1.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-new-oledb-connection-step-1.png" alt="SSIS OLE DB Connection - Create Connection" width="475" height="353" /></a><p class="wp-caption-text">SSIS OLE DB Connection &#8211; Create Connection</p></div></li>
<li>Now click on the New button to create a connection.
<div style="width: 665px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-new-oledb-connection-step-2.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-new-oledb-connection-step-2.png" alt="SSIS OLE DB Connection - Create New Connection" width="655" height="558" /></a><p class="wp-caption-text">SSIS OLE DB Connection &#8211; Create New Connection</p></div></li>
<li>Let&#8217;s configure connection Manager, just follow the steps one as we have created in following the image.
<div style="width: 730px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-new-oledb-connection-step-3.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-new-oledb-connection-step-3.png" alt="SSIS OLE DB Connection - Configure Connection" width="720" height="625" /></a><p class="wp-caption-text">SSIS OLE DB Connection &#8211; Configure Connection</p></div></li>
<li>After all, Click on OK button to save configure setting UI.</li>
</ol>
<h3>Configure SSIS ZS Amazon Redshift Destination</h3>
<ol>
<li>Double click on OLE DB Source for configure it.</li>
<li>Let&#8217;s Configure in Connection Manager, just follow below image steps.
<div style="width: 828px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-oledb-source-editor-manager.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-oledb-source-editor-manager.png" alt="SSIS OLE DB Source - Configure Source Editors" width="818" height="560" /></a><p class="wp-caption-text">SSIS OLE DB Source &#8211; Configure Source Editors</p></div></li>
<li>Click OK to save OLE DB Source Editor UI settings.</li>
<li>Now double click on Amazon Redshift Destination to configure it. In the [Connection Manager] tab Select Amazon Redshift Connection.
<div style="width: 795px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-destination/ssis-amazon-redshift-destination-connection.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-destination/ssis-amazon-redshift-destination-connection.png" alt="SSIS Amazon Redshift Destination - Connection Manager" width="785" height="295" /></a><p class="wp-caption-text">SSIS Amazon Redshift Destination &#8211; Connection Manager</p></div></li>
<li>Click on [Component Properties] tab and Pick the Destination Table from Tables dropdown list.
<div style="width: 795px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-destination/ssis-amazon-redshift-destination-properties.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-destination/ssis-amazon-redshift-destination-properties.png" alt="SSIS Amazon Redshift Destination - Component Properties" width="785" height="410" /></a><p class="wp-caption-text">SSIS Amazon Redshift Destination &#8211; Component Properties</p></div></li>
<li>Click on [Column mappings] tab and verify mapping. If the target table is new Table and it&#8217;s empty then all input columns will be automatically mapped as shown below. If the table is an existing table with some data then you can manually pick a mapping column by dragging it from source list to target list.
<div style="width: 795px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-destination/ssis-redshift-destination-mapping.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-destination/ssis-redshift-destination-mapping.png" alt="SSIS Amazon Redshift Destination - Column Mappings" width="785" height="538" /></a><p class="wp-caption-text">SSIS Amazon Redshift Destination &#8211; Column Mappings</p></div></li>
<li>Execute the package and verify that the data is saved.
<div style="width: 598px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-destination/ssis-amazon-redshift-destination-execute.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-destination/ssis-amazon-redshift-destination-execute.png" alt="SSIS Amazon Redshift Destination - Run or Execute Package" width="588" height="331" /></a><p class="wp-caption-text">SSIS Amazon Redshift Destination &#8211; Run or Execute Package</p></div></li>
</ol>
<h2>Read Data using Amazon Redshift Source in SSIS</h2>
<h3>Overview</h3>
<p>In this tutorial, you will learn how to read data from Amazon Redshift in SSIS using ZS Amazon Redshift Source adapter. In this SSIS we will read data with SQL Query and Table Mode. So Let’s begin it.</p>
<h3>How to Read data from Amazon Redshift Table</h3>
<ol>
<li>You may proceed to create a new SSIS package. In BIDS/SSDT create a new SSIS package.</li>
<li>From the SSIS toolbox drag and drop Data Flow Task on the control flow designer surface.
<div style="width: 470px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/drag-and-drop-data-flow-task.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/drag-and-drop-data-flow-task.png" alt="SSIS Data Flow Task - Drag and Drop" width="460" height="155" /></a><p class="wp-caption-text">SSIS Data Flow Task &#8211; Drag and Drop</p></div></li>
<li>Double click on the Data Flow Task to see the Data Flow design surface.</li>
<li>From the SSIS Toolbox, Drag and Drop Amazon Redshift Source in the data flow designer surface.
<div style="width: 505px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-source/ssis-amazon-redshift-source-drag.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-source/ssis-amazon-redshift-source-drag.png" alt="SSIS Amazon Redshift Source - Drag and Drop" width="495" height="104" /></a><p class="wp-caption-text">SSIS Amazon Redshift Source &#8211; Drag and Drop</p></div></li>
<li>Now, We need Amazon Redshift Connection. Click <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-amazon-redshift-connection-manager.htm" target="_blank" rel="noopener">here</a> for creating Amazon Redshift Connection.</li>
</ol>
<h4>Configure SSIS ZS Amazon Redshift Source &#8211; Query Mode</h4>
<ol>
<li>Here, we are getting data using Query Mode with dynamic expression value.</li>
<li>Let&#8217;s Create Variables, In Visual Studio Right Click on Design Panel, Select Variables.
<div style="width: 426px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/ssis-create-variable.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/ssis-create-variable.png" alt="SSIS Create Variables" width="416" height="294" /></a><p class="wp-caption-text">SSIS Create Variables</p></div></li>
<li>Make sure correct DataType and Value, use the following image.
<div style="width: 521px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-source/ssis-amazon-redshift-source-create-variable.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-source/ssis-amazon-redshift-source-create-variable.png" alt="SSIS Created Variables with Value" width="511" height="167" /></a><p class="wp-caption-text">SSIS Created Variables with Value</p></div></li>
<li>Double click on Amazon Redshift Source to configure it.</li>
<li>Select the connection we have created before, set AccessMode to Query and use the following SQL Query(You can replace table or column name) and insert Variables we have created before.<br />
<pre class="crayon-plain-tag">SELECT  * FROM "public"."tbl_pg_Orders"
WHERE "CustomerID" like '%R%' AND "OrderAmount" &gt; '{{User::OrderAmount}}' AND
"{{User::ColumnName}}" = '{{User::Value}}'</pre>
<div style="width: 801px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-source/ssis-amazon-redshift-source-read-data-sql-query-mode.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-source/ssis-amazon-redshift-source-read-data-sql-query-mode.png" alt="SSIS Amazon Redshift Source - Configure with SQL Query Mode" width="791" height="715" /></a><p class="wp-caption-text">SSIS Amazon Redshift Source &#8211; Configure with SQL Query Mode</p></div></li>
<li>Click on Preview button to see Data Preview and OK button to save configure setting UI.</li>
<li>Here, you can use any of our suitable <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-destination-adapters.htm" target="_blank" rel="noopener">ZS Destination Adapter.</a></li>
<li>From the SSIS toolbox drag and drop Trash Destination on the Data Flow designer surface.
<div style="width: 529px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ssis-trash-destination-adapter-drag.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ssis-trash-destination-adapter-drag.png" alt="SSIS Trash Destination - Drag and Drop" width="519" height="121" /></a><p class="wp-caption-text">SSIS Trash Destination &#8211; Drag and Drop</p></div></li>
<li>Now single click on the Amazon Redshift Source, once you see the blue arrow from the source&#8230;connect it to Trash Destination.</li>
<li>Double click on Trash Destination to Configure it.
<div style="width: 622px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ui-trash-destination-settings.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ui-trash-destination-settings.png" alt="SSIS Trash Destination - Configure" width="612" height="523" /></a><p class="wp-caption-text">SSIS Trash Destination &#8211; Configure</p></div></li>
<li>Click on OK button to save Trash Destination configure setting UI.</li>
<li>That&#8217;s all, just Run or Execute the package and verify data.
<div style="width: 421px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-source/ssis-amazon-redshift-source-read-data-sql-query-mode-execute.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-source/ssis-amazon-redshift-source-read-data-sql-query-mode-execute.png" alt="SSIS Amazon Redshift Source - Run or Execute the Package" width="411" height="332" /></a><p class="wp-caption-text">SSIS Amazon Redshift Source &#8211; Run or Execute the Package</p></div></li>
</ol>
<h4>Configure SSIS ZS Amazon Redshift Source &#8211; Table Mode</h4>
<ol>
<li>Double click on Amazon Redshift Source to configure it.</li>
<li>Select the connection we have created before. Set Access Mode to Table and Select Table from table Drop down list.
<div style="width: 788px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-source/ssis-amazon-redshift-source-read-data-table-mode.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-source/ssis-amazon-redshift-source-read-data-table-mode.png" alt="SSIS Amazon Redshift Source - Configure with Table Mode" width="778" height="603" /></a><p class="wp-caption-text">SSIS Amazon Redshift Source &#8211; Configure with Table Mode</p></div></li>
<li>Click on Preview button to see Data Preview and OK button to save Amazon Redshift Source configure setting UI.</li>
<li>From the SSIS toolbox, Drag and Drop Trash Destination on the Data flow designer surface.
<div style="width: 529px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ssis-trash-destination-adapter-drag.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ssis-trash-destination-adapter-drag.png" alt="SSIS Trash Destination - Drag and Drop" width="519" height="121" /></a><p class="wp-caption-text">SSIS Trash Destination &#8211; Drag and Drop</p></div></li>
<li>Now single click on the Amazon Redshift Source, once you see the blue arrow from a source&#8230; connect it to Trash Destination.</li>
<li>Double click on ZS Trash Destination to configure it.
<div style="width: 622px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ui-trash-destination-settings.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ui-trash-destination-settings.png" alt="SSIS Trash Destination - Configure" width="612" height="523" /></a><p class="wp-caption-text">SSIS Trash Destination &#8211; Configure</p></div></li>
<li>Click on OK button to save Trash Destination configure setting UI.</li>
<li>That&#8217;s all, just run or execute your package and see data.
<div style="width: 412px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-source/ssis-amazon-redshift-source-read-data-table-mode-execute.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-source/ssis-amazon-redshift-source-read-data-table-mode-execute.png" alt="SSIS Amazon Redshift Source - Run or Execute Package" width="402" height="347" /></a><p class="wp-caption-text">SSIS Amazon Redshift Source &#8211; Run or Execute Package</p></div></li>
</ol>
<h2>Conclusion</h2>
<p>In this blog, we learn How to Read / Write Amazon Redshift Data in SSIS. We used Amazon Redshift Destination for write data and Amazon Redshift Source to read data. You can <a href="https://zappysys.com/products/ssis-powerpack/">download SSIS PowerPack here</a> to try many other scenarios not discussed in this blog along with 70+ other components.</p>
<h2>References</h2>
<p>Finally, you can use the following links for more information:</p>
<ul>
<li><a href="https://zappysys.com/products/ssis-powerpack/ssis-amazon-redshift-source-connector/" target="_blank" rel="noopener">Amazon Redshift Source</a></li>
<li><a href="https://zappysys.com/products/ssis-powerpack/ssis-amazon-redshift-destination/" target="_blank" rel="noopener">Amazon Redshift Destination</a></li>
<li><a href="https://docs.aws.amazon.com/redshift/latest/mgmt/welcome.html" target="_blank" rel="noopener">Document of Amazon Redshift</a></li>
<li><strong>Help File:</strong>
<ul>
<li><a href="https://zappysys.com/onlinehelp/ssis-powerpack/index.htm#page=ssis-amazon-redshift-source.htm" target="_blank" rel="noopener">Amazon Redshift Source</a></li>
<li><a href="https://zappysys.com/onlinehelp/ssis-powerpack/index.htm#page=ssis-amazon-redshift-destination.htm" target="_blank" rel="noopener">Amazon Redshift Destination</a></li>
</ul>
</li>
</ul>
<p>The post <a href="https://zappysys.com/blog/read-write-amazon-redshift-data-ssis/">How to Read / Write Amazon Redshift Data in SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to Read/Write Azure Queue Storage data in SSIS</title>
		<link>https://zappysys.com/blog/read-write-azure-queue-storage-data-ssis/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Tue, 06 Aug 2019 12:47:38 +0000</pubDate>
				<category><![CDATA[SSIS Azure Queue Storage Destination]]></category>
		<category><![CDATA[SSIS Azure Queue Storage Source]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[Destination]]></category>
		<category><![CDATA[Dummy]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[queue]]></category>
		<category><![CDATA[read]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[ssis]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[Trash]]></category>
		<category><![CDATA[write]]></category>
		<category><![CDATA[ZappySys]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=7604</guid>

					<description><![CDATA[<p>Introduction In our previous blog, we saw you how to read/write Azure Table Storage data. Now in this blog, we will see How to Read/Write Azure Queue Storage data in SSIS. To illustrate, we will use ZappySys SSIS PowerPack, which includes several tasks to import/export data from multiples sources to multiple destinations like flat files, Azure, AWS, databases, [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/read-write-azure-queue-storage-data-ssis/">How to Read/Write Azure Queue Storage data in SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p><a href="https://zappysys.com/blog/wp-content/uploads/2019/08/azure-queues.png"><img loading="lazy" decoding="async" class="wp-image-7631 size-thumbnail alignleft" src="https://zappysys.com/blog/wp-content/uploads/2019/08/azure-queues-150x150.png" alt="" width="150" height="150" srcset="https://zappysys.com/blog/wp-content/uploads/2019/08/azure-queues-150x150.png 150w, https://zappysys.com/blog/wp-content/uploads/2019/08/azure-queues.png 250w" sizes="(max-width: 150px) 100vw, 150px" /></a>In our previous blog, we saw you how to <a href="https://zappysys.com/blog/read-write-azure-table-storage-data-ssis/" target="_blank" rel="noopener">read/write Azure Table Storage</a> data. Now in this blog, we will see How to Read/Write Azure Queue Storage data in SSIS. To illustrate, we will use <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">ZappySys SSIS PowerPack</a>, which includes several tasks to import/export data from multiples sources to multiple destinations like flat files, Azure, AWS, databases, Office files and more. They are Coding free, drag and drop high-performance suite of <em>Custom SSIS Components</em> and <em>SSIS Tasks.</em> If you like perform other operations on Azure Blob Storage Files (e.g. Download, Upload, Create, Delete) then <a href="https://zappysys.com/blog/category/ssis/tasks/ssis-azure-blob-storage-task/" target="_blank" rel="noopener">check these articles</a>.</p>
<p>In nutshell, this post will focus on How to Read/Write Azure Queue Storage data in SSIS using the following Source/Destination.</p>
<p>&nbsp;</p>
<h2>Component Mentioned in this article</h2>
<div class="su-table su-table-alternate">
<table style="height: 44px;width: 307px">
<tbody>
<tr style="height: 22px">
<td style="height: 22px;width: 1px"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-queue-storage-source/ssis-azure-queue-source.png"><img loading="lazy" decoding="async" class="alignnone wp-image-3074" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-queue-storage-source/ssis-azure-queue-source.png" alt="" width="40" height="40" /></a></td>
<td style="height: 22px;width: 247px"><a href="https://zappysys.com/products/ssis-powerpack/ssis-azure-queue-storage-source-connector/" target="_blank" rel="noopener">Azure Queue Storage Source</a></td>
</tr>
<tr style="height: 22px">
<td style="height: 22px;width: 1px"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-queue-storage-destination/ssis-azure-queue-destination.png"><img loading="lazy" decoding="async" class="alignnone wp-image-3074" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-queue-storage-destination/ssis-azure-queue-destination.png" alt="" width="40" height="40" /></a></td>
<td style="height: 22px;width: 247px"><a href="https://zappysys.com/products/ssis-powerpack/ssis-azure-queue-storage-destination-connector/" target="_blank" rel="noopener">Azure Queue Storage Destination</a></td>
</tr>
</tbody>
</table>
</div>
<h2><span id="Prerequisite"><span id="Requirements">Prerequisite</span></span></h2>
<ol>
<li>First, you will need to have SSIS installed</li>
<li>Secondly, make sure to have SSDT</li>
<li>Download and install <a href="https://go.microsoft.com/fwlink/?LinkId=717179&amp;clcid=0x4009" target="_blank" rel="noopener">Microsoft Azure Storage Emulator</a></li>
<li>Download and install <a href="https://azure.microsoft.com/en-us/features/storage-explorer/" target="_blank" rel="noopener">Microsoft Azure Storage Explorer</a></li>
<li>Finally, do not forget to install ZappySys <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">SSIS PowerPack</a></li>
</ol>
<p><strong>NOTE:</strong> If you want to use Live account (Azure Storage) then you can skip Step #3</p>
<h2 id="what-are-azure-queues">What are Azure Queues?</h2>
<p>Azure Queue storage is a service for storing large numbers of messages. You access messages from anywhere in the world via authenticated calls using HTTP or HTTPS. A queue message can be up to 64 KB in size. A queue may contain millions of messages, up to the total capacity limit of a storage account.</p>
<h3 id="common-uses">Common uses</h3>
<div id="attachment_7610" style="width: 291px" class="wp-caption alignright"><a href="https://zappysys.com/blog/wp-content/uploads/2019/08/azure-queue-storage-service-concept.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7610" class="wp-image-7610 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/08/azure-queue-storage-service-concept.png" alt="Microsoft Azure Queue Concept" width="281" height="144" /></a><p id="caption-attachment-7610" class="wp-caption-text">Microsoft Azure Queue Concept</p></div>
<p>Common uses of Queue storage include:</p>
<ul>
<li>Creating a backlog of work to process asynchronously</li>
<li>Passing messages from an Azure web role to an Azure worker role</li>
<li>The Queue service contains the following components:</li>
</ul>
<p>&nbsp;</p>
<h2><span id="Getting_Started">Getting Started</span></h2>
<p>In order to start, we will show several examples. Zappysys includes an <a href="https://zappysys.com/products/ssis-powerpack/ssis-azure-queue-storage-source-connector/" target="_blank" rel="noopener">SSIS Azure Queue Storage Source</a> that will help you in reading data of Queue and <a href="https://zappysys.com/products/ssis-powerpack/ssis-azure-queue-storage-destination-connector/" target="_blank" rel="noopener">SSIS Azure Queue Storage Destination</a> that will help you to write data in Queue. Here we are showing you is, how to Read/Write Azure Queue Storage data in SSIS.</p>
<p>You can connect to your Azure Storage Account by entering your storage account credentials. Here I am showing an example of the use of the local Azure Storage Emulator.</p>
<h2><span id="Setup_Azure_Storage_client_tools">Setup Azure Storage client tools and Create Queue</span></h2>
<ol>
<li>Once you have <a href="https://go.microsoft.com/fwlink/?LinkId=717179&amp;clcid=0x4009" target="_blank" rel="noopener">downloaded and installed storage emulator</a> You can launch Microsoft Azure Storage Emulator from its Physical location or from the desktop or start menu shortcut.
<div id="attachment_3631" style="width: 869px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-emulator-location.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3631" class="wp-image-3631 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-emulator-location.png" alt="Azure Storage Emulator Physical Location" width="859" height="94" srcset="https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-emulator-location.png 859w, https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-emulator-location-300x33.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-emulator-location-768x84.png 768w" sizes="(max-width: 859px) 100vw, 859px" /></a><p id="caption-attachment-3631" class="wp-caption-text">Azure Storage Emulator Physical Location</p></div></li>
<li>If you can see the below-attached Command Prompt screen after Emulator started. Then you can proceed to start Microsoft Azure Storage Explorer as the Azure Storage Emulator is started successfully.
<div id="attachment_3633" style="width: 710px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-emulator-screen-after-started-e1552723801433.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3633" class="wp-image-3633 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-emulator-screen-after-started-e1552723801433.png" alt="Command Prompt Screen after Microsoft Azure Storage Emulator Started" width="700" height="237" /></a><p id="caption-attachment-3633" class="wp-caption-text">Command Prompt Screen after Microsoft Azure Storage Emulator Started</p></div></li>
<li>Now, you have to <a href="https://azure.microsoft.com/en-us/features/storage-explorer/" target="_blank" rel="noopener">download and install Microsoft Azure Storage Explorer</a> and then you can launch Microsoft Azure Storage Explorer from its Physical location or from the desktop or start menu shortcut.
<div id="attachment_3635" style="width: 837px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-explorer-location.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3635" class="wp-image-3635 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-explorer-location.png" alt="Microsoft Azure Storage Explorer Location" width="827" height="97" srcset="https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-explorer-location.png 827w, https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-explorer-location-300x35.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-explorer-location-768x90.png 768w" sizes="(max-width: 827px) 100vw, 827px" /></a><p id="caption-attachment-3635" class="wp-caption-text">Microsoft Azure Storage Explorer Location.</p></div></li>
<li>If you don’t have Azure Storage account then it’s easy to <a href="http://azure.microsoft.com/en-us/pricing/free-trial/" target="_blank" rel="noopener">get FREE Trial Azure Storage account</a> or use your MSDN to get credit each month which will be more than enough for real testing. If you prefer to avoid all this hassle then Microsoft provides another great way to test Azure Storage functionality is totally offline mode on your local machine. You can just <a href="http://www.microsoft.com/en-us/download/details.aspx?id=42317" target="_blank" rel="noopener">download Azure Storage Emulator</a> and start testing.</li>
<li><a href="http://msdn.microsoft.com/en-us/library/azure/hh403989.aspx" target="_blank" rel="noopener">Click here</a> to learn more about how to configure Azure Storage Emulator for Testing and Development purposes. In order to connect to Azure Storage Service from SSIS, you will need Storage AccountName and an AccessKey. Ask your SysAdmin or responsible person to provide that information to you. Here are sample Account Name and Access Key(<b>this is just example key which may differ in your case</b>)<br />
<pre class="crayon-plain-tag">Account Name: mystorageaccount 
Access Key: Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==</pre>
</li>
<li>For Creating a Queue, First of all, you need to go to Microsoft Storage Explorer Window. Then you can go through like this way (Storage Accounts –&gt; (Development) –&gt; Queues. Right-click on Queues and Select Create Queue and give a name you want.
<div style="width: 379px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-queue-storage-destination/ssis-azure-queue-storage-destination-create-new-queue-using-microsoft-storage-explorer.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-queue-storage-destination/ssis-azure-queue-storage-destination-create-new-queue-using-microsoft-storage-explorer.png" alt="Microsoft Azure Storage Explorer - Create Queue " width="369" height="352" /></a><p class="wp-caption-text">Microsoft Azure Storage Explorer &#8211; Create Queue</p></div></li>
</ol>
<h2>Write data using ZS Azure Queue Storage Destination</h2>
<p>In this tutorial, you will learn how to write data into Azure Queue Storage. We will use <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/dummydata-source.htm" target="_blank" rel="noopener">ZS DummyData Source</a> for practice it but you can use a suitable <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-source-adapters.htm" target="_blank" rel="noopener">Source Adapter</a>. So, Let’s start, In this SSIS we will write data into Azure Queue Storage using ZS Azure Queue Storage Destination.</p>
<ol>
<li>Once you have created Azure Storage Queue and you got valid Account Name and AccessKey (for the local emulator you don’t need this) you may proceed to create new SSIS package. In BIDS/SSDT create a new SSIS package.</li>
<li>From the SSIS toolbox drag and drop <i>Data Flow Task</i> on the control flow designer surface and double click on it too.
<div id="attachment_7934" style="width: 470px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/09/ssis-drag-drop-data-flow-task.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7934" class="wp-image-7934 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/09/ssis-drag-drop-data-flow-task.png" alt="Drag and Drop SSIS Data Flow Task from SSIS Toolbox" width="460" height="155" srcset="https://zappysys.com/blog/wp-content/uploads/2019/09/ssis-drag-drop-data-flow-task.png 460w, https://zappysys.com/blog/wp-content/uploads/2019/09/ssis-drag-drop-data-flow-task-300x101.png 300w" sizes="(max-width: 460px) 100vw, 460px" /></a><p id="caption-attachment-7934" class="wp-caption-text">Drag and Drop SSIS Data Flow Task from SSIS Toolbox</p></div></li>
<li>Click <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/azure-storage-connection-manager.htm" target="_blank" rel="noopener">here</a> to create Azure Storage Connection.</li>
<li>From the SSIS toolbox drag and drop <i>Dummy Data Source</i> on the dataflow designer surface.
<div style="width: 492px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/dummy-data-Source/ssis-dummy-data-source-adapter-drag.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/dummy-data-Source/ssis-dummy-data-source-adapter-drag.png" alt="DummyData Source - Drag and Drop" width="482" height="120" /></a><p class="wp-caption-text">DummyData Source &#8211; Drag and Drop</p></div></li>
<li>Double click Dummy Data Source to configure it. From Template pick JsonDocuments and enter row count=100 to generate 100 JSON documents and click OK to save.
<div style="width: 500px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-destination/ssis-dummy-data-source-generate-fake-json-documents.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-sqs-destination/ssis-dummy-data-source-generate-fake-json-documents.png" alt="DummyData Source - Configure" width="490" height="537" /></a><p class="wp-caption-text">DummyData Source &#8211; Configure</p></div></li>
<li>Let&#8217;s drag and drop <i>Azure Queue Storage Destination</i> on the dataflow designer surface from the SSIS toolbox.</li>
<li>Now single click on the Dummy Data Source, once you see the blue arrow from the source connect it to Azure Queue Destination.</li>
<li>Double click Azure Queue Destination to configure it. Select the connection we have created before.
<div style="width: 705px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-queue-storage-destination/ssis-azure-queue-destination-select-adapter-connection.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-queue-storage-destination/ssis-azure-queue-destination-select-adapter-connection.png" alt="Configure Connection Manager" width="695" height="311" /></a><p class="wp-caption-text">Configure Connection Manager</p></div></li>
<li>Click on [Component Properties] tab and select the Target Queue from the dropdown list.
<div style="width: 781px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-queue-storage-destination/ssis-azure-queue-destination-select-queue.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-queue-storage-destination/ssis-azure-queue-destination-select-queue.png" alt="Configure Component Properties" width="771" height="605" /></a><p class="wp-caption-text">Configure Component Properties</p></div></li>
<li>Click on [Mappings] tab and verify mapping. Map Document column from upstream to the MessageText target column.
<div style="width: 682px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-queue-storage-destination/ssis-azure-queue-destination-select-mappings.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-queue-storage-destination/ssis-azure-queue-destination-select-mappings.png" alt="Configure Column Mappings" width="672" height="488" /></a><p class="wp-caption-text">Configure Column Mappings</p></div></li>
<li>Click OK to save settings.</li>
<li>Execute the package and verify target data by going to your Azure Queue. We use <a href="https://azure.microsoft.com/en-us/features/storage-explorer/" target="_blank" rel="noopener">Azure Storage Explorer.</a>
<div style="width: 383px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-queue-storage-destination/ssis-azure-queue-destination-insert-messages.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-queue-storage-destination/ssis-azure-queue-destination-insert-messages.png" alt="SSIS Execute Package" width="373" height="342" /></a><p class="wp-caption-text">SSIS Execute Package</p></div>
<div style="width: 810px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-queue-storage-destination/check-azure-queue-message-verify-count-console.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-queue-storage-destination/check-azure-queue-message-verify-count-console.png" alt="Microsoft Azure Explorer - Verify Queue Data" width="800" height="478" /></a><p class="wp-caption-text">Microsoft Azure Explorer &#8211; Verify Queue Data</p></div></li>
</ol>
<h2>Read data using ZS Azure Queue Storage Source</h2>
<ol>
<li>Here you may proceed In BIDS/SSDT to create a new SSIS package.</li>
<li>Now, Drag and Drop SSIS Data Flow Task from SSIS Toolbox.
<div style="width: 470px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/drag-and-drop-data-flow-task.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/drag-and-drop-data-flow-task.png" alt="SSIS Data Flow Task - Drag and Drop" width="460" height="155" /></a><p class="wp-caption-text">SSIS Data Flow Task &#8211; Drag and Drop</p></div></li>
<li>Double click on the Data Flow task to see the Data Flow designer surface.</li>
<li>From the SSIS toolbox drag and drop ZS Azure Queue Storage Source on the dataflow designer surface.
<div style="width: 485px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-queue-storage-source/ssis-azure-queue-source-drag.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-queue-storage-source/ssis-azure-queue-source-drag.png" alt="SSIS ZS Azure Queue Source - Drag and Drop" width="475" height="103" /></a><p class="wp-caption-text">SSIS ZS Azure Queue Source &#8211; Drag and Drop</p></div></li>
<li>Double click Azure Queue Storage Source to configure it.</li>
<li>Select Azure Storage Connection we have created before and select queue from the dropdown and click on preview.
<div style="width: 949px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-queue-storage-source/ssis-azure-queue-source-preview-messages.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-queue-storage-source/ssis-azure-queue-source-preview-messages.png" alt="Configure Azure Queue Source" width="939" height="688" /></a><p class="wp-caption-text">Configure Azure Queue Source</p></div></li>
<li>Click on OK button to save configure.</li>
<li>Now, you can use a suitable Destination Adapter from <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-destination-adapters.htm" target="_blank" rel="noopener">here.</a> In this case, we used Trash Destination.</li>
<li>From the SSIS toolbox drag and drop Trash Destination on the data flow designer surface.
<div style="width: 529px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ssis-trash-destination-adapter-drag.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ssis-trash-destination-adapter-drag.png" alt="SSIS ZS Trash Destination - Drag and Drop" width="519" height="121" /></a><p class="wp-caption-text">SSIS ZS Trash Destination &#8211; Drag and Drop</p></div></li>
<li>Now single click on the Azure Queue Storage Source once you see the blue arrow from the source &#8230; connect it to Trash Destination.</li>
<li>Double click on ZS Trash Destination to Configure it.
<div style="width: 622px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ui-trash-destination-settings.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ui-trash-destination-settings.png" alt="SSIS ZS Trash Destination - Configure" width="612" height="523" /></a><p class="wp-caption-text">SSIS ZS Trash Destination &#8211; Configure</p></div></li>
<li>Click on OK button to save Trash Destination configure setting UI.</li>
<li>Execute the package and verify source data in the data viewer.
<div style="width: 350px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-queue-storage-source/ssis-read-messages-from-azure-queue.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-queue-storage-source/ssis-read-messages-from-azure-queue.png" alt="SSIS ZS Azure Queue Source - Execute the Package" width="340" height="307" /></a><p class="wp-caption-text">SSIS ZS Azure Queue Source &#8211; Execute the Package</p></div></li>
<li>After messages read from Azure Queue, the same message cannot be read again until VisibilityTimeout. By default Queue, visibility timeout is used (-1 means use default) but you can override it on the source UI.</li>
</ol>
<h2>Conclusion</h2>
<p>In this blog, we learn How to Read/Write Azure Queue Storage data in SSIS. We used the Azure Queue Destination for write data and Azure Queue Source to read data. You can <a href="https://zappysys.com/products/ssis-powerpack/">download SSIS PowerPack here</a> to try many other scenarios not discussed in this blog along with 70+ other components.</p>
<h2>References</h2>
<p>Finally, you can use the following links for more information:</p>
<ul>
<li><a href="https://zappysys.com/products/ssis-powerpack/ssis-azure-queue-storage-source-connector/" target="_blank" rel="noopener">Azure Queue Source</a></li>
<li><a href="https://zappysys.com/products/ssis-powerpack/ssis-azure-queue-storage-destination-connector/" target="_blank" rel="noopener">Azure Queue Destination</a></li>
<li><a href="https://docs.microsoft.com/en-us/azure/storage/queues/storage-dotnet-how-to-use-queues" target="_blank" rel="noopener">Microsoft Azure Queues</a></li>
<li><strong>Help File:</strong> <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-azure-queue-storage-source.htm" target="_blank" rel="noopener">Azure Queue Source,</a> <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-azure-queue-storage-destination.htm" target="_blank" rel="noopener">Azure Queue Destination,</a> <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/trash-destination.htm" target="_blank" rel="noopener">Trash Destination</a></li>
</ul>
<p>&nbsp;</p>
<p>The post <a href="https://zappysys.com/blog/read-write-azure-queue-storage-data-ssis/">How to Read/Write Azure Queue Storage data in SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to Read/Write Azure Table Storage data in SSIS</title>
		<link>https://zappysys.com/blog/read-write-azure-table-storage-data-ssis/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Fri, 02 Aug 2019 13:03:21 +0000</pubDate>
				<category><![CDATA[SSIS Azure Table Storage Destination]]></category>
		<category><![CDATA[SSIS Azure Table Storage Source]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[Client]]></category>
		<category><![CDATA[CSV]]></category>
		<category><![CDATA[Destination]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[read]]></category>
		<category><![CDATA[Setup]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[ssis]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[table]]></category>
		<category><![CDATA[write]]></category>
		<category><![CDATA[xml]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=7561</guid>

					<description><![CDATA[<p>Introduction In our previous blog, we saw how to read/write Azure Blob Storage Files in SSIS (CSV, JSON, XML Format files). Now in this blog, we will see how to Read/Write Azure Table Storage data in SSIS. To illustrate, we will use ZappySys SSIS PowerPack, which includes several tasks to import/export data from multiples sources to multiple destinations like [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/read-write-azure-table-storage-data-ssis/">How to Read/Write Azure Table Storage data in SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p><img loading="lazy" decoding="async" class="size-thumbnail wp-image-7562 alignleft" src="https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-azure-table-storage-source-150x150.png" alt="" width="150" height="150" srcset="https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-azure-table-storage-source-150x150.png 150w, https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-azure-table-storage-source-300x300.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-azure-table-storage-source.png 448w" sizes="(max-width: 150px) 100vw, 150px" />In our previous blog, we saw how to read/write <a href="https://zappysys.com/blog/read-azure-blob-storage-files-ssis-csv-json-xml/" target="_blank" rel="noopener">Azure Blob Storage Files in SSIS (CSV, JSON, XML Format files).</a> Now in this blog, we will see how to Read/Write Azure Table Storage data in SSIS. To illustrate, we will use <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">ZappySys SSIS PowerPack</a>, which includes several tasks to import/export data from multiples sources to multiple destinations like flat files, Azure, AWS, databases, Office files and more. They are Coding free, drag and drop high-performance suite of <em>Custom SSIS Components</em> and <em>SSIS Tasks.</em> If you like to perform other operations on Azure Blob Storage Files (e.g. Download, Upload, Create, Delete) then <a href="https://zappysys.com/blog/category/ssis/tasks/ssis-azure-blob-storage-task/" target="_blank" rel="noopener">check these articles</a>.</p>
<p>&nbsp;</p>
<h2>Component Mentioned in this article</h2>
<div class="su-table su-table-alternate">
<table style="height: 44px;width: 307px">
<tbody>
<tr style="height: 22px">
<td style="height: 22px;width: 1px"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source.png"><img loading="lazy" decoding="async" class="alignnone wp-image-3074" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source.png" alt="" width="40" height="40" /></a></td>
<td style="height: 22px;width: 247px"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/azure-table-storage-source.htm" target="_blank" rel="noopener">Azure Table Storage Source</a></td>
</tr>
<tr style="height: 22px">
<td style="height: 22px;width: 1px"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-storage-destination-adapter.png"><img loading="lazy" decoding="async" class="alignnone wp-image-3074" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-storage-destination-adapter.png" alt="" width="40" height="40" /></a></td>
<td style="height: 22px;width: 247px"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/azure-table-storage-destination.htm" target="_blank" rel="noopener">Azure Table Storage Destination</a></td>
</tr>
</tbody>
</table>
</div>
<h2><span id="Prerequisite"><span id="Requirements">Prerequisite</span></span></h2>
<ol>
<li>First, you will need to have SSIS installed</li>
<li>Secondly, make sure to have SSDT</li>
<li>Download and install <a href="https://go.microsoft.com/fwlink/?LinkId=717179&amp;clcid=0x4009" target="_blank" rel="noopener">Microsoft Azure Storage Emulator</a></li>
<li>Download and install <a href="https://azure.microsoft.com/en-us/features/storage-explorer/" target="_blank" rel="noopener">Microsoft Azure Storage Explorer</a></li>
<li>Finally, do not forget to install ZappySys <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">SSIS PowerPack</a></li>
</ol>
<p><strong>NOTE:</strong> If you want to use Live account (Azure Blob Storage) then you can skip Step #3</p>
<h2><span id="What_is_Azure_Blob_Storage">What is Azure Table Storage?</span></h2>
<p>Azure Table storage stores large amounts of structured data. The service is a NoSQL datastore which accepts authenticated calls from inside and outside the Azure cloud. Azure tables are ideal for storing structured, non-relational data. Common uses of Table storage include:</p>
<div id="attachment_7567" style="width: 310px" class="wp-caption alignright"><a href="https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-azure-table-storage-intro.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7567" class="wp-image-7567 size-medium" src="https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-azure-table-storage-intro-300x158.png" alt="Microsoft Azure Table Storage Introduction" width="300" height="158" srcset="https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-azure-table-storage-intro-300x158.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-azure-table-storage-intro.png 468w" sizes="(max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-7567" class="wp-caption-text">Microsoft Azure Table Storage Introduction</p></div>
<ul>
<li>Storing TBs of structured data capable of serving web-scale applications</li>
<li>Storing datasets that don&#8217;t require complex joins, foreign keys, or stored procedures and can be denormalized for fast access</li>
<li>Quickly querying data using a clustered index</li>
<li>Accessing data using the OData protocol and LINQ queries with WCF Data Service .NET Libraries</li>
</ul>
<p>&nbsp;</p>
<p>You can use Table storage to store and query huge sets of structured, non-relational data, and your tables will scale as demand increases.</p>
<h2><span id="Getting_Started">Getting Started</span></h2>
<p>In order to start, we will show several examples. Zappysys includes an <a href="https://zappysys.com/products/ssis-powerpack/ssis-azure-table-storage-source/" target="_blank" rel="noopener">SSIS Azure Table Storage Source.</a> Here we are showing you is, how to Read/Write Azure Table Storage data in SSIS.</p>
<p>You can connect to your Azure Storage Account by entering your storage account credentials. Here I am showing an example of the use of the local Azure Storage Emulator.</p>
<h2><span id="Setup_Azure_Storage_client_tools">Setup Azure Storage client tools and Create Table</span></h2>
<ol>
<li>Once you have <a href="https://go.microsoft.com/fwlink/?LinkId=717179&amp;clcid=0x4009" target="_blank" rel="noopener">downloaded and installed a storage emulator</a> You can launch Microsoft Azure Storage Emulator from its Physical location or from the desktop or start menu shortcut.
<div id="attachment_3631" style="width: 869px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-emulator-location.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3631" class="wp-image-3631 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-emulator-location.png" alt="Azure Storage Emulator Physical Location" width="859" height="94" srcset="https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-emulator-location.png 859w, https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-emulator-location-300x33.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-emulator-location-768x84.png 768w" sizes="(max-width: 859px) 100vw, 859px" /></a><p id="caption-attachment-3631" class="wp-caption-text">Azure Storage Emulator Physical Location</p></div></li>
<li>If you can see the below-attached Command Prompt screen after Emulator started. Then you can proceed to start Microsoft Azure Storage Explorer as the Azure Storage Emulator is started successfully.
<div id="attachment_3633" style="width: 710px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-emulator-screen-after-started-e1552723801433.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3633" class="wp-image-3633 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-emulator-screen-after-started-e1552723801433.png" alt="Command Prompt Screen after Microsoft Azure Storage Emulator Started" width="700" height="237" /></a><p id="caption-attachment-3633" class="wp-caption-text">Command Prompt Screen after Microsoft Azure Storage Emulator Started</p></div></li>
<li>Now, you have to <a href="https://azure.microsoft.com/en-us/features/storage-explorer/" target="_blank" rel="noopener">download and install Microsoft Azure Storage Explorer</a> and then you can launch Microsoft Azure Storage Explorer from its Physical location or from the desktop or start menu shortcut.
<div id="attachment_3635" style="width: 837px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-explorer-location.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3635" class="wp-image-3635 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-explorer-location.png" alt="Microsoft Azure Storage Explorer Location" width="827" height="97" srcset="https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-explorer-location.png 827w, https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-explorer-location-300x35.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-explorer-location-768x90.png 768w" sizes="(max-width: 827px) 100vw, 827px" /></a><p id="caption-attachment-3635" class="wp-caption-text">Microsoft Azure Storage Explorer Location.</p></div></li>
<li>If you don&#8217;t have Azure Storage account then it&#8217;s easy to <a href="http://azure.microsoft.com/en-us/pricing/free-trial/" target="_blank" rel="noopener">get FREE Trial Azure Storage account</a> or use your MSDN to get credit each month which will be more than enough for real testing. If you prefer to avoid all this hassle then Microsoft provides another great way to test Azure Storage functionality is totally offline mode on your local machine. You can just <a href="http://www.microsoft.com/en-us/download/details.aspx?id=42317" target="_blank" rel="noopener">download Azure Storage Emulator</a> and start testing.</li>
<li> <a href="http://msdn.microsoft.com/en-us/library/azure/hh403989.aspx" target="_blank" rel="noopener">Click here</a> to learn more about how to configure Azure Storage Emulator for Testing and Development purposes. In order to connect to Azure Storage Service from SSIS, you will need Storage AccountName and an AccessKey. Ask your SysAdmin or responsible person to provide that information to you. Here are sample Account Name and Access Key(<b>this is just example key which may differ in your case</b>)<br />
<pre class="crayon-plain-tag">Account Name: mystorageaccount 
Access Key: Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==</pre>
</li>
<li>For Creating a Tables, First of all, you need to go to Microsoft Storage Explorer Window. Then you can go through like this way (Storage Accounts –&gt; Emulator &#8211; Default Ports(Key) –&gt; Tables. Right-click on Tables and Select Create Table and put your table name you want.
<div style="width: 360px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-storage-destination-create-table.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-storage-destination-create-table.png" alt="Create Tables in Azure Table Storage Emulator" width="350" height="479" /></a><p class="wp-caption-text">Create Tables in Azure Table Storage Emulator</p></div></li>
</ol>
<h2>Write data using ZS Azure Table Storage Destination</h2>
<p>In this tutorial, you will learn how to write data into Azure Table Storage. You can use <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/dummydata-source.htm" target="_blank" rel="noopener">ZS DummyData Source</a> for practice it(In this case it&#8217;s from SQL Server Source). So, Let&#8217;s start with an example. In this SSIS we will write data into Azure Table Storage using ZS Azure Table Storage Destination.</p>
<ol>
<li>Once you have created Azure Storage Table and you got valid Account Name and AccessKey (for the local emulator you don&#8217;t need this) you may proceed to create a new SSIS package. In BIDS/SSDT create new SSIS package</li>
<li>From the SSIS toolbox drag and drop Data Flow Task on the control flow designer surface.
<div id="attachment_7934" style="width: 470px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/09/ssis-drag-drop-data-flow-task.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7934" class="wp-image-7934 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/09/ssis-drag-drop-data-flow-task.png" alt="Drag and Drop SSIS Data Flow Task from SSIS Toolbox" width="460" height="155" srcset="https://zappysys.com/blog/wp-content/uploads/2019/09/ssis-drag-drop-data-flow-task.png 460w, https://zappysys.com/blog/wp-content/uploads/2019/09/ssis-drag-drop-data-flow-task-300x101.png 300w" sizes="(max-width: 460px) 100vw, 460px" /></a><p id="caption-attachment-7934" class="wp-caption-text">Drag and Drop SSIS Data Flow Task from SSIS Toolbox</p></div></li>
<li>Double click on the DataFlow task to see DataFlow designer surface.</li>
<li>Here, In Visual Studio, drag and drop the OLE DB Source and Azure Table Storage Destination in the design surface and join the components with the blue arrow.
<div style="width: 567px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-storage-destination-adapter-drag.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-storage-destination-adapter-drag.png" alt="SSIS Azure Table Storage Destination - Drag and Drop" width="557" height="167" /></a><p class="wp-caption-text">SSIS Azure Table Storage Destination &#8211; Drag and Drop</p></div></li>
<li>Now, we need two connection, OLE DB Connection, and Azure Storage Connection. Click <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/azure-storage-connection-manager.htm" target="_blank" rel="noopener">here</a> to create Azure Storage Connection.</li>
</ol>
<h3>How to create OLE DB Connection</h3>
<ol>
<li>Let&#8217;s, Right-click on Connection Managers Panel to Create OLE DB Connection, so you can use Source and Context Menu will appear, Select New OLE DB Connection from the Context Menu.
<div style="width: 485px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-new-oledb-connection-step-1.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-new-oledb-connection-step-1.png" alt="OLE DB Connection - Create New Connection" width="475" height="353" /></a><p class="wp-caption-text">OLE DB Connection &#8211; Create New Connection</p></div></li>
<li>Now, click on New Button to create Connection.
<div style="width: 665px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-new-oledb-connection-step-2.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-new-oledb-connection-step-2.png" alt="OLE DB Connection - Create New Connection" width="655" height="558" /></a><p class="wp-caption-text">OLE DB Connection &#8211; Create New Connection</p></div></li>
<li>Let&#8217;s Configure Connection Manager, just Follow steps one by one as we have created.
<div style="width: 730px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-new-oledb-connection-step-3.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-new-oledb-connection-step-3.png" alt="OLE DB Connection - Configure Connection" width="720" height="625" /></a><p class="wp-caption-text">OLE DB Connection &#8211; Configure Connection</p></div></li>
<li>Click on the OK button to save configure Setting UI.</li>
</ol>
<h3>Write data into Azure Storage Table in SSIS</h3>
<ol>
<li>Double click on OLE DB Source for configure it.</li>
<li>Let&#8217;s Configure in Connection Manager, just follow the below image steps.
<div style="width: 828px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-oledb-source-editor-manager.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-oledb-source-editor-manager.png" alt="OLE DB Source - Configure" width="818" height="560" /></a><p class="wp-caption-text">OLE DB Source &#8211; Configure</p></div></li>
<li>Click OK to Save OLE DB Source Editor UI Settings.</li>
<li>Now double click Azure Table Storage Destination to configure it.</li>
<li>On [Connection Manager] tab select Azure Storage Connection manager.
<div style="width: 800px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-storage-destination-select-adapter-connection.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-storage-destination-select-adapter-connection.png" alt="ZS Azure Table Storage Destination - Connection Manager" width="790" height="287" /></a><p class="wp-caption-text">ZS Azure Table Storage Destination &#8211; Connection Manager</p></div></li>
<li>Click on [Component Properties] tab and select AccessMode=Table and Pick destination Table from the Tables dropdown list.<br />
<div class="su-note"  style="border-color:#e5de9d;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><div class="su-note-inner su-u-clearfix su-u-trim" style="background-color:#fff8b7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;">If you choose Reload option then target table is first truncated before inserting records so be careful with Reload option.</div></div>
<div style="width: 800px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-storage-destination-select-table.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-storage-destination-select-table.png" alt="ZS Azure Table Storage Destination - Component Properties" width="790" height="509" /></a><p class="wp-caption-text">ZS Azure Table Storage Destination &#8211; Component Properties</p></div></li>
<li>Click on [Mappings] tab and verify mapping. Drop CustomerID and RecordID mappings and reconnect as shown below. This is just to make sure PrimaryKey columns are mapped.
<div style="width: 800px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-storage-destination-select-mappings.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-storage-destination-select-mappings.png" alt="ZS Azure Table Storage Destination - Column Mappings" width="790" height="479" /></a><p class="wp-caption-text">ZS Azure Table Storage Destination &#8211; Column Mappings</p></div></li>
<li>Click OK to save settings.</li>
<li>Execute the package and verify the target data.
<div style="width: 359px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-write-data-sample.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-write-data-sample.png" alt="ZS Azure Table Storage Destination - Execute the Package" width="349" height="317" /></a><p class="wp-caption-text">ZS Azure Table Storage Destination &#8211; Execute the Package</p></div>
<div style="width: 892px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-console-verify-record-count.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-console-verify-record-count.png" alt="ZS Azure Table Storage Verify Customers Table Data" width="882" height="413" /></a><p class="wp-caption-text">ZS Azure Table Storage &#8211; Verify Customers Table Data</p></div></li>
</ol>
<h2>Read data using ZS Azure Table Storage Source</h2>
<p>In this tutorial, you will learn how to read data from Azure Table Storage in SSIS using the ZS Azure Table Storage Source adapter. In this SSIS we will read data with SQL Query and Table Mode. So Let&#8217;s begin it.</p>
<ol>
<li>You may proceed to create a new SSIS package. In BIDS/SSDT create a new SSIS package.</li>
<li>From the SSIS toolbox drag and drop Data Flow Task on the control flow designer surface.
<div style="width: 470px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/drag-and-drop-data-flow-task.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/drag-and-drop-data-flow-task.png" alt="SSIS Data Flow Task - Drag and Drop" width="460" height="155" /></a><p class="wp-caption-text">SSIS Data Flow Task &#8211; Drag and Drop</p></div></li>
<li>Double click on the DataFlow task to see DataFlow designer surface.</li>
<li>From the SSIS toolbox drag and drop Azure Table Storage Source on the data flow designer surface.
<div style="width: 538px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source-drag.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source-drag.png" alt="ZS Azure Table Storage Source - Drag and Drop" width="528" height="99" /></a><p class="wp-caption-text">ZS Azure Table Storage Source &#8211; Drag and Drop</p></div></li>
<li>Now, we need an Azure Storage connection. Click <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/azure-storage-connection-manager.htm" target="_blank" rel="noopener">here</a> to Create Connection.</li>
</ol>
<h3>Extract data with Query Mode</h3>
<ol>
<li>Here, we are getting data using Query Mode with Dynamic expression value.</li>
<li>Lets, create a Variable with correct DataType and Value, use the following image.
<div style="width: 442px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source-create-variable.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source-create-variable.png" alt="SSIS Variables - Create Variable and Store Value" width="432" height="133" /></a><p class="wp-caption-text">SSIS Variables &#8211; Create Variable and Store Value</p></div></li>
<li>Double click Azure Table Storage Source to configure it.</li>
<li>Select the connection we have created before, set AccessMode to Query. You can use the following SQL Query and select Variable. Click here for more <a href="https://zappysys.com/onlinehelp/ssis-powerpack/index.htm#page=azure-table-storage-source.htm#A_QueryLanguage" target="_blank" rel="noopener">Azure Table Storage Query Examples.</a><br />
<pre class="crayon-plain-tag">SELECT * FROM Customers
WHERE Country = '{{User::varCountry}}'</pre>
<div style="width: 850px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source-query-data-preview.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source-query-data-preview.png" alt="ZS Azure Table Storage Source - Configure Query Mode" width="840" height="673" /></a><p class="wp-caption-text">ZS Azure Table Storage Source &#8211; Configure Query Mode</p></div></li>
<li>Click on the Preview button to see Data Preview and OK button to save configure setting UI.</li>
<li>From the SSIS toolbox drag and drop Trash Destination on the data flow designer surface.
<div style="width: 529px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ssis-trash-destination-adapter-drag.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ssis-trash-destination-adapter-drag.png" alt="ZS Trash Destination - Drag and Drop" width="519" height="121" /></a><p class="wp-caption-text">ZS Trash Destination &#8211; Drag and Drop</p></div></li>
<li>Now single click on the Azure Table Storage Source, once you see the blue arrow from the source &#8230; connect it to Trash Destination.</li>
<li>Double click on ZS Trash Destination to Configure it.
<div style="width: 622px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ui-trash-destination-settings.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ui-trash-destination-settings.png" alt="ZS Trash Destination - Configure" width="612" height="523" /></a><p class="wp-caption-text">ZS Trash Destination &#8211; Configure</p></div></li>
<li>Click on the OK button to save Trash Destination configure setting UI.</li>
<li>Execute the package and verify source data in the data viewer.
<div style="width: 282px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source-extract-data-query-mode.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source-extract-data-query-mode.png" alt="SSIS ZS Azure Table Storage Source - Execute the Package" width="272" height="314" /></a><p class="wp-caption-text">SSIS ZS Azure Table Storage Source &#8211; Execute the Package</p></div></li>
</ol>
<h3>Extract data with Table Mode</h3>
<ol>
<li>So, Double click Azure Table Storage Source to configure it.</li>
<li>In the Azure Table Storage Source, Select the connection we have created, set AccessMode to Table and Select Table from the Tables dropdown.
<div style="width: 646px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source-table-data-preview.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source-table-data-preview.png" alt="SSIS ZS Azure Table Source - Configure Table Mode" width="636" height="473" /></a><p class="wp-caption-text">SSIS ZS Azure Table Source &#8211; Configure Table Mode</p></div></li>
<li>Click on the Preview button to see Data Preview and OK button to save configure setting UI.</li>
<li>From the SSIS toolbox drag and drop Trash Destination on the data flow designer surface.
<div style="width: 529px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ssis-trash-destination-adapter-drag.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ssis-trash-destination-adapter-drag.png" alt="ZS Trash Destination - Drag and Drop" width="519" height="121" /></a><p class="wp-caption-text">ZS Trash Destination &#8211; Drag and Drop</p></div></li>
<li>Now single click on the Azure Table Storage Source, once you see the blue arrow from the source &#8230; connect it to Trash Destination.</li>
<li>Double click on ZS Trash Destination to Configure it.
<div style="width: 622px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ui-trash-destination-settings.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ui-trash-destination-settings.png" alt="ZS Trash Destination - Configure" width="612" height="523" /></a><p class="wp-caption-text">ZS Trash Destination &#8211; Configure</p></div></li>
<li>Click on the OK button to save Trash Destination configure setting UI.</li>
<li>In the last, Execute the package and verify source data in the data viewer.
<div style="width: 283px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source-extract-data-sample.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source-extract-data-sample.png" alt="ZS Azure Table Storage Source - Execute the Package" width="273" height="310" /></a><p class="wp-caption-text">ZS Azure Table Storage Source &#8211; Execute the Package</p></div></li>
</ol>
<h2>Conclusion</h2>
<p>After all, In this blog, we learned how to write data in Azure Table Storage in SSIS. We used the Azure Table Storage Destination for write and Azure Table Storage Source to read data from Microsoft Azure Table Storage using Query and Table mode. You can <a href="https://zappysys.com/products/ssis-powerpack/">download SSIS PowerPack here</a> to try many other scenarios not discussed in this blog along with 70+ other components.</p>
<h2><span id="References">References</span></h2>
<p>There are a few details you should use the following links for more information:</p>
<ul>
<li><a href="https://zappysys.com/products/ssis-powerpack/ssis-azure-table-storage-destination/" target="_blank" rel="noopener">Azure Table Storage Destination</a></li>
<li><a href="https://zappysys.com/products/ssis-powerpack/ssis-azure-table-storage-source/" target="_blank" rel="noopener">Azure Table Storage Source</a></li>
<li><a href="https://zappysys.com/blog/category/ssis/components/ssis-trash-destination/" target="_blank" rel="noopener">ZS Trash Destination</a></li>
<li><a href="https://docs.microsoft.com/en-us/azure/cosmos-db/table-storage-overview" target="_blank" rel="noopener">Microsoft Azure Table Storage</a></li>
<li><strong>Help File:</strong>
<ul>
<li><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/azure-table-storage-destination.htm" target="_blank" rel="noopener">Azure Table Storage Destination</a></li>
<li><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/azure-table-storage-source.htm" target="_blank" rel="noopener">Azure Table Storage Source</a></li>
<li><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/trash-destination.htm" target="_blank" rel="noopener">ZS Trash Destination</a></li>
</ul>
</li>
</ul>
<p>The post <a href="https://zappysys.com/blog/read-write-azure-table-storage-data-ssis/">How to Read/Write Azure Table Storage data in SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
