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

如何通过AWS CLI从Cognito用户池匹配托管URL获取客户端ID?

解决AWS CLI从Cognito用户池匹配托管URL获取客户端ID的问题

核心问题分析

你当前的命令问题在于JMESPath查询中字符串的引号处理:shell变量$hostedurl需要被包裹为JMESPath能识别的字符串格式,同时要保证shell正确解析变量。

正确命令示例

方式1:使用变量匹配(包含指定URL)

如果需要匹配CallbackURLs数组中包含指定URL的客户端,执行以下命令:

hostedurl="https://localhost.com"
aws cognito-idp list-user-pool-clients --user-pool-id us_east_1dg****** --query "UserPoolClients[?contains(CallbackURLs, '${hostedurl}')].ClientId" --output text

方式2:使用变量精确匹配URL

如果需要严格匹配CallbackURLs数组中完全等于指定URL的客户端,替换为==判断:

hostedurl="https://localhost.com"
aws cognito-idp list-user-pool-clients --user-pool-id us_east_1dg****** --query "UserPoolClients[?CallbackURLs == '${hostedurl}'].ClientId" --output text

关键说明

  • 引号处理:必须用单引号'包裹变量${hostedurl},让JMESPath将其识别为字符串,避免语法错误。
  • 过滤字段:添加.ClientId可以直接提取客户端ID,无需返回整个客户端对象。
  • 输出格式:--output text会返回纯文本格式的ID,方便后续脚本调用;如果需要JSON格式,可去掉该参数或改为--output json。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 08:13:14