如何从 Azure 网站计划作业连接远程 SFTP

2023-12-13

我有一个控制台应用程序,它将被安排为 AZURE 网站中的作业。 我想从该控制台应用程序连接远程 SFTP 并获取所有文件并将它们保存在 AZURE 网站内的我的文件夹中。此外,如果可能的话,在传输后将它们从 SFTP 中删除。


首先,在这种情况下使用的最佳且免费的选项是WinSCP .NET 程序集.

您可以从以下位置下载:here

让我们开始这个函数:

public static void GetSftp(string host, string user, string password, int port, string source, string dest, string remoteDest)
    {

        Directory.CreateDirectory(dest);
        var winScpSessionOptions = new SessionOptions
        {
            HostName = host,
            Password = password,
            PortNumber = port,
            UserName = user,
            Protocol = Protocol.Sftp,
            GiveUpSecurityAndAcceptAnySshHostKey = true
        };

        var session = new Session();
        session.Open(winScpSessionOptions);

        var remoteDirInfo = session.ListDirectory(remoteDest);
        foreach (RemoteFileInfo fileInfo in remoteDirInfo.Files)
        {
            if (fileInfo.Name.Equals(".") || fileInfo.Name.Equals("..")) { continue; }
            Console.WriteLine("{0}", remoteDest + fileInfo.Name);
            try
            {

                var x = remoteDest +"/"+ fileInfo.Name;
                var y = dest +"\\"+ fileInfo.Name; 

                var result = session.GetFiles(x, y);

                if (!result.IsSuccess)
                {

                }
                else
                {
                    session.RemoveFiles(remoteDest +"/"+ fileInfo.Name);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

        }

    }

这个函数有什么作用呢? 它只是获取 SFTP 凭据并登录到 SFTP。并列出所有文件名。并将每个文件保存在 AZURE 网站 ftp 中。删除传输的文件后。

  • 源是SFTP文件夹
  • 您想要从 SFTP 传输文件的目的地。在 AZURE 网站中,它看起来像这样D:\home\site\wwwroot\YourFolderName
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 Azure 网站计划作业连接远程 SFTP 的相关文章

随机推荐

  • 如何获取网络接口及其正确的 IPv4 地址?

    我需要知道如何获取所有网络接口及其IPv4地址 或者只是无线和以太网 要获取所有网络接口详细信息 我使用以下命令 foreach NetworkInterface ni in NetworkInterface GetAllNetworkIn
  • 我需要什么样的加盟?

    我有一个投票表 votes userid gameid a 1 a 2 a 3 b 1 b 2 和一张游戏桌 games gameid title 1 foo 2 bar 3 fizz 4 buzz 我将使用哪种联接来执行查询 从 用户 A
  • SonarQube MSBuild 无法排除文件

    我正在 debian 上使用 msbuild 运行分析 使用以下命令 mono msbuild SonarQube Scanner MSBuild exe begin d sonar login
  • Maven war/jar 大小太大

    我正在构建一个项目 其中最终的战争 罐子大小非常大 我不知道如何减小罐子的大小 如何只构建项目所需的jar 目前我们只是在依赖项中给出了 maven 构建插件 并在顶部给出了构建 war 或 jar 的工件 id 请指教 Thanks 在您
  • Redis 数据库 TTL

    无论如何 有没有办法创建一个 Redis 数据库 其中键HAVE TO一定时间后会过期吗 我知道我可以使用以下命令使单个密钥过期EXPIRE命令 但由于无论如何我都会在一定时间后使每个密钥过期 因此最好在 Redis 配置文件中指定此行为
  • Java如何计算时差

    如果用户输入是 2255 和 2305 我如何计算 24 小时内的时间差 输出应该是 10 分钟 我的一个想法是将输入分成两部分 2 位数字和 2 位数字 前 2 位数字是小时 乘以 60 即可得到分钟 然后加上后2位数字 然后计算差值 我
  • R - 查找数据框子集中的所有唯一值

    我有一个包含两列的数据框 第一列定义数据的子集 我想找到第二列中仅出现在第一列的一个子集中的所有值 例如 来自 df data frame data subsets rep LETTERS 1 2 each 5 data values c
  • ViewPager2 selectCurrentItem - 选择选项卡,但在此选项卡内放置错误的片段

    我有基本的 ViewPager2 和 Tablayout 在每个页面中我都有不同的片段 当我需要不从第一个 默认 选项卡打开此视图时 我正在这样做 viewPager currentItem selectedTabPosition 此代码选
  • 如何在 iPhone 上验证从网络下载的图像文件?

    我正在使用 NSURLConnection sendSynchronousRequest 方法下载图像 效果很好 但是 有时我会遇到图像 URL 指向图像文件以外的其他内容的问题 例如 我发现这个非图像 URL 导致了问题 http www
  • 输入参数未定义 - MATLAB 函数/子函数

    我正在 MATLAB 中测试函数的一部分 我定义了一个函数和子函数如下 仅用于测试 function funct clear all clc I rand 11 11 ld input Enter the lag prompt for la
  • Zend Framework - JQuery - 日期选择器 - 将日期格式设置为 YYYY-mm-dd

    我在基于 Zend Framework 的应用程序表单中使用 JQuery DatePicker 这是日期选择器的代码 this gt addElement datePicker movie release date array label
  • 日语的 Unicode 范围

    我正在尝试区分英语和日语字符 我需要找到所有日语字符的 Unicode 范围 所有日语字符的 Unicode 范围是多少 正如扎维图提到的 这一页有几个 unicode 范围的参考 总结一下范围 日式标点符号 3000 303f 平假名 3
  • 在脚本中使用 Bugzilla Perl API 时如何进行身份验证?

    工作从Bugzilla API 我编写了一个快速 Perl 脚本来克隆 Bugzilla 产品 在新产品下重新创建所有组件 Bugzilla Perl API 非常容易从命令行使用 我本来可以直接处理数据库 但我想要一个长期的解决方案 另一
  • 如何在指定计数后中断 xsl 中的表行?

    我有以下 xsl 按字母顺序对 xml 进行排序
  • 组合设计模式:如何将结果从一个组件传递到另一个组件?

    我有以下代码 interface IService void Execute class ServiceA IService public void Execute class ServiceB IService public void E
  • Python:匹配之间的连续行类似于 awk

    Given 多行字符串string 已经从文件中读取file 两种图案pattern1 and pattern2它将匹配恰好一行中的子字符串string每个 这些线将称为 line1 和 line2 这些模式是正则表达式模式 但如果这样更容
  • 将带有 NodaTime 自动道具的模型发布到 WebAPI

    我们正在项目中使用 NodaTime 作为时间 日期模型 该项目是一个Web应用程序 使用WebAPI 当尝试发布包含 LocalTime autoprops 的模型时 我们收到 InsufficientExecutionStackExce
  • 无法解析 com.android.support:recyclerView-v7:26.1.0

    在我的应用程序中 我使用 RecyclerView 因为我在 Gradle 中添加了依赖文件 之后由于我在标题中放入的错误 我无法运行我的项目 Gradle apply plugin com android application andr
  • 显示器 ID 和序列号

    在 Windows 中 我们有有关 Monitos 的信息 一些唯一的名称和 ID 例如 Acer xxx 三星xxx 我想知道如何在 C 中获取信息 因为我知道我们可以从 WMI 获取序列号 根 WMI gt WmiMonitorID 以
  • 如何从 Azure 网站计划作业连接远程 SFTP

    我有一个控制台应用程序 它将被安排为 AZURE 网站中的作业 我想从该控制台应用程序连接远程 SFTP 并获取所有文件并将它们保存在 AZURE 网站内的我的文件夹中 此外 如果可能的话 在传输后将它们从 SFTP 中删除 首先 在这种情