我有一个由服务总线触发的逻辑应用程序。消息内容不可用,因为它只是随机字符。我怀疑它可能需要解析,但不清楚如何做到这一点。
我有以下内容: Not enough reputation to add an image - but screen shot from Azure
"Insert_Entity": {
"inputs": {
"body": {
"PartitionKey": "deviceID",
"RowKey": "@variables('curDate')",
"content": "@triggerBody()?['ContentData']"
},
当我查看来自“@triggerBody()?['ContentData']的”内容“的数据时,它看起来像这样:
“W3sidHlwZSI6ImxvZyJ9LF ....”我删除了大部分内容,因为它的字符很长。
我怀疑这需要解析或者查看实际的邮件正文。我已经检查了这个,但不知道在哪里插入这样的代码:Getting content from service bus in logic apps
您能否解释一下如何查看邮件正文。
答案 0 :(得分:3)
您能否解释一下如何查看邮件正文。
您提到的字符串W3sidHlwZSI6ImxvZyJ9LF....
是base64string。如果我们想要查看消息体,我们需要将base64string转换为字符串
我们可以使用base64ToString(triggerBody()?['ContentData'])
详细信息进行操作,请参阅屏幕截图。
正文信息:
答案 1 :(得分:0)
在获得Tom Sun解决方案的价值之后,我不得不提取结果的json部分才能对其进行解析,即Logic App Expression:
substring(
variables('result'),sub(indexOf(variables('result'),'{'),1),
sub(lastIndexOf(variables('result'),'}'),indexOf(variables('result'),'{'))
)
然后使用Parse JSON函数使用模式解析结果:
{
"properties": {
"data": {
"type": "string" // Change As Required
},
"dataVersion": {
"type": "string"
},
"eventTime": {
"type": "string"
},
"eventType": {
"type": "string"
},
"id": {
"type": "string"
},
"metadataVersion": {
"type": "string"
},
"subject": {
"type": "string"
},
"topic": {
"type": "string"
}
},
"type": "object"
}