Загрузить файл в местоположение SFTP из функции Azure - PullRequest
0 голосов
/ 16 октября 2019

Я работаю с функциями Azure 2.0, и мне нужно извлечь документы из CosmosDB, отформатировать их в один файл CSV и загрузить его в местоположение SFTP.

Я могу запрашивать и получать документычерез входную привязку CosmosDB и, вероятно, будет использовать библиотеку CSVHelper для обработки форматирования CSV. Но я не могу найти привязку вывода SFTP. Я проверил:

https://docs.microsoft.com/en-us/azure/azure-functions/functions-triggers-bindings#supported-bindings

https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-blob?tabs=csharp#output

Очевидно, раньше был триггер / привязка внешнего файла, который был объявлен устаревшим ( Corruptфайл при использовании функции Azure Внешняя привязка файла )

Каков наилучший способ потоковой передачи файла в местоположение SFTP из функции Azure?

Ответы [ 2 ]

1 голос
/ 17 октября 2019

Согласно моим исследованиям, на данный момент функция Azure не обеспечивает проверку SFTP. Поэтому, если вы хотите загрузить файл на SFTP-сервер, вам необходимо реализовать код ii с вашим кодом. Что касается его реализации, вы можете использовать Renci.SshNet.Async . Например

            string host = ""; // your server name
            int port =22 ;// your port
            string username ="";// your sftp server username
            string password="";// your sftp server  password
            SftpClient client = new SftpClient(host, port, username, password);
            client.Connect();
            string path = "";// The file to write to
            byte[] bytes = Encoding.UTF8.GetBytes("test");
            client.WriteAllBytes(path, bytes);
            client.Dispose();
            client.Disconnect();
0 голосов
/ 07 ноября 2019

Я работаю над аналогичным проектом в функциях Azure и работаю с библиотекой Rebex.Sftp для передачи файлов. До сих пор с ним было легко работать.

...