title: Setting the VisibilityTimeout for a Message added to an Azure Queue via Azure Function Output Binding
body: <p>I have a TimerTrigger function and the Output binding is a Azure Queue.</p>
  
  <p>The idea is that every 10 minutes the timer will run, it will look at a view in my database and iterate through any rows returned adding them to the queue as messages.</p>
  
  <p>Below is my sample TimerTrigger.  It worked fine adding messages to the Queue. </p>
  
  <p>However in my real world scenario some of the rows will require immediate execution while others will have a delay of some minutes (varies per row).  I plan on handling the delay by using the VisibilityTimeout for the message.</p>
  
  <p>Unfortunately the binding via a string wouldn't let me set the value.  CloudQueueMessage.VisiblityTimeout (used below) is readonly.</p>
  
  <pre><code>#r "Microsoft.WindowsAzure.Storage"
  
  using System;
  using Microsoft.WindowsAzure.Storage.Queue;
  
  public static void Run(TimerInfo myTimer,  ICollector&lt;CloudQueueMessage&gt; outputQueueItem, TraceWriter log)
  {
      log.Info($"C# Timer trigger function executed at: {DateTime.Now}");    
  
  
      //- Add a message to be processed now.
      CloudQueueMessage msg = new CloudQueueMessage("Now");
      outputQueueItem.Add(msg);
  
      //- Add a message to be processed later.
      //- this code below won't work because NextVisibleTime is readonly.
      //- is there some way to set the VisibilityTimeout property before queueing?
      msg = new CloudQueueMessage("Later");
      DateTime otherDate = DateTime.Now.AddMinutes(3);
  
      msg.NextVisibleTime = otherDate;
      outputQueueItem.Add(msg);
  
  }   
  </code></pre>
  
  <p>Is there any way to have the binding add messages to the queue and let me set the VisibilityTimeout message by message as appropriate?</p>