Upload
marc-leinbach
View
448
Download
4
Embed Size (px)
Citation preview
REST API File Upload using SSIS (Multi Part POST)
Reach for the Clouds, Inc.Next Generation SSIS Tasks and Connectors Series
AUTHOR: NAYAN PATEL | SR. ETL SSIS ARCHITECTN PAT E L @ R FTC LO U D S . C O M
Content
• Introduction• How to do REST API File Upload using SSIS• Understanding Multipart Upload / File Upload• Conclusion• Keywords
Introduction • In this post you will learn how to use the SSIS REST API Task to
perform REST API File Upload (i.e. RESTful file upload) to web server. Typically to access REST API you may have to use programming language but in this post we will use visual drag and drop approach.• File upload using HTTP/HTTPS protocol sometimes also known
as multipart/form-data POST. Many REST APIs support for file upload using HTTP methods such as POST or PUT.• Real-world scenarios:• Uploading Image/media to Twitter or Facebook• Import Marketo Lead files using REST API
How to do REST API File Upload using SSIS
1.DOWNLOAD AND INSTALL SSIS REST API TASK
2.FROM TOOLBOX OF THE SSIS DESIGNER DRAG ZS SSIS REST API TASK
3.DOUBLE CLICK REST API TASK TO CONFIGURE IT
4.SPECIFY URL WHERE YOU WISH TO POST FILE/OTHER DATA
EXAMPLE : HTTP:/ /MYSERVER/API/V1/UPLOADDATA
5.SELECT HTTP REQUEST METHOD AS POST ( MAKE SURE YOUR AP I DOCUMENTATION FOR TH IS . SOMET IMES ITS PUT RATHER
POST)
6.CHECK FILE UPLOAD OPTION NEXT TO BODY TEXT BOX !!!!THIS IS THE MOST IMPORTANT SO DON’T FORGET !!!!
How to do REST API File Upload using SSIS
7.NOW CLICK EDIT BUTTON NEXT TO BODY TEXT BOX. YOU MAY SPECIFY FILES / FIELDS YOU WISH TO SUBMIT ALONG WITH YOUR REQUEST IN THE FOLLOWING FORMAT. ITS KEY/VALUE PAIR SEPARATED BY NEW LINE. EACH KEY/VALUE PAIR HAS TO BE SEPARATED WITH EQUAL SIGN (=).NOTE: ANY VALUE STARTING WITH AT SYMBOL (@) IS TREATED AS FILE PATH. IF YOU DON’T WANT THAT BEHAVIOR THEN USE SLASH ALSO KNOWN AS ESCAPE SEQUENCE (E.G. SOMEFIELD3STARTSWITHAT=\@MYTWITTERHANDLE). YOU CAN DO SAME THING TO ADD NEW LINE CHARACTER IN YOUR VALUE. USE \R\N FOR NEW LINE. USE \T FOR TABALSO NOTICE NAME OF FIELD CAN BE ANYTHING UNLESS YOUR API EXPECTS IN CERTAIN WAY. EXAMPLE: TWITTER IMAGE UPLOAD API MAY EXPECT YOUR IMAGE FILE AS MEDIA FIELD IN THAT CASE YOU WOULD WRITE …. MEDIA=@C:\DATA\SOMEIMAGE.PNG …. RATHER THAN FILE1=@C:\DATA\SOMEIMAGE.PNGFile1=@c:\data\somedata.txt
File2=@c:\data\someimage.pngSomefield1=abcdefSomefield2=123456Extrafield3WithNewLine=This is line1\r\nThis is line2 with tab\t and more \t tabSomefield3StartsWithAt=\@MyTwitterHandle
CL ICK OK TO S AVE ABOVE
How to do REST API File Upload using SSIS
8. NOW CLICK TEST BUTTON ON UI TO MAKE SURE EVERYTHING IS LOOKING GOOD.
UPLOADING F I LES US ING REST AP I IN SS IS ( REST AP I F I LE UPLOAD US ING MULT IPART /FORM-DATA POST)
Understanding Multipart Upload / File Upload
NOW LETS TAKE A LOOK HOW DOES IT LOOK LIKE IN FIDDLER WHEN ACTUAL MULTIPART POST REQUEST IS MADE FOR REST API FILE UPLOAD. NOTICE EACH FIELD INCLUDED IN OUT HTTP POST REQUEST IS SEPARATED BY SOME RANDOM BOUNDARY. THIS BOUNDARY IS AUTOMATICALLY GENERATED BY REST API TASK. IF YOU POST IMAGE THEN YOU WILL SEE BINARY DATA RATHER THAN TEXT FOR FILE CONTENT.
SEE IMAGE ON NEXT SLIDE
HTTTP MULTIPART POST – FILE UPLOAD EXAMPLE – CHECK FIDDLER REQUEST
Conclusion
IF YOU HAVE NEED TO PERFORM REST API FILE UPLOAD / REST API INTEGRATION WITHOUT LEARNING COMPLEX APIS AND PROGRAMMING LANGUAGES (E.G. PYTHON, JAVA, C#) THEN SSIS REST API TASK PROVIDES PERFECT WAY TO DO REST API INTEGRATION WITH YOUR EXISTING SYSTEM. YOU CAN UNCOVER ENDLESS POSSIBILITIES WITH DRAG AND DROP APPROACH WHICH IS NOT ONLY SIMPLE TO USE BUT INCLUDES MANY OPTIONS FOR COMPLEX SCENARIOS TOO.
Keywords
HOW TO PERFORM REST API FILE UPLOAD | HOW TO DO RESTFUL FILE UPLOAD IN C# | HOW TO DO MULTIPART FILE UPLOAD WITHOUT CURL | HOW TO UPLOAD MULTIPLE FILES USING HTTP MULTI PART FORMS | REST CLIENT UPLOAD FILE | C# REST API UPLOAD FILE | REST API UPLOAD IMAGE | REST API UPLOAD FILE