Обеспечение того, чтобы ваше приложение Function Function имеет доступ к галерее PowerShell, включает в себя несколько шагов, особенно при работе с большими или часто обновленными модулями. Вот как вы можете справиться с этим:
1. Включение управляемых зависимостей: по умолчанию функции Azure могут автоматически загружать и управлять модулями PowerShell, указанных в файле `tedding.psd1`. Это удобно, но может вызвать проблемы, если галерея PowerShell недоступна или если модули слишком велики, чтобы загрузить в течение периода времени [3] [5].
2. Укажите модули в `tedings.psd1`: если вы решите использовать управляемые зависимости, перечислите требуемые модули в файле` reditions.psd1`. Например, чтобы использовать модуль AZ, пособите строку `az '= '13.*'` В файле [9].
3. Предварительная загрузка больших модулей: для больших модулей или при использовании плана потребления лучше предварительно загружать их в хранилище вашего функционального приложения. Это включает в себя загрузку модуля локально, сжатие его и загрузку в каталог `wwwroot \ modules` в вашем приложении функционального приложения [1] [3].
4. Настройте `host.json`: убедитесь, что« ManagedDependency »установлено на` false` в `host.json`, если вы загружаете модули вручную. Это предотвращает автоматическую загрузку модулей функционального приложения [1].
5. Обновление `profile.ps1`: изменить файл` profile.ps1`, чтобы включить пользовательский путь модуля в `$ env: psmodulepath`. Это гарантирует, что ваши загруженные вручную модули обнаруживаются PowerShell [1].
6. Проверьте доступ к сети: убедитесь, что ваше приложение для функций имеет доступ к галерее PowerShell, проверяя настройки сети. Если вы ограничиваете общественный доступ, убедитесь, что IP -адрес вашего приложения вашего функционального приложения может достичь галереи [1].
Следуя этим шагам, вы можете убедиться, что ваше приложение для функции Azure имеет надежный доступ к галерее 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-in-azure-cunctions
[4] https://learn.microsoft.com/en-us/azure/azure-functs/functions-app-settings
[5] https://about-powershell.com/blog/azure-functs-fails-when-powershell-gallery-is-not, подлежащие powershell-worker-runtime/
[6] https://pnp.github.io/powershell/articles/azurefunctions.html
[7] https://techcommunity.microsoft.com/blog/appsonazureblog/steps-to-manually-add-powershell-modules-infunct-app/4163463
[8] https://laurakokkarinen.com/how-to-use-pnp-powershell-on-azure-functs-with-application-permissions/
[9] https://dev.to/rokicool/azure-function-app-flex-consportion-powershell-modules-solution-1hfg