Azure 来自powershell的事件网格函数URL

Azure 来自powershell的事件网格函数URL,azure,powershell,azure-powershell,Azure,Powershell,Azure Powershell,我有一个事件网格触发功能应用程序。我使用下面的代码来获取函数URL function Get-Function-Key { return (Invoke-AzResourceAction ` -Action listKeys ` -ResourceType 'Microsoft.Web/sites/functions/' ` -ResourceGroupName $ResourceGroup `

我有一个事件网格触发功能应用程序。我使用下面的代码来获取函数URL

function Get-Function-Key {
    return (Invoke-AzResourceAction `
            -Action listKeys `
            -ResourceType 'Microsoft.Web/sites/functions/' `
            -ResourceGroupName $ResourceGroup `
            -ResourceName "$FuncAppName/$FuncName" `
            -Force).default
}

$functionKey = Get-Function-Key -FuncAppName $FuncAppName -FuncName $FuncName `
                -ResourceGroup $ResourceGroup

$apiUrl = "https://$FuncAppName.azurewebsites.net/runtime/webhooks/EventGrid?functionName=$FuncName&code=$functionKey"

我注意到函数URL使用masterkey而不是函数键。powershell中是否有任何命令可以获取函数URL的主密钥。

我在我这方面测试了您的命令,它会在函数应用程序中返回EventGridTrigger的函数密钥

function Get-Function-Key {
    return (Invoke-AzResourceAction `
            -Action listKeys `
            -ResourceType 'Microsoft.Web/sites/functions/' `
            -ResourceGroupName $ResourceGroup `
            -ResourceName "$FuncAppName/$FuncName" `
            -Force).default
}

$functionKey = Get-Function-Key -FuncAppName $FuncAppName -FuncName $FuncName `
                -ResourceGroup $ResourceGroup

$apiUrl = "https://$FuncAppName.azurewebsites.net/runtime/webhooks/EventGrid?functionName=$FuncName&code=$functionKey"
因此,如果您想获得主密钥,只需使用下面的命令

function Get-Function-Key {
 param([string]$FuncAppName,[string]$ResourceGroup)
    return (Invoke-AzResourceAction `
            -Action listKeys `
            -ResourceType 'Microsoft.Web/sites/host/default' `
            -ResourceGroupName $ResourceGroup `
            -ResourceName "$FuncAppName" `
            -Force).masterKey
}

我在我这边测试你的命令,它返回函数应用程序中EventGridTrigger的函数键

因此,如果您想获得主密钥,只需使用下面的命令

function Get-Function-Key {
 param([string]$FuncAppName,[string]$ResourceGroup)
    return (Invoke-AzResourceAction `
            -Action listKeys `
            -ResourceType 'Microsoft.Web/sites/host/default' `
            -ResourceGroupName $ResourceGroup `
            -ResourceName "$FuncAppName" `
            -Force).masterKey
}

您的函数没有
param
块,但您使用参数调用它??我对powershell脚本编写不熟悉。我目前正在探索,稍后将根据标准对其进行更改。顺便说一下,这些参数是通过azure devops发布管道设置的。我想我们是在azure powershell任务的脚本参数部分设置的。我在azure任务中没有经验,但如果函数应该使用参数,则需要将它们定义为函数中的第一行:
param([string]$FuncAppName,[string]$FuncName,[string]$ResourceGroup)
有更新此问题吗?如果有帮助,请接受它作为答案,谢谢。您的函数没有
param
块,但您使用参数调用它??我是powershell脚本新手。我目前正在探索,稍后将根据标准对其进行更改。顺便说一下,这些参数是通过azure devops发布管道设置的。我想我们是在azure powershell任务的脚本参数部分设置的。我在azure任务中没有经验,但如果函数应该使用参数,则需要将它们定义为函数中的第一行:
param([string]$FuncAppName,[string]$FuncName,[string]$ResourceGroup)
有更新此问题吗?如果有帮助,请接受它作为答案,谢谢。