2017-02-11 3 views
1

マイAzureの機能は、2つの入力パラメータがありブロブのために動作するようには思えません両方のパラメータをカスタムタイプ(私の場合はF#レコード)に設定します。トリガーのためではなく、次のエラー与えバインディングブログ、ため正常に動作バインディング:ここ入力が

Microsoft.Azure.WebJobs.Host: Error indexing method 'Functions.MailboxFanOut'. 
Microsoft.Azure.WebJobs.Host: Can't bind Blob to type 'Run+CustomerName'. 

すると、コードです:クラスとF#のレコードを交換

[<CLIMutable>] 
type CustomerName = { 
    UserName: string 
} 

let Run(item: CustomerName, userNames: CustomerName, log: TraceWriter) = 
    log.Verbose("F# function executing") 

は役立ちません。..ここで

は、関数の定義である:

{ 
    "bindings": [ 
    { 
     "type": "eventHubTrigger", 
     "name": "item", 
     "direction": "in", 
     "path": "blabla", 
     "connection": "eventhubs", 
     "consumerGroup": "$Default" 
    }, 
    { 
     "type": "blob", 
     "name": "userNames", 
     "path": "tada/123", 
     "connection": "foo", 
     "direction": "in" 
    } 
    ], 
    "disabled": false 
} 

答えて

2

ブロブバインディング残念ながらD現在、POCOバインディングは期待通りにサポートされていません。このhereを追跡しているレポで未解決の問題があります。

これを回避するには、ストリーム、文字列、またはサポートされている他の種類のいずれかにバインドし、メソッドのPOCO型に逆シリアル化を実行することをお勧めします。

+0

ああ、ありがとう、よく知っています。ドキュメントは、サポートされていると言っています。https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-blob P.S. github問題の "SO question"リンクが壊れている、それはそれ自身を指している – Mikhail

+0

ええ、私はそれについてのドキュメントバグも記録していました:) https://github.com/Azure/Azure-Functions/issues/180。我々はそれを修正する:) – mathewc

+0

より良いSDKを修正;) – Mikhail