azure logic app 如何检查 sftp 中的特定文件已更改
azure logic app how to check a specific file in a sftp is changed
需要检查一个sftp 站点,将有多个文件上传到一个文件夹。我正在编写逻辑应用程序来处理文件。每个逻辑应用将处理一个文件,因为每种文件格式都不同。问题是 sftp 触发器只能检测文件夹中任何文件的更改。因此,如果文件发生更改,该文件的逻辑应用程序将 运行,但其他逻辑应用程序也会 运行,这是不需要的。
我试过使用重复触发器,然后通过路径操作通过 sftp 获取文件内容,但是如果指定的文件不存在,那将失败,我想要的是逻辑应用程序刚刚退出或者最好根本没有被触发.
如果特定文件是 updated/uploaded,如何只触发逻辑应用程序?
我用条件 if file name is equal to abc.txt
尝试了我的 Azure 网站 FTP 并得到相同的 Input
。 Expression result
始终为假。
然后我检查Run Details
我发现OUTPUTS
中的文件名不是abc.txt
,它是用base64
加密的。
在我的测试中 abc.txt
被加密成 YWJjLnR4dA==
,然后我在 Logic App 条件下将文件名更改为 YWJjLnR4dA==
并且它有效。
所以你可以去检查你的 运行 历史获取文件名或者你可以去这个 site 使用 Base64 加密你的文件名。
希望对您有所帮助,如果您还有其他问题,请告诉我。
在您的逻辑应用程序上,您实际上可以使用动态内容和表达式来执行以下操作
decodeBase64(triggerOutputs()['headers']['x-ms-file-name-encoded'])
希望对您有所帮助!
需要检查一个sftp 站点,将有多个文件上传到一个文件夹。我正在编写逻辑应用程序来处理文件。每个逻辑应用将处理一个文件,因为每种文件格式都不同。问题是 sftp 触发器只能检测文件夹中任何文件的更改。因此,如果文件发生更改,该文件的逻辑应用程序将 运行,但其他逻辑应用程序也会 运行,这是不需要的。
我试过使用重复触发器,然后通过路径操作通过 sftp 获取文件内容,但是如果指定的文件不存在,那将失败,我想要的是逻辑应用程序刚刚退出或者最好根本没有被触发.
如果特定文件是 updated/uploaded,如何只触发逻辑应用程序?
我用条件 if file name is equal to abc.txt
尝试了我的 Azure 网站 FTP 并得到相同的 Input
。 Expression result
始终为假。
然后我检查Run Details
我发现OUTPUTS
中的文件名不是abc.txt
,它是用base64
加密的。
在我的测试中 abc.txt
被加密成 YWJjLnR4dA==
,然后我在 Logic App 条件下将文件名更改为 YWJjLnR4dA==
并且它有效。
所以你可以去检查你的 运行 历史获取文件名或者你可以去这个 site 使用 Base64 加密你的文件名。
希望对您有所帮助,如果您还有其他问题,请告诉我。
在您的逻辑应用程序上,您实际上可以使用动态内容和表达式来执行以下操作
decodeBase64(triggerOutputs()['headers']['x-ms-file-name-encoded'])
希望对您有所帮助!