需要检查sftp站点,并且将有多个文件上传到文件夹。我正在编写逻辑应用程序来处理文件。每个逻辑应用程序将处理一个文件,因为每种文件格式都不同。问题是sftp触发器只能检测到文件夹中ANY文件的更改。因此,如果文件更改,该文件的逻辑应用程序将运行,但是其他逻辑应用程序也将运行,这是不希望的。
我尝试过使用重复触发,然后通过路径操作通过sftp获取文件内容,但是如果指定的文件不存在,那将失败,我想要的是逻辑应用刚刚退出,或者根本不被触发。 / p>
如果特定文件已更新/上传,如何仅触发逻辑应用程序?
答案 0 :(得分:1)
在您的逻辑应用程序上,您实际上可以使用动态内容和表达式来执行以下操作
decodeBase64(triggerOutputs()['headers'] ['x-ms-file-name-encoded'])
希望有帮助!
答案 1 :(得分:0)
我尝试在条件if file name is equal to abc.txt
下运行Azure Web FTP站点,并获得了相同的Input
。 Expression result
始终为假。
然后我检查Run Details
,发现OUTPUTS
中的文件名不是abc.txt
,它是用base64
加密的。
在我的测试中,abc.txt
被加密为YWJjLnR4dA==
,然后在Logic App条件下将文件名更改为YWJjLnR4dA==
,并且可以正常工作。
因此,您可以检查运行历史记录以获取文件名,或者可以使用{strong> Base64 对此site进行加密。
希望他们能为您提供帮助,如果您还有其他疑问,请告诉我。