SFTP 触发器不工作

SFTP trigger not working

我有一个未触发的 SFTP 触发器。我在 SFTP 文件夹中添加了一个文件,但没有任何反应。我想我过去已经成功地做到了这一点。我设置为每 5 分钟检查一次。

"trigger history" 的状态始终为 "skipped"。

诊断日志为空。我假设会有一个与其检查 SFTP 服务器相关的条目。

如何进行诊断?

编辑:我发现如果单击 "skipped" 条目,我可以看到输入和输出链接

输出为

{
    "statusCode": 202,
    "headers": {
        "Pragma": "no-cache",
        "Retry-After": "15",
        "x-ms-request-id": "408c1686-fc55-4006-90b2-2a315be6b087",
        "Cache-Control": "no-cache",
        "Date": "Sat, 10 Dec 2016 21:29:18 GMT",
        "Location": "https://logic-apis-eastus.azure-apim.net/apim/sftp/7abdeb1a471c4819ab90548dce96a210/datasets/default/triggers/onupdatedfile?folderId=L3VwdG9kYXRl&triggerstate=eyJGaWxlSWQiOiIiLCJTdGF0dXMiOjEsIldpbmRvd1N0YXJ0VGltZSI6IjAwMDEtMDEtMDFUMDA6MDA6MDAiLCJXaW5kb3dFbmRUaW1lIjoiMDAwMS0wMS0wMVQwMDowMDowMCIsIkxhc3RDb25mbGljdFRpbWUiOiIwMDAxLTAxLTAxVDAwOjAwOjAwIn0%3d",
        "Set-Cookie": "ARRAffinity=008df0d064987de2b42b3cfb32a3b1590a97ba6912e4e96acac4a3385109c610;Path=/;Domain=127.0.0.1",
        "Server": "Microsoft-IIS/8.0,Microsoft-HTTPAPI/2.0",
        "X-AspNet-Version": "4.0.30319",
        "X-Powered-By": "ASP.NET",
        "Content-Length": "0",
        "Expires": "-1"
    }
}

查找“202”,我发现描述为 "Command not implemented, superfluous at this site."

我该如何诊断?

另一个编辑:我尝试使用不同的 SFTP 服务器,但我仍然得到状态代码 202。

阅读另一个线程中的评论后,我决定尝试创建一个新的 API 连接,然后在我的逻辑应用程序中使用该连接。现在触发器正在捕获新文件。

我通过禁用用于上传文件的 SFTP 客户端的“保留时间戳”选项解决了这个问题。我使用的是 WinSCP,但其他 SFTP 客户端具有相同的功能。此功能更改服务器上上传文件的时间戳以匹配原始本地文件的时间戳,“保留”它。否则时间戳将是上传时间。阅读更多 here.

如果逻辑应用程序每 5 分钟检查一次新文件,并且您在 created/modified 之前上传了一个保存时间戳的文件,逻辑应用程序将跳过该文件,因为它认为它是旧文件.在用于上传文件的客户端中禁用该功能,以便服务器上文件的时间戳将是其上传时间。逻辑应用会知道它是新的并触发触发器。

Microsoft 也有 specific documentation 关于这个问题。