2017-05-05 60 views
1

我是Azure逻辑应用程序的新手。我有一个服务总线,并将json对象消息传递给该服务总线,然后我在逻辑应用程序中设置一个动作来听我的服务总线。所以每次有新消息进入该服务总线时,我的逻辑应用程序都会将其发送到enter image description here并发送给http。从逻辑应用中的服务总线获取内容

我的问题是如何从服务总线中的消息中获取属性并将其传递给我的http动作。我想这

“Id” : “@{json(triggerBody()[‘ContentData’]).id}” 

,但它不工作

回答

3

谁以及如何发送队列中的消息?

@{json(base64ToString(triggerBody()?['ContentData'])).DestinationPath} 

这里是我的逻辑应用程序看起来像 enter image description here

,并在我的情况下,消息是从Azure的webjob发送:

我这样读了JSON消息财产(的DestinationPath)作为BrokeredMessage:

string jsonMessage = JsonConvert.SerializeObject(myObject); 
Stream streamMessage = new MemoryStream(Encoding.UTF8.GetBytes(jsonMessage)); 
BrokeredMessage msg = new BrokeredMessage(streamMessage); 

client.Send(msg); 
0

服务总线消息的ContentData是Base64编码的,所以您需要先解码它,例如

“Id” : “@{json(base64ToString(triggerBody()?[‘ContentData’])).id}”