2017-10-18 34 views
0

このエラーは、CloudQueueバインディングも必要なQueueTrigger関数から取得しています。Azure関数キューをバインドできませんCloudQueue

Microsoft.Azure.WebJobs.Host.Indexers.FunctionIndexingException:エラーインデックス法 'QueueInstancesToImport.Run' ---> System.InvalidOperationExceptionが:「を入力するキューをバインドすることはできませんMicrosoft.WindowsAzure.Storage.Queue.CloudQueue '

ドキュメントによると、CloudQueueは有効である必要があります。私が発見した

https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-queue

他の潜在的な解決策は完全に一致しないか、助けていません。

私のコード

public static class QueueFormInstancesToImport 
{ 
    [FunctionName("QueueFormInstancesToImport")] 
    public static async Task Run(
     [QueueTrigger("import-queue")]string message, 
     [Queue("import-queue")]CloudQueue queue, 
     TraceWriter traceWriter, 
     ExecutionContext context) 
    { 
     // Body of function 
     ... 
    } 
} 
+1

あなたの問題には直接関係しませんが、本当にトリガーと出力を同じキューに対して行うつもりですか?それは関数呼び出しの無限ループを作成します –

+0

あなたのコードはうまくいくはずです。 NuGetの紛争の匂いがします。明示的に参照する唯一のパッケージが 'Microsoft.NET.Sdk.Functions'であることを確認してください。 – Mikhail

答えて

1

これは非常に可能性の高いnugetパッケージの競合です。 'CloudQueue'パラメータのアセンブリバージョンは、基礎となるFunctionランタイムで使用されているバージョンとは異なるバージョンのストロークライブラリです。 CloudQueue定義でF12を使用すると、それがバインドされている完全なアセンブリバージョンを確認できます。

Azure Storage SDKに追加のリファレンスを追加している可能性は非常に高いです。余分な参照を削除し、単にAzure関数テンプレートから参照を使用してください。

関連する問題