1

发布后大约一个小时,我发现了以下内容。目前还没有很多例子,所以我把它留了下来。

我正在尝试在 Azure 逻辑应用程序中设置一个新连接器,以从 FTP 站点获取文件并将它们移动到保管箱文件夹。

我什至没有进入保管箱部分,尽管它正在查找 FTP 站点然后删除文件。

我有一个名为 testing off 的测试目录:ftp: //eek.myftpsite.com/testing/

我显然不了解这个过程的基本内容。我附上了一张 ftp 连接器及其操作的图片。 在此处输入图像描述 这是触发器的代码:

   "operation": "TriggerOnFileAvailable",
            "parameters": {
                "triggerState": "@coalesce(triggers()?.outputs?.body?['triggerState'], '')",
                "FolderPath": "testing",
                "FileMask": "CSV*",
                "FileType": "Text"

以及操作的代码(这部分结果是不需要的):

   "operation": "GetFile",
            "parameters": {
                "FilePath": "@{triggers().outputs.body.FilePath}",
                "FileType": "Text"
            },
            "authentication": {
                "type": "Raw",
                "scheme": "Zumo",

当我将一个名为 CSV_test2.txt 的文件放在 ftp 文件夹中,其中包含一行文本时,稍等片刻后它被删除 - 正如预期的那样。如果我转到触发历史记录,它会显示它成功触发。触发器的输出看起来也是正确的(结果是正确的):

  "body": {
    "FileName": "CSV_test2.txt",
    "FolderPath": "testing",
    "FilePath": "testing\\CSV_test2.txt",
    "ServerAddress": "eek.myftpsite.com",
    "Content": "This is the data in the test file.",
    "ContentTransferEncoding": "None",
    "triggerState": "CSV_test2.txt"
}

但是,如果我执行它显示为失败的操作(因为我的下一步错误,它应该只是需要一个文件路径的东西,比如 Dropbox)。操作的输入显示:

   "operation": "GetFile",
"parameters": {
    "FilePath": "testing\\CSV_test2.txt",
    "FileType": "Text"
},
"apiVersion": "2015-01-14",
"authentication": {
    "scheme": "Zumo",
    "type": "Raw"
}

这对我来说似乎是正确的(不)。输出显示:

    },
"body": {
    "status": 404,
    "source": "https://ftpconnectora4cf805ee5114235ad1c43445a153673.azurewebsites.net/file/testing/CSV_test2.txt?FileType=Text",
    "message": "Path does not exist on FTP Server. The remote server returned an error: (550) File unavailable (e.g., file not found, no access)."
}

我已经尝试了所有我能想到的组合,包括只是硬编码路径和文件名——都无济于事。我真的很想尝试让它在一个新项目上工作,而不是用“旧”的方式来做。

欢迎任何建议,乔

4

1 回答 1

1

我对它的工作原理有误解。我以为你设置了一个 FTP 连接器,然后它会监视新文件,然后你设置另一个 FTP 操作来获取每个新文件。事实证明,我有点过度思考。

不,只需像这样直接输入输出:

在此处输入图像描述

它的代码是:

 "operation": "UploadFile",
            "parameters": {
                "FilePath": "@{triggers().outputs.body.FilePath}",
                "content": {
                    "Content": "@{triggers().outputs.body.Content}",
                    "ContentTransferEncoding": "None"
                },
                "overwrite": true

很酷......我把我的糊涂留在那儿,希望它能帮助别人。这都是非常新的东西,但非常令人兴奋。

谢谢,

于 2015-05-30T19:40:27.927 回答