如何使用Azure CLI和PowerShell获取指定的Function Host Key
Azure Function Host 密钥提取优化方案
你现有实现中构造脚本块的方式完全可以简化,以下是两种更安全、更简洁的实现方案:
方案1:PowerShell 动态属性直接取值
PowerShell 原生支持用变量作为属性名访问对象属性,无需手动构造脚本块执行:
$newHostKeyName = "my-new-host-key" # 拉取所有密钥并转换为PowerShell对象 $allKeys = az functionapp keys list -g $ResourceGroupName -n $FunctionAppName --query 'functionKeys' | ConvertFrom-Json # 直接通过动态属性名取值即可 $funcHostKeySecret = $allKeys.$newHostKeyName # 也可以用方括号索引写法:$funcHostKeySecret = $allKeys[$newHostKeyName]
方案2:AZ CLI 侧直接查询提取(最高效)
无需后续处理JSON对象,直接在az命令的JMESPath查询阶段就过滤出指定密钥,配合-o tsv参数直接返回纯文本密钥值:
$newHostKeyName = "my-new-host-key" # 直接查询返回指定密钥的纯文本,无需转换JSON $funcHostKeySecret = az functionapp keys list -g $ResourceGroupName -n $FunctionAppName --query "functionKeys.""$newHostKeyName""" -o tsv
注意:query参数外层使用双引号包裹,内部的动态密钥名也用双引号包裹,可兼容包含特殊字符的密钥名。
内容的提问来源于stack exchange,提问作者NER1808
相关产品推荐
相关产品推荐

