gpt4 book ai didi

powershell - 使用 ARM 输出或 powershell 获取 Azure Function 默认 key 的方法

转载 作者:行者123 更新时间:2023-12-02 22:47:24 26 4
gpt4 key购买 nike

我正在尝试为 Azure Function 应用设置集成测试。部署进展顺利,但我需要一种方法来以编程方式获取默认 key 来运行集成测试。

我已经尝试过此处链接的内容 - Get Function & Host Keys of Azure Function In Powershell - 但无法让 listsecrets 在我的 ARM 部署模板中工作。 Listsecrets 无法识别。

有人知道如何使用 ARM 模板和/或 powershell 获取此 key 吗?

最佳答案

我最终能够在 VSTS 任务中运行 Azure Powershell 脚本并将变量输出到构建 key 。我附上脚本以便其他人可以使用。

#Requires -Version 3.0

Param(
[string] [Parameter(Mandatory=$true)] $ResourceGroup,
[string] [Parameter(Mandatory=$true)] $FunctionAppName
)

$content = Get-AzureRmWebAppPublishingProfile -ResourceGroupName $ResourceGroup -Name $FunctionAppName -OutputFile creds.xml -Format WebDeploy
$username = Select-Xml -Content $content -XPath "//publishProfile[@publishMethod='MSDeploy']/@userName"
$password = Select-Xml -Content $content -XPath "//publishProfile[@publishMethod='MSDeploy']/@userPWD"
$accessToken = "Basic {0}" -f [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username, $password)))

$masterApiUrl = "https://$FunctionAppName.scm.azurewebsites.net/api/functions/admin/masterkey"
$masterKeyResult = Invoke-RestMethod -Uri $masterApiUrl -Headers @{"Authorization"=$accessToken;"If-Match"="*"}
$masterKey = $masterKeyResult.Masterkey

$functionApiUrl = "https://$FunctionAppName.azurewebsites.net/admin/host/keys?code=$masterKey"
$functionApiResult = Invoke-WebRequest -UseBasicParsing -Uri $functionApiUrl
$keysCode = $functionApiResult.Content | ConvertFrom-Json
$functionKey = $keysCode.Keys[0].Value

$saveString = "##vso[task.setvariable variable=FunctionAppKey;]{0}" -f $functionKey

Write-Host ("Writing: {0}" -f $saveString)
Write-Output ("{0}" -f $saveString)

关于powershell - 使用 ARM 输出或 powershell 获取 Azure Function 默认 key 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46736165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com