如何从 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 的相关文章

  • 检查两个数是否是彼此的排列?

    给定两个数字 a b 使得 1 例如 123 是 312 的有效排列 我也不想对数字中的数字进行排序 如果您指的是数字的字符 例如 1927 和 9721 则 至少 有几种方法 如果允许排序 一种方法是简单地sprintf将它们放入两个缓冲
  • 访问私人成员[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 通过将类的私有成员转换为 void 指针 然后转换为结构来访问类的私有成员是否合适 我认为我无权修改包含我需要访问的数据成员的类 如果不道德 我
  • ASP.NET Core Serilog 未将属性推送到其自定义列

    我有这个设置appsettings json对于我的 Serilog 安装 Serilog MinimumLevel Information Enrich LogUserName Override Microsoft Critical Wr
  • 将数组向左或向右旋转一定数量的位置,复杂度为 o(n)

    我想编写一个程序 根据用户的输入 正 gt 负 include
  • 从父类调用子类方法

    a doStuff 方法是否可以在不编辑 A 类的情况下打印 B did stuff 如果是这样 我该怎么做 class Program static void Main string args A a new A B b new B a
  • 如何忽略“有符号和无符号整数表达式之间的比较”?

    谁能告诉我必须使用哪个标志才能使 gcc 忽略 有符号和无符号整数表达式之间的比较 警告消息 gcc Wno sign compare 但你确实应该修复它警告你的比较
  • 将布尔参数传递给 SQL Server 存储过程

    我早些时候问过这个问题 我以为我找到了问题所在 但我没有 我在将布尔参数传递给存储过程时遇到问题 这是我的 C 代码 public bool upload false protected void showDate object sende
  • C - 找到极限之间的所有友好数字

    首先是定义 一对友好的数字由两个不同的整数组成 其中 第一个整数的除数之和等于第二个整数 并且 第二个整数的除数之和等于第一个整数 完美数是等于其自身约数之和的数 我想做的是制作一个程序 询问用户一个下限和一个上限 然后向他 她提供这两个限
  • C 预处理器库

    我的任务是开发源分析工具C程序 并且我需要在分析本身之前预处理代码 我想知道什么是最好的图书馆 我需要一些重量轻 便于携带的东西 与其推出自己的 为什么不使用cpp这是的一部分gcc suite http gcc gnu org onlin
  • Cython 和类的构造函数

    我对 Cython 使用默认构造函数有疑问 我的 C 类 Node 如下 Node h class Node public Node std cerr lt lt calling no arg constructor lt lt std e
  • 使用 System.Text.Json 即时格式化 JSON 流

    我有一个未缩进的 Json 字符串 例如 hash 123 id 456 我想缩进字符串并将其序列化为 JSON 文件 天真地 我可以使用缩进字符串Newtonsoft如下 using Newtonsoft Json Linq JToken
  • 如何返回 json 结果并将 unicode 字符转义为 \u1234

    我正在实现一个返回 json 结果的方法 例如 public JsonResult MethodName Guid key var result ApiHelper GetData key Data is stored in db as v
  • 如何将图像路径保存到Live Tile的WP8本地文件夹

    我正在更新我的 Windows Phone 应用程序以使用新的 WP8 文件存储 API 本地文件夹 而不是 WP7 API 隔离存储文件 旧的工作方法 这是我如何成功地将图像保存到 共享 ShellContent文件夹使用隔离存储文件方法
  • Github Action 在运行可执行文件时卡住

    我正在尝试设置运行google tests on a C repository using Github Actions正在运行的Windows Latest 构建过程完成 但是当运行测试时 它被卡住并且不执行从生成的可执行文件Visual
  • 当操作繁忙时,表单不执行任何操作(冻结)

    我有一个使用 C 的 WinForms 应用程序 我尝试从文件中读取一些数据并将其插入数据表中 当此操作很忙时 我的表单冻结并且无法移动它 有谁知道我该如何解决这个问题 这可能是因为您在 UI 线程上执行了操作 将文件和数据库操作移至另一个
  • 实体框架 4 DB 优先依赖注入?

    我更喜欢创建自己的数据库 设置索引 唯一约束等 使用 edmx 实体框架设计器 从数据库生成域模型是轻而易举的事 现在我有兴趣使用依赖注入来设置一些存储库 我查看了 StackOverflow 上的一些文章和帖子 似乎重点关注代码优先方法
  • 插入记录后如何从SQL Server获取Identity值

    我在数据库中添加一条记录identity价值 我想在插入后获取身份值 我不想通过存储过程来做到这一点 这是我的代码 SQLString INSERT INTO myTable SQLString Cal1 Cal2 Cal3 Cal4 SQ
  • 控制到达非 void 函数末尾 -wreturn-type

    这是查找四个数字中的最大值的代码 include
  • 如何让Gtk+窗口背景透明?

    我想让 Gtk 窗口的背景透明 以便只有窗口中的小部件可见 我找到了一些教程 http mikehearn wordpress com 2006 03 26 gtk windows with alpha channels https web
  • mysql-connector-c++ - “get_driver_instance”不是“sql::mysql”的成员

    我是 C 的初学者 我认为学习的唯一方法就是接触一些代码 我正在尝试构建一个连接到 mysql 数据库的程序 我在 Linux 上使用 g 没有想法 我运行 make 这是我的错误 hello cpp 38 error get driver

随机推荐

  • 如何获取网络接口及其正确的 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 中删除 首先 在这种情