Getting content from service bus in logic apps

Ramppy Dumppy picture Ramppy Dumppy · May 5, 2017 · Viewed 7.9k times · Source

I am new to Azure logic apps. I have a service bus and pass a json object message to that service bus then I set up an action in logic apps to listen to my service bus. So everytime a new message come in to that service bus my logic apps will pick it upenter image description here and send it to http.

My question is how can I grab the property from the message in service bus and pass it to my http action. I tried this

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

but it's not working

Answer

Davis Molinari picture Davis Molinari · May 5, 2017

Who and how is sending the message on the queue?

I read a json message property (DestinationPath) in this way:

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

Here is how my Logic App looks like enter image description here

and in my case the message is sent from an Azure webjob as a BrokeredMessage:

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

client.Send(msg);