<?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 Upload file to s3 using presigned post url in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/Upload-file-to-s3-using-presigned-post-url/m-p/2481547#M141265</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;I found the java routine below for uploading file using presigned post URL :&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture.PNG" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/171648i9C936D5BC80F8BB1/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture.PNG" alt="Capture.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;I have downloaded the package&amp;nbsp;&lt;STRONG&gt;&lt;EM&gt;httpcomponents-client-5.3.1-bin.tar.gz &lt;/EM&gt;&lt;/STRONG&gt;for uploading the jar below &lt;STRONG&gt;&lt;EM&gt;:&amp;nbsp;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture.PNG" style="width: 396px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/171649i7E7AFC75583560FF/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture.PNG" alt="Capture.PNG" /&gt;&lt;/span&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;I uploaded the .jar in the project :&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture.PNG" style="width: 971px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/171650i8BFD8B86796D6DCD/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture.PNG" alt="Capture.PNG" /&gt;&lt;/span&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Do you know why I get the errors as you can see in the first picture ?&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;EM&gt;The import org.apache.http cannot be resolved&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;EM&gt;HttpClient cannot be resolved to a type&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for your help&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 13 Sep 2024 14:53:55 GMT</pubDate>
    <dc:creator>Fernandez</dc:creator>
    <dc:date>2024-09-13T14:53:55Z</dc:date>
    <item>
      <title>Upload file to s3 using presigned post url</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Upload-file-to-s3-using-presigned-post-url/m-p/2481547#M141265</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;I found the java routine below for uploading file using presigned post URL :&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture.PNG" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/171648i9C936D5BC80F8BB1/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture.PNG" alt="Capture.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;I have downloaded the package&amp;nbsp;&lt;STRONG&gt;&lt;EM&gt;httpcomponents-client-5.3.1-bin.tar.gz &lt;/EM&gt;&lt;/STRONG&gt;for uploading the jar below &lt;STRONG&gt;&lt;EM&gt;:&amp;nbsp;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture.PNG" style="width: 396px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/171649i7E7AFC75583560FF/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture.PNG" alt="Capture.PNG" /&gt;&lt;/span&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;I uploaded the .jar in the project :&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture.PNG" style="width: 971px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/171650i8BFD8B86796D6DCD/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture.PNG" alt="Capture.PNG" /&gt;&lt;/span&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Do you know why I get the errors as you can see in the first picture ?&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;EM&gt;The import org.apache.http cannot be resolved&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;EM&gt;HttpClient cannot be resolved to a type&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for your help&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 13 Sep 2024 14:53:55 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Upload-file-to-s3-using-presigned-post-url/m-p/2481547#M141265</guid>
      <dc:creator>Fernandez</dc:creator>
      <dc:date>2024-09-13T14:53:55Z</dc:date>
    </item>
    <item>
      <title>Re: Upload file to s3 using presigned post url</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Upload-file-to-s3-using-presigned-post-url/m-p/2481729#M141269</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;I found another script that is working :&amp;nbsp;&lt;/P&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;package routines;&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;import java.io.File;&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;import java.io.FileInputStream;&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;import java.io.IOException;&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;import java.io.OutputStream;&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;import java.net.HttpURLConnection;&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;import java.net.URL;&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;public class WebServices {&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; public static void main(String[] args) {&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String presignedUrl = "YOUR_PRESIGNED_URL_HERE"; // Replace with your presigned URL&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String filePath = "path/to/your/file.txt"; // Replace with the path to your file&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; uploadFile(presignedUrl, filePath);&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println("File uploaded successfully.");&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (IOException e) {&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; e.printStackTrace();&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; }&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; public static void uploadFile(String presignedUrl, String filePath) throws IOException {&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; File file = new File(filePath);&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (!file.exists() || !file.isFile()) {&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new IOException("File does not exist or is not a valid file.");&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL url = new URL(presignedUrl);&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HttpURLConnection connection = (HttpURLConnection) url.openConnection();&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; connection.setRequestMethod("PUT");&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; connection.setDoOutput(true);&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; connection.setRequestProperty("Content-Type", "application/octet-stream");&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; connection.setRequestProperty("Content-Length", String.valueOf(file.length()));&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try (FileInputStream fis = new FileInputStream(file);&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;OutputStream os = connection.getOutputStream()) {&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; byte[] buffer = new byte[4096];&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int bytesRead;&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while ((bytesRead = fis.read(buffer)) != -1) {&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; os.write(buffer, 0, bytesRead);&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; os.flush();&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int responseCode = connection.getResponseCode();&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (responseCode != HttpURLConnection.HTTP_OK &amp;amp;&amp;amp; responseCode != HttpURLConnection.HTTP_CREATED) {&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new IOException("Failed to upload file. HTTP response code: " + responseCode);&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; }&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV class="lia-indent-padding-left-30px"&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;}&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 16 Sep 2024 09:58:42 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Upload-file-to-s3-using-presigned-post-url/m-p/2481729#M141269</guid>
      <dc:creator>Fernandez</dc:creator>
      <dc:date>2024-09-16T09:58:42Z</dc:date>
    </item>
  </channel>
</rss>

