using System; using System.IO; using System.Linq; using System.Net; using System.Net.Http; using System.Threading.Tasks; using Microsoft.Azure.WebJobs; using Microsoft.Azure.WebJobs.Extensions.Http; using Microsoft.Azure.WebJobs.Host; using WinSCP; namespace MiddleWare.TE.Services { public class ChromaFuction : BaseClass { [FunctionName("ChromaFuction")] public static async Task Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]HttpRequestMessage req, TraceWriter log, ExecutionContext context) { GetSftp(context, log); return req.CreateResponse(HttpStatusCode.OK, "Hello " + name); //} //return req.CreateResponse(HttpStatusCode.BadRequest, "Invalid Token"); } public static void GetSftp(ExecutionContext context, TraceWriter log) { try { // Setup session options log.Info("Scheduler Starts: " + DateTime.Now); TimeSpan interval = new TimeSpan(0, 0, 120); SessionOptions sessionOptions = new SessionOptions { Protocol = Protocol.Sftp, HostName = "XXX.XXX.XX.XX", PortNumber = XX, UserName = "XXX", Password = "XXXXXX", SshHostKeyFingerprint = "XXXXX", Timeout = interval }; using (Session session = new Session()) { session.ExecutablePath = Path.Combine(context.FunctionAppDirectory, "winscp.exe"); log.Info($"Before Open {sessionOptions}"); // Connect session.Open(sessionOptions); log.Info($"After Open"); } } catch (Exception ex) { log.Info(ex.Message); } } } }