Azure functions 如何在Azure Functions 3.x PowerShell 7中调用Azure PowerShell模块命令?

Azure functions 如何在Azure Functions 3.x PowerShell 7中调用Azure PowerShell模块命令?,azure-functions,Azure Functions,我需要在Azure Functions 3中运行Azure PowerShell模块命令脚本 我不希望在每次函数调用时都运行安装模块。我希望有更好的方法。Azure PowerShell模块相当大 我正在阅读以下文档,但找不到有关如何调用Azure PowerShell模块commandsL的任何参考资料 如何在Azure Functions 3.x PowerShell 7中调用Azure PowerShell模块命令?在Azure Functions工作区中,您有一个requirement

我需要在Azure Functions 3中运行Azure PowerShell模块命令脚本

我不希望在每次函数调用时都运行安装模块。我希望有更好的方法。Azure PowerShell模块相当大

我正在阅读以下文档,但找不到有关如何调用Azure PowerShell模块commandsL的任何参考资料


如何在Azure Functions 3.x PowerShell 7中调用Azure PowerShell模块命令?

在Azure Functions工作区中,您有一个requirements.psd1,其中列出了依赖项,它导入的唯一默认模块是Az模块

由于这在主机启动时可用,您应该能够通过使用函数run.ps1中的Az命令来使用自动加载

如果您只需要Az模块的一个子集,那么您可以在requirements.psd1文件中更加具体

'Az.Accounts' = '1.9.5'
'Az.Resources' = '2.*'

这在这里的文档中列出:

在Azure功能工作区中,您有一个requirements.psd1,其中列出了依赖项,它导入的唯一默认模块是Az模块

由于这在主机启动时可用,您应该能够通过使用函数run.ps1中的Az命令来使用自动加载

如果您只需要Az模块的一个子集,那么您可以在requirements.psd1文件中更加具体

'Az.Accounts' = '1.9.5'
'Az.Resources' = '2.*'
此处的文档中列出了这一点:

无需使用安装模块。在这种情况下,当前,当您在门户中创建powershell功能时,默认情况下,它将通过该功能为您安装Az模块

您可以检查门户中的应用程序文件刀片,以确保您的功能应用程序配置正确,如果未正确配置,请按以下方式更改它们

host.json

要求1.psd1

profile.ps1

通过以上设置,函数应用程序将自动为您安装Az模块,并使用profile.ps1中的函数appcommand登录Az模块,非常方便

要在函数中使用Az命令,您只需为您的函数应用程序启用MSI,并根据具体情况而定,例如,如果您想列出订阅/资源组中的所有web应用程序,您需要在订阅/资源组范围内为您的MSI提供类似Reader的角色

然后在函数代码中,只需直接使用Az命令,无需其他任何操作

样本:

在这种情况下无需使用Install Module,当前,当您在门户中创建powershell功能时,默认情况下,它将通过该功能为您安装Az模块

您可以检查门户中的应用程序文件刀片,以确保您的功能应用程序配置正确,如果未正确配置,请按以下方式更改它们

host.json

要求1.psd1

profile.ps1

通过以上设置,函数应用程序将自动为您安装Az模块,并使用profile.ps1中的函数appcommand登录Az模块,非常方便

要在函数中使用Az命令,您只需为您的函数应用程序启用MSI,并根据具体情况而定,例如,如果您想列出订阅/资源组中的所有web应用程序,您需要在订阅/资源组范围内为您的MSI提供类似Reader的角色

然后在函数代码中,只需直接使用Az命令,无需其他任何操作

样本:

@{
    # For latest supported version, go to 'https://www.powershellgallery.com/packages/Az'. 
    'Az' = '5.*'
}
if ($env:MSI_SECRET) {
    Disable-AzContextAutosave -Scope Process | Out-Null
    Connect-AzAccount -Identity
}
$a = Get-AzWebApp -ResourceGroupName joyRG
Write-Host $a.Name