2017-09-26 7 views
0

Nous avons ci-dessous code à QueueTrigger et nous voulons avoir des métadonnées de message (ie: dequequecount, lastretrival) à ProcessQueueMessage. Y a-t-il moyen de l'obtenir?Get Message metadeta pour la file d'attente azure webjob

public static void ProcessQueueMessage([QueueTrigger(AppConstants.AzureBlobQueue)] string message, TextWriter log, ExecutionContext context) 
    { 
     try 
     { 
      //Do Something 
      log.WriteLine(message); 
     } 
     catch (Exception ex) 
     { 
      if(message.DequeueCount == 1) 
      { 
       //Logic 1 to notify 
      } 
      if(message.DequeueCount == 2) 
      { 
       //Logic 2 to notify 
      } if(message.DequeueCount == 3) 
      { 
       //Logic 3 to notify 
      } if(message.DequeueCount == 4) 
      { 
       //Logic 4 to notify 
      } if(message.DequeueCount == 5) 
      { 
       //Logic 5 to notify 
      } 
     } 

    } 

Nous avons une logique différente pour le nombre dequeue == 5, nous voulons passer un message à db, nous pouvons achive via queue-poison, mais juste ne veut pas ajouter un autre webjob/fonction pour même.

Répondre

0

Bien sûr, vous pouvez, il suffit de changer le type de message de string à CloudQueueMessage:

public static void ProcessQueueMessage(
    [QueueTrigger(AppConstants.AzureBlobQueue)] CloudQueueMessage message, 
    TextWriter log, ExecutionContext context)