<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: QS S3 Connection for Non Public files in Connectivity &amp; Data Prep</title>
    <link>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/3538#M71</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Levi, I had noted from other posts that this was not possible.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I receive the below error, Access Key and Secret Key is correct.&lt;/P&gt;&lt;P&gt;I am going to investigate any end point and firewall issues now you have confirmed non public is indeed possible.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="S3 Connector - List Buckets.PNG" class="jive-image image-1" src="/legacyfs/online/191552_S3 Connector - List Buckets.PNG" style="width: 620px; height: 236px;" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 26 Jan 2018 17:01:52 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2018-01-26T17:01:52Z</dc:date>
    <item>
      <title>QS S3 Connection for Non Public files</title>
      <link>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/3534#M67</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I cannot currently connect to a private S3 bucket using the QS connector, as this requires that the buckets be made public.&lt;/P&gt;&lt;P&gt;Is there any way I can overcome this with the connector or indeed a web file / REST connection, without having to compromise on file security?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 19 Jan 2018 09:26:58 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/3534#M67</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-01-19T09:26:58Z</dc:date>
    </item>
    <item>
      <title>Re: QS S3 Connection for Non Public files</title>
      <link>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/3535#M68</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Qlik Web Connectors has support for Amazon S3 with authentication and full security. You can download here &lt;A href="http://market.qlik.com/solutions/Qlik_Web_Connectors" title="http://market.qlik.com/solutions/Qlik_Web_Connectors"&gt;Qlik Market&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Amazon S3 support is free as it is still in beta I believe. When out of beta it will either be a standard connector which still we be free or a premium connector where you will have to pay a yearly license fee.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 19 Jan 2018 15:17:45 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/3535#M68</guid>
      <dc:creator>petter</dc:creator>
      <dc:date>2018-01-19T15:17:45Z</dc:date>
    </item>
    <item>
      <title>Re: QS S3 Connection for Non Public files</title>
      <link>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/3536#M69</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Petter,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am currently using the S3 Connector in beta, within the Qlik Web Connectors package, and cannot connect, unless files are made public within S3, even with full authentication, so unfortunately this does not help.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Jan 2018 11:45:27 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/3536#M69</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-01-22T11:45:27Z</dc:date>
    </item>
    <item>
      <title>Re: QS S3 Connection for Non Public files</title>
      <link>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/3537#M70</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am not following. I am having no issues accessing a private file on my end using the connector.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;S3 Validation:&lt;/P&gt;&lt;P&gt;&lt;IMG alt="Qx8fi5o.png" class="jive-image image-1" src="https://i.imgur.com/Qx8fi5o.png" style="height: 248px; width: 620px;" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Connector setup:&lt;/P&gt;&lt;P&gt;&lt;IMG alt="lncUyGh.png" class="jive-image image-2" src="https://i.imgur.com/lncUyGh.png" style="height: 248px; width: 620px;" /&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="5Rdryx9.png" class="jive-image image-3" src="https://i.imgur.com/5Rdryx9.png" style="font-size: 10pt; height: 203px; width: 620px;" /&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="Jp95apM.png" class="image-4 jive-image" src="https://i.imgur.com/Jp95apM.png" style="height: 315px; width: 620px;" /&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="a7AP6SF.png" class="image-5 jive-image" src="https://i.imgur.com/a7AP6SF.png" style="height: 270px; width: 620px;" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Jan 2018 15:58:46 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/3537#M70</guid>
      <dc:creator>Levi_Turner</dc:creator>
      <dc:date>2018-01-26T15:58:46Z</dc:date>
    </item>
    <item>
      <title>Re: QS S3 Connection for Non Public files</title>
      <link>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/3538#M71</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Levi, I had noted from other posts that this was not possible.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I receive the below error, Access Key and Secret Key is correct.&lt;/P&gt;&lt;P&gt;I am going to investigate any end point and firewall issues now you have confirmed non public is indeed possible.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="S3 Connector - List Buckets.PNG" class="jive-image image-1" src="/legacyfs/online/191552_S3 Connector - List Buckets.PNG" style="width: 620px; height: 236px;" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Jan 2018 17:01:52 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/3538#M71</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-01-26T17:01:52Z</dc:date>
    </item>
    <item>
      <title>Re: QS S3 Connection for Non Public files</title>
      <link>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/3539#M72</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'd personally test with Postman from the machine the Web Connector request (e.g. if running from a server, test with Postman there):&lt;/P&gt;&lt;P&gt;&lt;IMG alt="1iSyKls.png" class="jive-image image-1" src="https://i.imgur.com/1iSyKls.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;403 indicates that it's a permissions issue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can technically do this in a load script using the WITH CONNECTION function to pass along values to the REST connector:&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;/ These will expire soon so I am not too worried here&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;// Validated with Qlik Sense November 2017 Patch 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;// Setting the header values to pass later; scalable solution is to handle via include scripts which are updated by a script elsewhere&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;LET vAuthorization='AWS4-HMAC-SHA256 Credential=123456788/20171220/xx-xxxx-x/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=ef99e277c8bac93f26a55bca893981a3bd537529acbfbb5595a0c2e5e2d3fc93';&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;LET vSha256='e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855';&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;LET vDate='20171220T235344Z';&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;&lt;SPAN&gt;LET URL_path = '&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://s3.amazonaws.com/qlikshare124124190zzd/201011.csv';" rel="nofollow" target="_blank"&gt;https://s3.amazonaws.com/qlikshare124124190zzd/201011.csv';&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;LET vURL_path = replace(URL_path,'"', chr(34)&amp;amp;chr(34));&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;// Real working one&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;//LIB CONNECT TO 'S3 (AWSv4) (qtsel_ltu)';&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;LIB CONNECT TO 'S3 (Dummy) (qtsel_ltu)';&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;RestConnectorMasterTable:&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;SQL SELECT&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;"col_1"&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;FROM CSV (header off, delimiter ",", quote """") "CSV_source"&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;WITH CONNECTION (&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;URL "$(URL_path)",&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;HTTPHEADER "Authorization" "$(vAuthorization)",&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;HTTPHEADER "X-Amz-Date" "$(vDate)",&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;HTTPHEADER "X-Amz-Content-Sha256" "$(vSha256)",&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;[CSV_source]:&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;LOAD "col_1" as "col_1"&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px; font-family: 'courier new', courier;"&gt;RESIDENT RestConnectorMasterTable;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;DROP TABLE RestConnectorMasterTable;&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;The difficulty with S3 is that the more modern auth mechanisms on AWS / S3 need updated computed Authorization header values. You &lt;EM&gt;can&lt;/EM&gt; scale this by using include scripts in Sense and some other script (e.g. I've used &lt;A href="https://github.com/mhart/aws4" title="https://github.com/mhart/aws4"&gt;GitHub - mhart/aws4: Signs and prepares node.js (and browser) requests using AWS Signature Version 4&lt;/A&gt;) to handle the computation.&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Jan 2018 19:47:03 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/3539#M72</guid>
      <dc:creator>Levi_Turner</dc:creator>
      <dc:date>2018-01-26T19:47:03Z</dc:date>
    </item>
    <item>
      <title>Re: QS S3 Connection for Non Public files</title>
      <link>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/3540#M73</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Levi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For the signature, please can I ask how you managed to compute this?&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Courier New;"&gt;&lt;IMG alt="Signature.PNG" class="jive-image image-1" src="https://community.qlik.com/legacyfs/online/191829_Signature.PNG" style="height: auto;" /&gt;&lt;/SPAN&gt;&lt;SPAN style="font-family: Courier New;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Courier New;"&gt;Please could I also ask how you defined &lt;SPAN style="font-family: Courier New;"&gt;vSha256 for the &lt;/SPAN&gt;signing algorithm?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Courier New;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Courier New;"&gt;Thanks again&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Courier New;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Courier New;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Jan 2018 10:48:54 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/3540#M73</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-01-30T10:48:54Z</dc:date>
    </item>
    <item>
      <title>Re: QS S3 Connection for Non Public files</title>
      <link>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/3541#M74</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Levi, please ignore, I managed to get the signature and algorithm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My Lib connect string fails however, whilst using&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Courier New;"&gt;LIB CONNECT TO 'S3 (AWSv4) (qtsel_ltu);&lt;/SPAN&gt;&lt;SPAN style="font-family: Courier New;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Courier New;"&gt;Thanks again&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Courier New;"&gt;--------&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Courier New;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Courier New;"&gt;Example code:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Courier New;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;LET vAuthorization='xxxx-xxx-xxxxxx Credential=xxxxxxxxxxxxxxxx/20180130/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';&lt;BR /&gt;LET vSha256='e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855';&lt;BR /&gt;LET vDate='20180130T105549Z';&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;LET URL_path = '&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://s3.amazonaws.com/publytics-ftp-backup/axis360/Axis360_CIRC_Init.txt';" rel="nofollow" target="_blank"&gt;https://s3.amazonaws.com/publytics-ftp-backup/axis360/Axis360_CIRC_Init.txt';&lt;/A&gt;&lt;BR /&gt;LET vURL_path = replace(URL_path,'"', chr(34)&amp;amp;chr(34));&lt;/P&gt;&lt;P&gt;LIB CONNECT TO 'S3 (AWSv4) (qtsel_ltu)';&lt;/P&gt;&lt;P&gt;RestConnectorMasterTable:&lt;BR /&gt;SQL SELECT&lt;BR /&gt;"col_1"&lt;BR /&gt;FROM CSV (header off, delimiter ",", quote """") "CSV_source"&lt;BR /&gt;WITH CONNECTION (&lt;BR /&gt;URL "$(URL_path)",&lt;BR /&gt;HTTPHEADER "Content-Type" "$(vContentType),&lt;BR /&gt;HTTPHEADER "Authorization" "$(vAuthorization)",&lt;BR /&gt;HTTPHEADER "X-Amz-Date" "$(vDate)",&lt;BR /&gt;HTTPHEADER "X-Amz-Content-Sha256" "$(vSha256)",&lt;BR /&gt;)&lt;BR /&gt;;&lt;/P&gt;&lt;P&gt;[CSV_source]:&lt;BR /&gt;LOAD "col_1" as "col_1"&lt;BR /&gt;RESIDENT RestConnectorMasterTable;&lt;BR /&gt;DROP TABLE RestConnectorMasterTable; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="LIB CONNECT.PNG" class="jive-image image-1" height="290" src="/legacyfs/online/191839_LIB CONNECT.PNG" style="width: 684px; height: 290.14px;" width="684" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Jan 2018 11:13:43 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/3541#M74</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-01-30T11:13:43Z</dc:date>
    </item>
    <item>
      <title>Re: QS S3 Connection for Non Public files</title>
      <link>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/3542#M75</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You seems to be mixing to different ways of connecting to Amazon S3:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) Using Qlik Web Connectors - S3 connector&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; The QWC acts as a proxy to Amazon S3. The Qlik Sense script will have to &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; connect to this proxy which would be the same computer on localhost or another computer&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; in your internal network that is running the QWC software. Like Levi I had no problem using&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; authentication on S3 through QWC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; You highlighter in blue in one of the previous posts the URL that you could use with a simple&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LOAD .... FROM &amp;lt;URL&amp;gt;; // URL would be normally localhost where the QWC is hosted.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) Using Qlik REST Connector directly to Amazon&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; The authentication mechanism would be "hard" to implement in a load script - so public access is &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; the most common case for using this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Copy and pasting an AWS signature with Postman or similar tools with give you an option to test but only a&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; limited time period to connect - a few minutes at the most.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Jan 2018 11:30:08 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/3542#M75</guid>
      <dc:creator>petter</dc:creator>
      <dc:date>2018-01-30T11:30:08Z</dc:date>
    </item>
    <item>
      <title>Re: QS S3 Connection for Non Public files</title>
      <link>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/3543#M76</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you Petter and Levi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I was able to connect via Postman, and can now connect using a REST connection, but the expiry of the signature as you have mentioned, means that I cannot use this solution as a longer term incremental pull from S3, and after some time receive an access error once again whilst files remain private.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Back to the drawing board for me then I guess, as I cannot see how QS would fulfil this use case.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Jan 2018 12:53:07 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/3543#M76</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-01-30T12:53:07Z</dc:date>
    </item>
    <item>
      <title>Re: QS S3 Connection for Non Public files</title>
      <link>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/3544#M77</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Either by using the S3 connector in the Qlik Web Connectors OR a complicated method referenced above.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The schema of the hard method would be:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Setup a script to compute the exact values used in the variables.&lt;UL&gt;&lt;LI&gt;e.g. node s3header-authorization.js outputs &lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px;"&gt;LET vAuthorization='xxxx-xxx-xxxxxx Credential=xxxxxxxxxxxxxxxx/20180130/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; which is then stored in a .TXT or .QVS file. Repeat for all headers.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;In the load script use include files to pull in these variables&lt;UL&gt;&lt;LI&gt;e.g. $(Must_Include=lib://Scripts\s3header-authorization.qvs);&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;Setting up a process to reload those tokens every X minutes.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It certainly could work but the S3 connector seems much easier to implement, in my view.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Jan 2018 13:26:01 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/3544#M77</guid>
      <dc:creator>Levi_Turner</dc:creator>
      <dc:date>2018-01-30T13:26:01Z</dc:date>
    </item>
    <item>
      <title>Re: QS S3 Connection for Non Public files</title>
      <link>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/3545#M78</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Levi,&lt;/P&gt;&lt;P&gt;QS does not provide the ability to code SHA-256, which the real-time generation of the AWS signature requires - only Hash256 which isn't the same.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The s3 connector provides the error shown.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example code looks like it would work..(if SHA-256 encryption was indeed possible.)&lt;/P&gt;&lt;P&gt;&lt;IMG alt="dynamic AWS headers.PNG" class="jive-image image-1" src="/legacyfs/online/191899_dynamic AWS headers.PNG" style="width: 620px; height: 363px;" /&gt;&lt;/P&gt;&lt;P&gt;---------------------------------------------------------------&lt;/P&gt;&lt;P&gt;let date = TEXT(date(today(),'YYYYMMDD'));&lt;/P&gt;&lt;P&gt;let dateIS08601 = TEXT(REPLACE((DATE(now( ) ,'YYYYMMDD')&amp;amp;'T'&amp;amp;DATE(now() ,'hh:mm:ss')&amp;amp;'Z'),':',''));&lt;/P&gt;&lt;P&gt;let canonical_request =&lt;BR /&gt;'GET&lt;BR /&gt;/&lt;/P&gt;&lt;P&gt;host:axis360.s3.amazonaws.com'&amp;amp;chr(10)&amp;amp;&lt;BR /&gt;'x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'&amp;amp;chr(10)&amp;amp;&lt;BR /&gt;'x-amz-date:'&amp;amp;'$(dateIS08601)'&amp;amp;chr(10)&amp;amp;chr(10)&amp;amp;&lt;BR /&gt;'host;x-amz-content-sha256;x-amz-date'&amp;amp;chr(10)&amp;amp;&lt;BR /&gt;'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855';&lt;/P&gt;&lt;P&gt;let hash_canonical_request = Hash256(text('$(canonical_request)'));&lt;/P&gt;&lt;P&gt;let signing_key = Hash256(Hash256(Hash256(Hash256("AWS4" + "xxxx-xxxx-SHA256","$(date)"),"us-east-1"),"s3"),"aws4_request");&lt;/P&gt;&lt;P&gt;let String_to_Sign = &lt;BR /&gt;'AWS4-HMAC-SHA256'&amp;amp;chr(10)&amp;amp;&lt;BR /&gt;'$(dateIS08601)'&amp;amp;chr(10)&amp;amp;&lt;BR /&gt;'$(date)'&amp;amp;'/us-east-1/s3/aws4_request'&amp;amp;chr(10)&amp;amp;&lt;BR /&gt;'$(hash_canonical_request)';&lt;/P&gt;&lt;P&gt;let signature = Hash256('$(signing_key)','$(String_to_Sign)');&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;let vAuthorization='xxxx-xxxx-SHA256 Credential=xxxxxxxxxxxxxxxx/'&amp;amp;'$(date)'&amp;amp;'/us-east-1/s3/aws4_request, &lt;BR /&gt;SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature='&amp;amp;'$(signature)';&lt;BR /&gt;let vSha256='e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855';&lt;BR /&gt;let vDate='$(dateIS08601)';&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;let URL_path = '&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://s3.amazonaws.com/publytics-ftp-backup/receipts/PUBLYTIC_RECEIPTS_20170914.TXT';" rel="nofollow" target="_blank"&gt;https://s3.amazonaws.com/publytics-ftp-backup/receipts/PUBLYTIC_RECEIPTS_20170914.TXT';&lt;/A&gt;&lt;BR /&gt;let vURL_path = replace(URL_path,'"', chr(34)&amp;amp;chr(34));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your help so far.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm not sure how the s3 connector error can be resolved given that the same details can be passed though using a REST connection or Postman.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Jan 2018 15:03:35 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/3545#M78</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-01-30T15:03:35Z</dc:date>
    </item>
    <item>
      <title>Re: QS S3 Connection for Non Public files</title>
      <link>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/1738603#M5351</link>
      <description>&lt;P&gt;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/47469"&gt;@Levi_Turner&lt;/a&gt;&amp;nbsp;can you give some possible causes for the 403 error?&amp;nbsp; you mentioned it could be a permissions issue. permissions on the amazon side or on the qlik side?&amp;nbsp; &amp;nbsp;thanks!&lt;/P&gt;</description>
      <pubDate>Tue, 25 Aug 2020 18:51:32 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/1738603#M5351</guid>
      <dc:creator>Ken_T</dc:creator>
      <dc:date>2020-08-25T18:51:32Z</dc:date>
    </item>
    <item>
      <title>Re: QS S3 Connection for Non Public files</title>
      <link>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/1819015#M9225</link>
      <description>&lt;P&gt;Any possible way to fetch txt files instead of CSV?Please help.&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Thu, 01 Jul 2021 07:57:14 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Connectivity-Data-Prep/QS-S3-Connection-for-Non-Public-files/m-p/1819015#M9225</guid>
      <dc:creator>priyankapassi</dc:creator>
      <dc:date>2021-07-01T07:57:14Z</dc:date>
    </item>
  </channel>
</rss>

