Azure功能 - 从SFTP位置读取所有文件

时间:2018-01-02 06:37:50

标签: c# .net azure sftp azure-functions

我需要使用Azure功能触发器读取SFTP位置(不指定文件名)中可用的所有文本文件。 目前,我可以在指定文件名时读取特定文件 - 如下所示: 的 ExternalFileTrigger 结合

{
  "bindings": [
    {
      "type": "apiHubFileTrigger",
      "name": "input",
      "direction": "in",
      "path": "Outbox",
      "connection": "sftp1_SFTP"
    },
    {
      "type": "apiHubFile",
      "name": "output",
      "direction": "out",
      "path": "Inbox/test.txt",
      "connection": "googledrive_GOOGLEDRIVE"
    }
  ],
  "disabled": false
}

FUNC:

using System;
public static void Run(string input, out string output, TraceWriter log)
{
    log.Info("File found: "+input);
    output = input;
}

请求正文:

Outbox/test.txt

注意:无论文件名被推送到SFTP位置的任何文件都应该由Azure函数读取。

2 个答案:

答案 0 :(得分:0)

您可以使用Binding parameters代替硬编码文件名:test.txt。您还可以指定文件名的模式。有关详细信息,请参阅here

答案 1 :(得分:0)

但为什么要自己去实例化SFTP客户端呢?

只需使用预建的SFTP connector in Logic Apps,然后调用函数进一步进行自定义处理。如果您的目标是store the file in Google Drive,则可以在逻辑应用程序内部执行所有操作。

SFTP connector screencap