You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Logic Apps中List Secrets活动分页失效,如何获取密钥库全部密钥?

在Logic Apps中获取Azure密钥库全部密钥的解决方案

方法一:利用循环+分页令牌自动遍历所有页

  1. 先初始化一个数组变量(比如命名为allSecrets),用来存储所有密钥数据。
  2. 添加List Secrets活动,执行后用Append to array variable把当前返回的密钥批量加入allSecrets。
  3. 检查List Secrets返回结果里的nextLink字段——这就是下一页的分页令牌。
  4. 添加Do until循环,把循环条件设为@empty(body('List_Secrets')?['nextLink']),也就是直到没有下一页令牌时停止循环。
  5. 在循环内部再添加一个List Secrets活动,在它的Next page token参数里填入@body('List_Secrets')?['nextLink'],指定获取下一页数据。
  6. 同样用Append to array variable把分页返回的密钥加入allSecrets。
    循环结束后,allSecrets里就是密钥库的全部密钥了。

方法二:直接调用Key Vault REST API手动处理分页

  1. 添加HTTP活动,请求方法设为GET,URL填https://<你的密钥库名称>.vault.azure.net/secrets?api-version=7.4,把<你的密钥库名称>换成实际名称。
  2. 身份验证选Managed Identity,资源填https://vault.azure.net,确保Logic Apps的托管身份已经在密钥库的访问策略里配置了List Secrets权限。
  3. 执行这个HTTP活动后,提取返回内容里的value(当前页密钥)和nextLink(下一页地址)。
  4. 同样用Do until循环,循环条件设为@empty(body('HTTP')?['nextLink'])。
  5. 循环内的HTTP活动直接用上一次返回的nextLink作为请求URL,继续拉取数据,每次都把新页的密钥追加到数组变量里。

注意事项

  • 不管用哪种方法,都要确保Logic Apps的托管身份在密钥库的访问策略中被授予了List Secrets权限,否则会出现权限不足的错误。
  • 写表达式的时候要注意活动名称和实际配置一致,比如body('List_Secrets')里的List_Secrets要和你添加的活动名称完全匹配。

内容的提问来源于stack exchange,提问作者RRP

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 06:47:19