Užtikrinant, kad jūsų „Azure“ funkcijos programa turėtų prieigą prie „PowerShell“ galerijos, reikia atlikti keletą veiksmų, ypač kai reikia elgtis su dideliais ar dažnai atnaujintais moduliais. Štai kaip jūs galite tai valdyti:
1. Įgalinkite valdomas priklausomybes: Pagal numatytuosius nustatymus „Azure“ funkcijos gali automatiškai atsisiųsti ir valdyti „PowerShell“ modulius, nurodytus faile „Reikalave.psd1“. Tai yra patogu, tačiau gali sukelti problemų, jei „PowerShell“ galerija yra nepasiekiama arba jei moduliai yra per dideli, kad būtų galima atsisiųsti per laiko laikotarpį [3] [5].
2. Nurodykite modulius „Reikalavimus.psd1“: Jei nuspręsite naudoti valdomas priklausomybes, išvardykite reikiamus modulius „Rambless.psd1“ faile. Pavyzdžiui, norint naudoti AZ modulį, faile atjunkite eilutę `'AZ' = '13.*''` [9].
3. Išankstiniai įkrovos dideli moduliai: dideliems moduliams arba naudojant vartojimo planą geriau iš anksto įkelti juos į savo funkcijos programos saugyklą. Tai apima modulio atsisiuntimą vietoje, jį suspausti ir įkelti jį į „wwwroot \ modulių“ katalogą jūsų funkcijos programoje [1] [3].
4. Konfigūruokite „host.json“: Įsitikinkite, kad „ManageDEdEdendence“ nustatyta kaip „False“ „Host.json“, jei rankiniu būdu įkeliate modulius. Tai neleidžia funkcijos programai bandyti automatiškai atsisiųsti modulius [1].
5. Atnaujinimas „Profile.ps1“: modifikuokite failą „Profile.ps1“, kad įtraukti pasirinktinį modulio kelią į „$ env: psmodulepath“. Tai užtikrina, kad jūsų rankiniu būdu įkeltus modulius nustato „PowerShell“ [1].
6. Patikrinkite tinklo prieigą: Įsitikinkite, kad jūsų funkcijos programa turi prieigą prie „PowerShell“ galerijos, tikrindami jo tinklo nustatymus. Jei apribosite visuomenės prieigą, įsitikinkite, kad jūsų funkcijos programos IP adresas gali pasiekti galeriją [1].
Atlikdami šiuos veiksmus, galite įsitikinti, kad jūsų „Azure“ funkcijos programa turi patikimą prieigą prie „PowerShell“ galerijos ir efektyviai valdyti didelius ar kritinius modulius.
Citatos:
[1] https://digitalitmaterial.ch/blog/azure-function-app-with-large-powershell-modules/
[2] https://practical365.com/how-to-use-internal-powershell-lallery-app/
[3] https://support.cloudradial.com/hc/en-us/articles/23642455028884-installing-Powershell-Modules-in-Azure-Funktions
[4] https://learn.microsoft.com/en-us/azure/azure-functions/functions-app-settings
[5] https://about-cowershell.com/blog/azure-funktions-fails-when-powershell-gallery-is-neachable-seachable-powershell-worker-runtime/
[6] https://pnp.github.io/powershell/articles/azurefunctions.html
[7] https://techcommunity.microsoft.com/blog/appSonazureblog/steps-to-Manlecle-add-Powershell-modules-infunction-APP/4163463
[8] https://laurakokkarinen.com/how-to-use-pnp-powershell-on-azure-funkctions-with-application-permissions/
[9] https://dev.to/rokicool/azure-function-app-flex-conselibsion-powershell-modules-solution-1hfg