2017-08-16 6 views
1

Ich spiele mit der Azure-Funktion und möchte mehr Einblick in detailliertere Fehlermeldungen erhalten.Azure-Funktion schlägt mit StorageException fehl

Funktion erhält Eingang von Warteschlange, was bedeutet, es wird eine Anzahl von Instanzen der Funktion parallel ausgeführt werden. Die Funktion führt einige Verarbeitung und wollen Ausgabe in Tabellenspeicher von ICollector<>

Die Funktionen ganz versagt häufig mit Ausnahme

Microsoft.Azure.WebJobs.Host.FunctionInvocationException : Exception while executing function: Functions.LoadActivityDetail 
    ---> System.InvalidOperationException : Error while handling parameter outputTable after function returned: 
    ---> Microsoft.WindowsAzure.Storage.StorageException : Element 0 in the batch returned an unexpected response code. 

ich diese Ausnahme von log bekommen können, aber ich möchte etwas mehr bekommen Details wie erwähnt z “Unexpected Response Code for Operation: 0” when executing Azure Table Storage batch delete.

Das Problem ist, dass ich die Ausnahme im Code nicht abfangen kann, da die Bindung azure Funktionen Laufzeit erfolgt.

Gibt es eine Möglichkeit, eine detailliertere Protokollierung zu aktivieren?

+0

Normalerweise Tabelle Speicher genügend Informationen für Debug bietet, müssen Sie nur in Ausnahme auf zusätzliche Felder suchen, brauchen Sie nicht zu ‚aktivieren‘ jede zusätzliche Protokollierung. Soweit ich mich erinnere, gibt es eine Response-Eigenschaft in der Ausnahme, die mehr Informationen enthält. – cassandrad

+0

Das stimmt, die Ausnahme hätte die Details. Es ist jedoch anders, wenn eine Tabellenspeicherbindung verwendet wird. Der Funktionscode wird nicht direkt in den Tabellenspeicher eingefügt, er bereitet nur Daten vor und Azure-Funktionen versuchen, die Runtime einzufügen und zu scheitern. – mybrave

Antwort

3

Könnten Sie bitte Application Insights aktivieren? Dies würde Ihnen detailliertere Informationen über diese Fehler geben.

Sie finden Informationen zum Aktivieren von Application Insights für Ihre Funktionsanwendung here.

Darüber hinaus kann das Überprüfen Ihrer Speicherkontoprotokolle hilfreiche Informationen dazu liefern, was den Fehler verursacht haben könnte.

Ich schaffe auch dieses Problem eine Erweiterung zu verfolgen: https://github.com/Azure/azure-webjobs-sdk/issues/1300

+0

danke für den Vorschlag - Ich werde die App Insights aktivieren und erneut überprüfen – mybrave

+0

Application Insights scheint die gleichen Informationen anzuzeigen, wie in den Protokollen zumindest für Anwendungsfehler angezeigt wird. Danke, dass Sie das Problem auf GitHub angesprochen haben, es wäre wirklich nützlich, mehr Details zu erfahren. Übrigens. Ich habe erkannt, was das Problem ist, aber es könnte viel schneller gefunden werden, wenn das Protokoll einige Details gibt. Problem in meinem Fall war, dass die Größe der Daten überschritten 64 KB für Spalte in der Tabelle erlaubt. – mybrave

+1

Ja. Eröffnet das Problem, um sicherzustellen, dass die Dinge so einfach sind. Wenn Sie diese Nachricht zu Beginn hätten, wäre dies eine schnelle Lösung :). Freut mich zu hören, dass Sie die Ursache gefunden haben. Neugierig, wo haben Sie diese Informationen gefunden? Speicherprotokolle? –