2016-09-20 7 views
6

Ich habe Azure-Funktionen eingerichtet, um einen Blob-Trigger auszuführen (wenn also ein Blob zu einem Container hinzugefügt wird, sollte er ausgelöst werden). Die Funktion läuft erst, wenn ich die Funktions-App im Portal geöffnet habe. Dann nimmt er alle hinzugefügten Blobs auf und verarbeitet sie wie gewohnt. Warum muss ich die Funktions-App im Portal öffnen, damit meine Jobs ausgelöst werden? Es ist fast so, als ob die Funktionen-App in den Ruhezustand wechselt und dann aufwacht, wenn ich darauf stöche. Wie kann ich das verhindern?Azure-Funktionen Blob-Trigger wird nur ausgelöst, wenn ich die Funktion app öffne

hier ist mein CRON

{ 
    "bindings": [ 
{ 
    "name": "myBlob", 
    "type": "blobTrigger", 
    "direction": "in", 
    "path": "automated-sql-export", 
    "connection": "Conn" 
} 
], 
"disabled": false 
} 
+0

Mögliches Duplikat von http://StackOverflow.com/Questions/39430932/How-do-Iturn-on-always-on-forazure-Function/39431332 –

Antwort

4

Wenn eine Funktion App den Host übernimmt automatisch läuft Empfang/Polling für neue Ereignisse in allen unsere verschiedenen Triggertypen (Warteschlangen, Event-Hub, Kleckst usw.). Je nach Tier, auf dem Sie aktiv sind, ergeben sich jedoch einige Unterschiede.

In unserer Dynamischen SKU haben wir einen externen Dienst für die Funktions-App, der für die Überwachung der Arbeit und die Ausführung der Funktions-App zuständig ist muss sein. Wenn keine Arbeit ausgeführt wird (z. B. keine Warteschlangennachrichten, keine neuen Blobs usw.), geht die Funktions-App in den Ruhezustand. Es liegt in der Verantwortung des externen Dienstes sicherzustellen, dass er bei Ankunft der Arbeit geweckt wird.

I unsere Klassische SKU s (Basic/Standard) dieser externe Monitor ist nicht im Bild. Die Function-App muss in Always On-Modus ausgeführt werden, um sie am Leben zu erhalten. Diese Einstellung sollte für Sie automatisch aktiviert werden, wenn Sie eine Funktionsanwendung in einer klassischen Schicht erstellen.

Mit all diesem Hintergrund erklärt, wenn Sie in einer dynamischen SKU laufen, sollten Dinge "einfach funktionieren". Wenn dies nicht der Fall ist, melden Sie einen Fehler here. Wenn Sie eine klassische SKU ausführen, stellen Sie sicher, dass Always On aktiviert ist. Das ist ein häufiges Problem, auf das die Leute stoßen.

+1

Ich verwende den dynamischen Plan, aber Die Erklärung ist schön zu wissen, wie alles funktionieren soll. Ich ging zu dem von Ihnen angegebenen Link und sah, dass bereits ein Fehler für dieses Problem erstellt wurde. Also werde ich diesem Thread folgen. Vielen Dank! – Bullsfan127

+1

https://github.com/Azure/azure-webjobs-sdk-script/issues/691 – Bullsfan127

+0

Ich habe gerade in das, na ja, das ist ziemlich seltsam. Ich denke, wir müssen auf eine Lösung warten. – 4c74356b41

Verwandte Themen