2017-05-05 61 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}」