1

Ich habe eine Azure-Funktion in node.js geschrieben, die erfolgreich eine Nachricht an eine Azure Service Bus-Warteschlange sendet, die eine Ausgabebindung verwendet.Wie Verwenden einer Azure Function Binding, um eine geplante Service Bus Queue Nachricht zu senden?

Wie kann ich eine geplante Nachricht in der gleichen Warteschlange weiterhin mit der Bindesyntax senden? Ich würde das lieber tun, ohne die node.js sdk zu installieren, wenn es überhaupt möglich ist.

Die binding documentation erwähnt geplante Nachrichten nicht. Doch interessanterweise hat this comment ein paar Mal auf den Funktionen Github-Repository Ausgaben vorgenommen:

Mindestens mit C# & Node.js (und warum nicht in F #) der Service Bus Warteschlange Ausgang unterstützt bereits diese z.B. wenn Sie mehrere Nachrichten erstellen und einfügen, z. zu IAsyncCollector oder erstellen Sie BrokeredMessage. Innerhalb Ihre Ansage (n) können Sie die geplante Einreihen Zeit steuern:

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

Wie auch immer, hier ist meine aktuellen Code, der für sofort Zustellen einer Nachricht funktioniert prima:

Funktion. 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(); 

}; 

Antwort

0

Was ist die Zeit basierten Trigger-Syntax (CRON Scheduling) mit ... Angenommen, ich die Frage nicht

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

Ich glaube, Sie die Frage falsch verstanden haben. Dies ist keine Timer-Funktion, sondern eine geplante Warteschlange. Ich möchte kein wiederkehrendes Ereignis, nur ein einzelnes Ereignis in der Zukunft, das Service Bus verwendet, ein anderes Intervall für jede Nachricht. – Graham

Verwandte Themen