Podczas tworzenia funkcji Azure z PowerShell może pojawić się kilka typowych problemów:
1. Problemy ze ścieżką z `$ PWD`: W funkcjach platformy Azure użycie` $ pwd` może prowadzić do nieoczekiwanego zachowania, ponieważ nie zawsze może zwrócić oczekiwaną ścieżkę. Zamiast tego zaleca się użycie „$ psscriptroot` do niezawodnej rozdzielczości ścieżki [1].
2. Współbieżność i wydajność: Funkcje Azure w planie konsumpcji mogą doświadczać problemów współbieżności, szczególnie w przypadku funkcji PowerShell. Może to prowadzić do czasu i ustawiania się w kolejce. Dostosowanie ustawień, takich jak `Functions_Worker_Process_Count` i` PsWorkerInProcCurrencyUpperBound` może pomóc złagodzić te problemy [3] [7].
3. Zimny start: Funkcje Azure, szczególnie w planie konsumpcji, doświadczenie zimnych startów, które mogą opóźnić wykonanie Twojej funkcji. Jest to bardziej wyraźne w okresach bezczynności [6].
4. Zarządzanie zależnością: Uruchamianie „instalacji modułów” w swojej funkcji może powodować problemy z wydajnością. Lepiej jest pakować niezbędne moduły za pomocą `Save-Module` lub` Save-Psresource` przed wdrożeniem [6].
5. Wyzwania debugowanie: Debugowanie funkcji Azure PowerShell może być uciążliwe, a poleganie wyłącznie na dziennikach aplikacji może nie być wystarczające. Tworzenie niestandardowych rozwiązań rejestrowania, takich jak za pomocą tabeli pamięci, może być korzystne [7].
6. Problemy z serializacją: Niektóre obiekty zwrócone przez skrypty PowerShell mogą być nieporozumienia, powodując problemy podczas ich iteracji. Może to wymagać obejść, takich jak wywołanie PowerShell.exe z twojego skryptu [5].
Cytaty:
[1] https://www.blimped.nl/dont-trust-pwd-in-azure-powershell-functions/
[2] https://stackoverflow.com/questions/75194965/azure-functions-powershell-how-to-use-table-input-binding
[3] https://blog.darrenjrobinson.com/powershell-azure-functions-concurrency/
[4] https://docs.azure.cn/en-us/cosmos-db/nosql/troubleshoot-changeFeed-functions
[5] https://stackoverflow.com/questions/72227170/powershell-azure-function fails
[6] https://learn.microsoft.com/en-us/azure/azure-functions/functions-reference-powershell
[7] https://www.reddit.com/r/azure/comments/1czkfat/is_it_just_me_or_is_azure_functions_extremely/
[8] https://github.com/azure/azure-functions/issues/481