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