2016-11-15 10 views
0

Ich möchte JSON von einer Logic App an Azure ServiceBus senden, aber ich habe Probleme mit der korrekten Formatierung (glaube ich). Die Logic App ruft Informationen aus einem SharePoint Online-Listenelement ab, sodass ich in der Logic App auf sie als dynamischen Inhalt zugreifen kann. Zu diesem Beitrag nimmt die JSON-Vorlage wie folgt aussieht:Azure Logic Apps senden JSON-Nachricht an ServiceBus

{ Title: '', CreatedBy:'' } 

Jetzt im Logic-App-Designern, ich den Inhaltstyp auf „text/plain“, um die Codierung zu gewährleisten, behandelt (wie here beschrieben) und dann die Vorlage oben zum Feld "Inhalt" hinzugefügt. Es sieht aus wie diese in Logic App-Designer (Code-Ansicht), das ist das, was ich erwartet hatte:

"ContentData": "@{base64('{ Title: '', CreatedBy:'' }')}" 

Wenn ich wieder nach Designer gehen und zwischen den einfachen Anführungszeichen für „Titel“, ich das Feld von meinem dynamischen hinzufügen Inhalt, der Designer (Code-Ansicht) sieht wie folgt aus:

"ContentData": "@{base64(concat('{ Title: '',triggerBody()?['Title'],'', CreatedBy:'' }'))}" 

Wenn ich versuche, zu speichern, erhalte ich folgende Fehlermeldung:

Failed to save logic app MyLogicApp. The template validation failed: 'The template action 'Send_message' at line '1' and column '163728' is not valid: "Unable to parse template language expression 'base64(concat('{ Title: '',triggerBody()?['Title'],'', CreatedBy:'' }'))': expected token 'RightParenthesis' and actual 'Identifier'.".'.

ich wie die Fehler fühlen sagt mir, das Problem aber ich kann teste es nicht. Kann mir bitte jemand mit der richtigen Formatierung helfen?

Aus dem Artikel, den ich oben verlinkt habe ich versucht, dies auch, aber den gleichen Fehler habe:

"ContentData": "@{base64(concat('{ Title: '', string(triggerBody()?['Title']),'', CreatedBy:'' }'))}" 

Edit: habe ich vergessen, dass ich this article hinzuzufügen gefunden, die Zugabe des DecodeBase64 empfohlen, wenn mit JSON und Logic arbeiten Apps. Nicht sicher, ob es relevant ist, da ich nicht von ServiceBus analysiere.

Antwort

0

Verwaltet, um eine Lösung mit etwas Versuch und Irrtum zu finden. War meine fehlerhafte Formatierung schuld, so update ich wie in der Hoffnung, dass jemand anderes das nützlich findet.

Die Logik App Code-Ansicht sollte wie folgt aussehen:

"ContentData": "@{base64('{ Title: {triggers().outputs.body.Title}, CreatedBy: {triggers().outputs.body.CreatedBy} }')}" 

Die Logik App Designeransicht Feld Inhalt sollte wie folgt aussehen:

{ Title: {triggers().outputs.body.Title}, CreatedBy: {triggers().outputs.body.CreatedBy} } 

Ich würde gerne einige Zitat zu veröffentlichen oder zu unterstützen Artikel, die ich bisher noch nicht gefunden habe - würde mich freuen, wenn jemand nützliche Ressourcen zum Senden von Nachrichten an Service Bus über Logic Apps hat, um sie zu diesem Beitrag hinzuzufügen. Vielen Dank!

Verwandte Themen