2017-03-23 5 views
0

私はキュートリガーを持つAzure Logic Appを持っています。キューメッセージはJSONです。私は、Azureの機能への「メッセージテキスト」を送信すると、私は、これはdirectly.Iが選択動的なコンテンツアイテムがどこにあるキューのメッセージテキストをAzure関数に送信できないのはなぜですか?

@{json(<Message text>)} 

にリクエストボディを設定しようとした働くだろうと想定のだ

UnsupportedMediaType 
{ 
    "Message": "The WebHook request must contain an entity body formatted as JSON." 
} 

を取得しかし、私は "有効なjsonを入力してください"という赤いメッセージが表示されます。

この接続を作成するにはどうすればよいですか?私は渡さなければならないし、私の関数で "メッセージテキスト"を解析する必要がありますか?再び、私はそれが自動的にそれを行うと仮定しました。

+0

、なぜ2つの動的要素がn個ありますamed "Body"がメッセージキュートリガーから来ていますか? –

+0

両方がトリガーから来ていることを確認できますか?先行する行動についても同様に表示されます。また、コンテンツに 'body'という名前のプロパティがある場合もあります。そのため、デザイナーはメッセージコンテンツのトークンを全体として表示し、1つは 'body'というプロパティのトークンを表示します。どの特定のキュートリガーを使用していますか? –

+0

私は「キューにメッセージがあるとき」トリガーを持っています。ファンクションアクションが発生した直後。動的コンテンツリストには2つの「本文」エントリがあります。 http://shufflepoint-media.s3.amazonaws.com/double_body.png –

答えて

1

@{}構文は文字列補間を示します。これは、式@{json(<Message text>)}がメッセージテキストをjsonに逆シリアル化してから、再度シリアル化することを意味します。

したがって、使用したい式が将来の読者のために

@json(<Message text>) 
0

です。

私はwebhookにいくつかの(有効であると思われる)jsonを渡していました。

そして

「メッセージ」取得保管:「ウェブフック要求がJSONとしてフォーマットエンティティボディが含まれている必要があります」

エラーです。

:(

は最後に、私はそのブードゥー教を行なったし、エラーを処分したJSON「表現」を見つけました。JSON-式からI引数が有効なJSONだった私の前のアクションの出力であった。これは明らかほんの少しの助けを必要と

enter image description here

生(非デザイナー)コードはでした!また

 "GenericWebHookCsharpOne": { 
      "type": "Function", 
      "inputs": { 
      "body": "@json(body('MyPreviousAppLogicActionWhichIsAnAzureFunction'))", 
      "method": "POST", 
      "function": { 
       "id": "/xxxxxxxxxxxxxxxxxxxxxxxx 
      } 
+0

これはちょっとSzymonの答えに似ています。だから私は彼から離れようとはしていない。誰もが相互利益を得るために追加するだけです。 – granadaCoder

関連する問題