2017-05-17 26 views
0

SFTPフォルダに新しいファイルが追加または変更された場合、ファイル名とファイルの内容をAzure関数に渡す必要があります。私はそれらを渡すことができていますが、次のようにファイルの内容は、複合型のJSONとして渡さなっている:Azure Logic AppsでのSFTPファイルコンテンツの使用

{ 
    "fileContent": { 
    "$content-type": "application/octet-stream", 
    "$content": "QWxvZnQgQidoYW0gU29obyBTcSAgICAg==" 
    }, 
    "fileName": "testFile" 
} 

私はちょうどAzureの機能に$コンテンツを渡す必要があります。ロジックアプリで次のように私の現在のコードは

"body": { 
          "fileContent": "@triggerBody()", 
          "fileName": "@triggerOutputs()['headers']['x-ms-file-name']" 
         }, 

がどのように私はAzureの機能にのみコンテンツのフォーム含むFileContentを渡すことができますか?

答えて

1

ご覧のとおり、$ contentプロパティを取得しているので、そのプロパティにアクセスするだけで、Base64エンコードされているので、デコードする必要があります。あなたは、あるとしてだけでコンテンツを渡すことができるはずです。この

"body": { 
      "fileContent": "@base64ToString(triggerBody()['$content'])", 
      "fileName": "@triggerOutputs()['headers']['x-ms-file-name']" 
}, 

HTH

2

を試してみてください。 Logic Appsはデータをデコードして、それをバイナリとしてAzure関数に渡します(関数がバイナリコンテンツを受け入れることができると仮定します)。ファイル名をヘッダーとして渡すことができます。あなたがオブジェクトのプロパティとしてコンテンツを添付したい場合は

、あなたは

"body": { 
    "fileContent": "@base64(triggerBody())", 
    "fileName": "@triggerOutputs()['headers']['x-ms-file-name']" 
} 
+0

をテストし、戻ってきます使用することができます。ありがとうございました :) –

関連する問題