Zapewnienie, że aplikacja Funkcja Azure ma dostęp do Galerii PowerShell, obejmuje kilka kroków, szczególnie w przypadku dużych lub często aktualizowanych modułów. Oto jak możesz to zarządzać:
1. Włącz zależności zarządzane: Domyślnie funkcje Azure mogą automatycznie pobierać i zarządzać modułami PowerShell określonych w pliku „wymagań.psd1`. Jest to wygodne, ale może powodować problemy, jeśli Galeria PowerShell jest nieosiągalna lub jeśli moduły są zbyt duże, aby pobrać w okresie czasu [3] [5].
2. Określ moduły w „wymagania.psd1”: Jeśli zdecydujesz się użyć zarządzanych zależności, wymień wymagane moduły w pliku „wymagań.psd1”. Na przykład, aby użyć modułu AZ, pocukaj wiersz `'' az '= '13.*' 'W pliku [9].
3. Przyprowadź duże moduły: W przypadku dużych modułów lub podczas korzystania z planu zużycia lepiej jest je wstępować do przechowywania aplikacji funkcyjnej. Obejmuje to pobieranie modułu lokalnie, kompresowanie go i przesłanie do katalogu „wwwroot \ module” w aplikacji funkcyjnej [1] [3].
4. Konfiguruj `host.json`: Upewnij się, że` `ManagedDePendency 'jest ustawione na` `false' w 'host.json`, jeśli ręcznie przesyłasz moduły. Zapobiega to automatycznym pobieraniu aplikacji funkcyjnej modułów [1].
5. Aktualizacja `profilu.ps1`: Zmodyfikuj plik` profilu.ps1`, aby zawierać niestandardową ścieżkę modułu w `$ env: psModuPath`. Zapewnia to, że PowerShell [1] wykryje twoje ręcznie przesłane moduły [1].
6. Sprawdź dostęp do sieci: Upewnij się, że aplikacja funkcyjna ma dostęp do galerii PowerShell, sprawdzając ustawienia sieciowe. Jeśli ograniczysz dostęp do publicznego, upewnij się, że adres IP aplikacji funkcyjnej może dotrzeć do galerii [1].
Postępując zgodnie z tymi krokami, możesz upewnić się, że aplikacja Funkcja Azure ma niezawodny dostęp do galerii PowerShell i może skutecznie zarządzać dużymi lub krytycznymi modułami.
Cytaty:
[1] https://digitalmaterial.ch/blog/azure-function-app-with-large-powershell-modules/
[2] https://practical365.com/how-to-use-internal-powershell-gallery-app/
[3] https://support.cludradial.com/hc/en-us/articles/23642455028884-installing-powershell-modules-in-azure-functions
[4] https://learn.microsoft.com/en-us/azure/azure-functions/functions-app-settings
[5] https://about-powershell.com/blog/azure-functions-fails-when-powershell-gallery-is-not-reachable-powershell-worker-runtime/
[6] https://pnp.github.io/powershell/articles/azurefunctions.html
[7] https://techcommunity.microsoft.com/blog/appsonazureblog/steps-to-manialalals-add-powershell-modules-in-function-app/4163463
[8] https://laurakokkarinen.com/how-to-use-pnp-powershell-on-azure-functions-with-application-permissions/
[9] https://dev.to/roKicool/azure-function-app-flex-consument-powershell-modules-solution-1hfg