1

J'ai une fonction Azure écrite dans node.js qui envoie un message à une file d'attente Azure Service Bus en utilisant une liaison de sortie.Comment utiliser une liaison de fonction Azure pour envoyer un message de file d'attente de bus de service planifié?

Comment envoyer un message planifié dans la même file d'attente en utilisant la syntaxe de liaison? Je préfère faire cela sans installer le node.js sdk si possible. Le binding documentation ne mentionne pas les messages programmés. Cependant, il est intéressant de this comment a été fait à quelques reprises sur les fonctions GitHub référentiel questions:

au moins avec C# & Node.js (et pourquoi pas en F #) Service file d'attente de bus sortie supporte déjà ce par exemple si vous créez et mettez plusieurs messages , par ex. à IAsyncCollector ou créez un BrokeredMessage. Au sein votre message sortant (s), vous pouvez contrôler le temps de mise en attente prévue:

outgoingMessage.ScheduledEnqueueTimeUtc = DateTimeOffset.UtcNow.AddSeconds(10)

Quoi qu'il en soit, voici mon code actuel qui fonctionne bien pour délivrer immédiatement un message:

fonction . JSON

{ 
    "disabled": false, 
    "bindings": [ 
    { 
     "authLevel": "function", 
     "type": "httpTrigger", 
     "direction": "in", 
     "name": "req" 
    }, 
    { 
     "type": "http", 
     "direction": "out", 
     "name": "res" 
    }, 
    { 
     "name" : "queueOutput", 
     "queueName" : "scheduler", 
     "connection" : "AZURE_SERVICEBUS_CONNECTION_STRING", 
     "type" : "serviceBus", 
     "direction" : "out" 
    } 
    ] 
} 

index.js

module.exports = function (context, req) { 

    context.log('Scheduler function processed a request.'); 

    context.bindings.queueOutput = req.body; 

    context.res = { 
    "status": 200, 
    "body": { 
     "message": "Successfully sent message to Queue" 
    } 
    }; 

    context.done(); 

}; 

Répondre

0

Qu'en est-il en utilisant la syntaxe de déclenchement en fonction du temps (CRON programmation) ... En supposant que je ne l'ai pas mal compris la question

{ 
    "name": "function", 
    "type": "timerTrigger", 
    "direction": "in", 
    "schedule": "0 */5 * * * *" 
}, 
+0

Je pense que vous avez mal compris la question. Ce n'est pas une fonction Timer, mais un message Scheduled Queue. Je ne veux pas d'événement récurrent, juste un seul événement dans le futur avec Service Bus, un intervalle différent pour chaque message. – Graham