在逻辑应用中使用 SFTP 文件名
Using SFTP File Name in Logic Apps
我有一个简单的逻辑应用程序,它使用 SFTP 连接器,后跟一个带有表达式的条件:
Object Name: File Name
Relationship: starts with
Value: '943'
表达式最终为:
"@startsWith(triggerOutputs()['headers']['x-ms-file-name'], '''943''')"
但即使文件以 943 开头,条件也总是失败。
在尝试调试时,我决定将 "file name" 属性 写入服务总线队列的主体,然后从一个简单的 Windows 应用程序读取它。将主体作为字符串获取时,它总是抛出异常。我不得不重写它以使用流来读取它。
失败代码:
Dim s as String = message.GetBody(of String)()
工作代码:
Dim stream As Stream = message.GetBody(Of Stream)()
Dim reader As StreamReader = New StreamReader(stream)
Dim s As String = reader.ReadToEnd
这是否意味着 "file name" 不是字符串而是字节数组之类的东西?如何让我的逻辑应用程序中的条件正常工作?
尝试更新
"@startsWith(triggerOutputs()['headers']['x-ms-file-name'], '''943''')"
至
"@startsWith(triggerOutputs()['headers']['x-ms-file-name'], '943')"
看起来基本模式会将 123 视为 int,但在输入 '123' 时会添加额外的引号,因此您将需要通过切换到高级模式进行更改。
我有一个简单的逻辑应用程序,它使用 SFTP 连接器,后跟一个带有表达式的条件:
Object Name: File Name
Relationship: starts with
Value: '943'
表达式最终为:
"@startsWith(triggerOutputs()['headers']['x-ms-file-name'], '''943''')"
但即使文件以 943 开头,条件也总是失败。
在尝试调试时,我决定将 "file name" 属性 写入服务总线队列的主体,然后从一个简单的 Windows 应用程序读取它。将主体作为字符串获取时,它总是抛出异常。我不得不重写它以使用流来读取它。
失败代码:
Dim s as String = message.GetBody(of String)()
工作代码:
Dim stream As Stream = message.GetBody(Of Stream)()
Dim reader As StreamReader = New StreamReader(stream)
Dim s As String = reader.ReadToEnd
这是否意味着 "file name" 不是字符串而是字节数组之类的东西?如何让我的逻辑应用程序中的条件正常工作?
尝试更新
"@startsWith(triggerOutputs()['headers']['x-ms-file-name'], '''943''')"
至
"@startsWith(triggerOutputs()['headers']['x-ms-file-name'], '943')"
看起来基本模式会将 123 视为 int,但在输入 '123' 时会添加额外的引号,因此您将需要通过切换到高级模式进行更改。