title: Azure Function App: Can't bind Queue to type 'Microsoft.WindowsAzure.Storage.Queue.CloudQueue' (IBinder)
body: <p>My scenario for an Azure function:</p>
  
  <ol>
  <li>HTTP trigger.</li>
  <li>Based on HTTP parameters I want to read messages from an appropriate storage queue and return data back.</li>
  </ol>
  
  <p>Here is the code of the function (F#):</p>
  
  <pre><code>let Run(request: string, customerId: int, userName: string, binder: IBinder) =
      let subscriberKey = sprintf "%i-%s" customerId userName
      let attribute = new QueueAttribute(subscriberKey)
      let queue = binder.Bind&lt;CloudQueue&gt;(attribute)     
      () //TODO: read messages from the queue
  </code></pre>
  
  <p>The compilation succeeds (with proper NuGet references and opening packages), but I get the runtime exception:</p>
  
  <pre><code>Microsoft.Azure.WebJobs.Host: 
  Can't bind Queue to type 'Microsoft.WindowsAzure.Storage.Queue.CloudQueue'.
  </code></pre>
  
  <p>My code is based on an example from <a href="https://docs.microsoft.com/en-us/azure/app-service-web/websites-dotnet-webjobs-sdk-storage-queues-how-to" rel="nofollow noreferrer">this article</a>.</p>
  
  <p>What am I doing wrong?</p>
  
  <p>Update: now I realize I haven't specified Connection Name anywhere. Do I need a binding for the <code>IBinder</code>-based queue access?</p>
  
  <p>Update 2: my <code>function.json</code> file:</p>
  
  <pre><code>{
    "bindings": [
      {
        "type": "httpTrigger",
        "name": "request",
        "route": "retrieve/{customerId}/{userName}",
        "authLevel": "function",
        "methods": [
          "get"
        ],
        "direction": "in"
     }
   ],
   "disabled": false
  }
  </code></pre>