Забезпечення вашого додатка Azure Function має доступ до галереї PowerShell включає кілька кроків, особливо при роботі з великими або часто оновленими модулями. Ось як можна керувати цим:
1. Увімкнути керовані залежності: За замовчуванням функції Azure можуть автоматично завантажувати та керувати модулями PowerShell, зазначеними у файлі `eximes.psd1`. Це зручно, але може спричинити проблеми, якщо галерея PowerShell недосяжна або якщо модулі занадто великі, щоб завантажити протягом періоду очікування [3] [5].
2. Вкажіть модулі в `eximes.psd1`: Якщо ви вирішили використовувати керовані залежності, перелічіть необхідні модулі у файлі` eximes.psd1`. Наприклад, щоб використовувати модуль AZ, відключити рядок `'az' = '13.*'` У файлі [9].
3. Попереднє завантаження великих модулів: для великих модулів або при використанні плану споживання краще попередньо їх завантажити в зберігання програми вашої функції. Це передбачає завантаження модуля локально, стиснення його та завантаження його у каталог `wwwroot \ modules` у вашій функції [1] [3].
4. Налаштуйте `host.json`: Переконайтесь, що` ManageDePendency` встановлено на `false` у` host.json`, якщо ви вручну завантажуєте модулі. Це заважає додатку функції автоматично завантажувати модулі [1].
5. Оновлення `Profile.ps1`: Змініть файл` profile.ps1`, щоб включити спеціальний шлях модуля в `$ env: psmodulepath`. Це гарантує, що ваші завантажені вручну модулі були виявлені PowerShell [1].
6. Перевірте доступ до мережі: Переконайтесь, що ваш додаток функції має доступ до галереї PowerShell, перевіряючи її налаштування мережі. Якщо ви обмежуєте доступ до загальнодоступного доступу, переконайтеся, що IP -адреса вашої функції може дійти до галереї [1].
Дотримуючись цих кроків, ви можете переконатися, що ваш додаток Azure Function має надійний доступ до галереї PowerShell і може ефективно керувати великими або критичними модулями.
Цитати:
[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.cloudradial.com/hc/en-us/articles/23642455028884-installing-powershell-modules-азуре-функції
[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-manual-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-consumments-powershell-modules-solution-1hfg