Garantir que o aplicativo da função do Azure tenha acesso à Galeria PowerShell envolve várias etapas, especialmente ao lidar com módulos grandes ou frequentemente atualizados. Veja como você pode gerenciar isso:
1. Ativar dependências gerenciadas: Por padrão, as funções do Azure podem baixar e gerenciar automaticamente os módulos PowerShell especificados no arquivo `requisitos.psd1`. Isso é conveniente, mas pode causar problemas se a galeria do PowerShell for inacessível ou se os módulos forem grandes demais para baixar dentro do período de tempo limite [3] [5].
2. Especifique os módulos em `requisitos.psd1`: se você optar por usar dependências gerenciadas, liste os módulos necessários no arquivo` requisitos.psd1`. Por exemplo, para usar o módulo AZ, descompor a linha `'AZ' = '13.*'` No arquivo [9].
3. Pré -carregue grandes módulos: para grandes módulos ou ao usar o plano de consumo, é melhor pré -carregá -los no armazenamento do seu aplicativo de função. Isso envolve o download do módulo localmente, comprimindo -o e enviá -lo para o diretório `wwwroot \ modules` no seu aplicativo de função [1] [3].
4. Configure `host.json`: verifique se` gerenciado dependência` está definido como `false` em` host.json` se você enviar módulos manualmente. Isso impede que o aplicativo de função tente baixar módulos automaticamente [1].
5. Atualizar `perfil.ps1`: modifique o arquivo` perfil.ps1` para incluir o caminho do módulo personalizado em `$ Env: Psmodulepath`. Isso garante que seus módulos carregados manualmente sejam detectados pelo PowerShell [1].
6. Verifique o acesso à rede: verifique se o aplicativo de função tem acesso à Galeria PowerShell, verificando suas configurações de rede. Se você restringir o acesso público, verifique se o endereço IP do seu aplicativo de função pode chegar à galeria [1].
Seguindo estas etapas, você pode garantir que o aplicativo da função do Azure tenha acesso confiável à Galeria PowerShell e pode gerenciar módulos grandes ou críticos de maneira eficaz.
Citações:
[1] https://digitalmaterial.ch/blog/azure-function-app-with-large-powershell-modules/
[2] https://pracical365.com/how-to-use-internal-powershell-gallery-app/
[3] https://support.cloudradial.com/hc/en-us/articles/236424550288884-innstalling-powershell-modules-in-azure-funções
[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-não-raciable-powershell-worker-runtime/
[6] https://pnp.github.io/powershell/articles/azurefunctions.html
[7] https://techcommunity.microsoft.com/blog/appsazureblog/steps-to-manly-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-consumgust-powershell-modules-solution-1hfg