Ich habe eine Funktion, mit der ich seit ein paar Monaten spiele (sogar ein Problem, wie zu sehen ist hier) und ich habe Probleme, wenn ich anfange, die Nutzung von Tests auf" Produktion "zu skalieren.

Die Funktion nimmt 2 Werte auf, sucht in einer Azure-Tabelle nach einem übereinstimmenden Wert, entfernt ihn, wenn er ihn findet, und fügt die neuen Werte zusammen. Dies funktioniert gut beim Testen. Sobald ich von ein paar Anrufen pro Sekunde auf 20 bis 30 Anrufe pro Sekunde skaliere, schlägt dies mit der oben genannten Antwort fehl.

Das eigentliche Problem bei der Verwendung von Insights ist, dass eine System.InvalidOperationException - Ausnahme ausgelöst wird. Hier ist der Aufrufstapel:

System.InvalidOperationException:
   at Microsoft.Azure.WebJobs.Script.WebHost.SecretManager+<PersistSecretsAsync>d__27`1.MoveNext (Microsoft.Azure.WebJobs.Script.WebHost, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nullMicrosoft.Azure.WebJobs.Script.WebHost, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: C:\projects\azure-webjobs-sdk-script\src\WebJobs.Script.WebHost\Security\SecretManager.csMicrosoft.Azure.WebJobs.Script.WebHost, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: 440)
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089)
   at Microsoft.Azure.WebJobs.Script.WebHost.SecretManager+<GetHostSecretsAsync>d__12.MoveNext (Microsoft.Azure.WebJobs.Script.WebHost, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nullMicrosoft.Azure.WebJobs.Script.WebHost, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: C:\projects\azure-webjobs-sdk-script\src\WebJobs.Script.WebHost\Security\SecretManager.csMicrosoft.Azure.WebJobs.Script.WebHost, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: 104)
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089)
   at Microsoft.Azure.WebJobs.Script.WebHost.WebJobsSdkExtensionHookProvider+<GetOrCreateExtensionKey>d__6.MoveNext (Microsoft.Azure.WebJobs.Script.WebHost, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nullMicrosoft.Azure.WebJobs.Script.WebHost, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: C:\projects\azure-webjobs-sdk-script\src\WebJobs.Script.WebHost\WebHooks\WebJobsSdkExtensionHookProvider.csMicrosoft.Azure.WebJobs.Script.WebHost, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: 71)
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089)
   at Microsoft.Azure.WebJobs.Script.WebHost.WebJobsSdkExtensionHookProvider.GetExtensionWebHookRoute (Microsoft.Azure.WebJobs.Script.WebHost, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nullMicrosoft.Azure.WebJobs.Script.WebHost, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: C:\projects\azure-webjobs-sdk-script\src\WebJobs.Script.WebHost\WebHooks\WebJobsSdkExtensionHookProvider.csMicrosoft.Azure.WebJobs.Script.WebHost, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: 64)
   at Microsoft.Azure.WebJobs.Script.WebHost.WebJobsSdkExtensionHookProvider.GetUrl (Microsoft.Azure.WebJobs.Script.WebHost, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nullMicrosoft.Azure.WebJobs.Script.WebHost, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: C:\projects\azure-webjobs-sdk-script\src\WebJobs.Script.WebHost\WebHooks\WebJobsSdkExtensionHookProvider.csMicrosoft.Azure.WebJobs.Script.WebHost, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: 49)
   at Microsoft.Azure.WebJobs.Host.Config.ExtensionConfigContext.GetWebhookHandler (Microsoft.Azure.WebJobs.Host, Version=2.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
   at Microsoft.Azure.WebJobs.Extensions.EventGrid.EventGridExtensionConfig.Initialize (Microsoft.Azure.WebJobs.Extensions.EventGrid, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null)
   at Microsoft.Azure.WebJobs.Host.Executors.JobHostConfigurationExtensions.InvokeExtensionConfigProviders (Microsoft.Azure.WebJobs.Host, Version=2.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
   at Microsoft.Azure.WebJobs.Host.Executors.JobHostConfigurationExtensions.CreateStaticServices (Microsoft.Azure.WebJobs.Host, Version=2.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
   at Microsoft.Azure.WebJobs.JobHost.InitializeServices (Microsoft.Azure.WebJobs.Host, Version=2.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
   at Microsoft.Azure.WebJobs.Script.Utility.CreateMetadataProvider (Microsoft.Azure.WebJobs.Script, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nullMicrosoft.Azure.WebJobs.Script, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: C:\projects\azure-webjobs-sdk-script\src\WebJobs.Script\Utility.csMicrosoft.Azure.WebJobs.Script, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: 362)
   at Microsoft.Azure.WebJobs.Script.ScriptHost.LoadBindingExtensions (Microsoft.Azure.WebJobs.Script, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nullMicrosoft.Azure.WebJobs.Script, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: C:\projects\azure-webjobs-sdk-script\src\WebJobs.Script\Host\ScriptHost.csMicrosoft.Azure.WebJobs.Script, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: 966)
   at Microsoft.Azure.WebJobs.Script.ScriptHost.Initialize (Microsoft.Azure.WebJobs.Script, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nullMicrosoft.Azure.WebJobs.Script, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: C:\projects\azure-webjobs-sdk-script\src\WebJobs.Script\Host\ScriptHost.csMicrosoft.Azure.WebJobs.Script, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: 299)
   at Microsoft.Azure.WebJobs.Script.ScriptHostManager.RunAndBlock (Microsoft.Azure.WebJobs.Script, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nullMicrosoft.Azure.WebJobs.Script, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: C:\projects\azure-webjobs-sdk-script\src\WebJobs.Script\Host\ScriptHostManager.csMicrosoft.Azure.WebJobs.Script, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: 178)

Die Nachricht damit lautet:

Repository has more than 10 non-decryptable secrets backups (host). 

Ich habe leider keine Ahnung was das bedeutet. Jede Suche nach diesem Ergebnis führt zu nur wenigen Threads, in denen es um die Neuerstellung der Schlüssel geht, aber ich weiß auch nicht genau, was das bedeutet. Einige Threads erwähnen die Rückkehr zu V1 der Funktionen, aber ich bin bereits in V1, daher ist dies keine Option.

Was ist mit dieser Funktion los und wie behebe ich sie?

Für alle Azure-Mitarbeiter, die dies betrachten, lautet meine Funktions-ID:

2019-01-18T15:52:18.658 [Info] Function started (Id=fc6850e8-7554-46d8-81ec-4d1697c7b572)
3
Dale Myers 18 Jän. 2019 im 18:52

4 Antworten

Beste Antwort

Durch Löschen von D:\home\data\Functions\secrets wurde das Problem behoben.

Step 0 Step 1 Step 2 Step 3

Im Allgemeinen habe ich gelernt, dass Kudu unabhängig von Ihrem seltsamen Verhalten bei Azure Function immer das beste Werkzeug für Untersuchungen ist.

2
Farrukh Normuradov 25 Jän. 2019 im 11:06

Die Nachricht zeigte an, dass dies etwas mit den Schlüsseln (Geheimnissen) auf Hostebene in Ihrer Funktion zu tun hat.

Obwohl ich keine eindeutige Lösung für dieses Problem habe (da ich dieses Problem noch nie erlebt habe), würde ich vorschlagen, dass Sie das host.json im Ordner D:\home\data\Functions\secrets überprüfen und feststellen, ob dort etwas Ungewöhnliches vorhanden ist, z. Es gibt mehr als 10 Schlüssel - wie in der Fehlermeldung angegeben.

1
Thuc Nguyen 21 Jän. 2019 im 00:09

Wenn Sie ein benutzerdefiniertes Startup haben, liegt möglicherweise ein Fehler vor, der den Start des Hosts blockiert.

Gehen Sie im Portal zur Seite der Funktion (auf der Sie den Inhalt von function.json sehen können). Es wird (wahrscheinlich) eine Fehlermeldung angezeigt. Daraus können Sie eine Vorstellung davon bekommen, wo Sie nach dem Fehler suchen müssen. In meinem Fall wurde eine Ausnahme ausgelöst, als ich versuchte, über die Startklasse eine Verbindung zum Azure Key Vault herzustellen, aber Der Funktion wurde keine Listenberechtigung erteilt.

1
klenium 16 Jän. 2020 im 12:48

Kleine Ergänzung zu den oben genannten Lösungen. Ich hatte das gleiche Problem und selbst nach dem Löschen geheimer Dateien aus dem Ordner D:\home\data\Functions\secrets auf der KUDU-Site wurde immer noch der gleiche Fehler angezeigt.

Ich konnte dies beheben, indem ich host.*.snapshot.*.json Dateien aus dem Ordner azure-webjobs-secret löschte, der sich in meinem Blob-Speicher auf Azure befand. Grundsätzlich gab es 10 solcher Snapshot-Dateien.

0
Divya 6 Feb. 2020 im 07:16