Copy files to a FTP server from SFTP using ADF

Jeevi Danda 71 Reputation points
2022-09-29T12:51:32.547+00:00

Hi,

I have a requirement to drop files to a FTP server. But ADF does not support FTP as a sink. How can I use FTP as a sink in ADF?

Thanks,
Jeevi

Azure Data Factory
Azure Data Factory
An Azure service for ingesting, preparing, and transforming data at scale.
9,692 questions
0 comments No comments
{count} votes

Accepted answer
  1. KranthiPakala-MSFT 46,422 Reputation points Microsoft Employee
    2022-09-30T07:37:57.633+00:00

    Hello @Jeevi Danda ,

    Thanks for the question and using MS Q&A platform.

    Yes, you are correct. The current ADF FTP connector only support to read (source) data from FTP but not as sink (write).

    Since there is no direct functionality in ADF you may explore below workarounds and see what fits your needs to the best.

    Workaround 1:
    Custom activity in ADF: To move data to/from a data store that the service does not support, or to transform/process data in a way that isn't supported by the service, you can create a Custom activity with your own data movement or transformation logic (nothing but writing your own custom code) and use the activity in a pipeline. The custom activity runs your customized code logic on an Azure Batch pool of virtual machines. For more information about custom activity please refer to this documentation: ADF Custom Activity

    Workaround 2:
    Azure Functions/Logic App : As an alternative, you may use azure functions to write to ftp. First you will have to have a data factory pipeline that writes an intermediary blob storage and then use Azure blob storage triggers in azure functions to upload them as soon as they appear in blob storage.

    First your ADF pipeline has to write the file an intermediate staging Azure blob location and then you can write a Logic app that will pick your file up from Azure storage and send it to an FTP site. Then call that Logic App using a Data Factory Web Activity. (Basically, Single pipeline where first is copy activity to copy file to staging blob location and then followed by a Web activity which will invoke your logic app that will pick file and send it to FTP)

    Hope this will help.

    ------------------------------

    • Please don't forget to click on 130616-image.png or upvote 130671-image.png button whenever the information provided helps you. Original posters help the community find answers faster by identifying the correct answer. Here is how
    1 person found this answer helpful.

0 additional answers

Sort by: Most helpful