AWS CLI Chime search-available-phone-numbers 命令实战号码检索、筛选参数与 E.164 输出解析【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cliaws chime search-available-phone-numbers是 Amazon Chime 命令行工具中用于检索可订购电话号码的核心命令它在 AWS CLI 仓库中的命令定义位于 awscli/botocore/data/chime/2018-05-01/service-2.json其官方示例文档为 awscli/examples/chime/search-available-phone-numbers.rst。本文以该示例文档为主线结合命令的底层 API 模型、参数约束与响应结构系统讲解如何按区号、城市、州、免费前缀等多种条件检索号码并正确理解返回的 E.164 格式结果帮助你在 Chime 号码订购流程中准确完成前置查询。命令概览一次按区号检索可用号码的完整实践官方示例 awscli/examples/chime/search-available-phone-numbers.rst 给出了最基本的用法——按美国区号Area Code检索可用号码aws chime search-available-phone-numbers \ --area-code 206命令执行后返回所有匹配条件的可用号码列表输出结构如下{ E164PhoneNumbers: [ 12065550100, 12065550101, 12065550102, 12065550103, 12065550104, 12065550105, 12065550106, 12065550107, 12065550108, 12065550109, ] }从这个示例可以总结出三个关键事实入参方式区号通过--area-code参数传入CLI 会将其映射为 HTTP GET 请求的area-code查询字符串参数见 service-2.json 中AreaCode成员的location: querystring、locationName: area-code定义。返回格式响应体只有一个成员E164PhoneNumbers即符合 E.164 国际电话号码标准的号码列表。服务端语义该 API 的完整描述位于服务模型 service-2.json明确指出本操作是检索可以订购ordered的电话号码——也就是说search-available-phone-numbers是号码订购前的查询环节检索到的号码随后可用于order-phone-number等订购操作。参数详解从 CLI 参数到服务端请求的完整映射从服务模型 service-2.json 可以看到SearchAvailablePhoneNumbers操作共支持 7 个请求成员它们全部通过 URL 查询字符串querystring传递。下面是完整的参数对照表CLI 参数查询参数名locationName类型适用地区说明--area-codearea-codeString仅美国按区号过滤结果--citycityString仅美国按城市过滤结果提供时必须同时提供--state--countrycountryAlpha2CountryCode所有按国家过滤默认美国格式为 ISO 3166-1 alpha-2正则[A-Z]{2}--statestateString仅美国按州过滤结果仅在提供--city时必填--toll-free-prefixtoll-free-prefixTollFreePrefix仅美国按免费电话号码前缀过滤--phone-number-typephone-number-typePhoneNumberType非美国号码必填号码类型枚举值为Local本地或TollFree免费--max-resultsmax-resultsPhoneNumberMaxResults所有单次调用返回的最大结果数范围 1~500--next-tokennext-tokenString所有用于获取下一页结果的分页令牌参数约束要点源自服务模型的强约束美国号码的筛选规则服务模型明确规定对于美国号码必须提供以下筛选条件中的至少一个AreaCode、City、State或TollFreePrefix见 service-2.json。同时City与State是成对出现的——如果提供City则State为必填。非美国号码的强制要求美国以外的号码只支持PhoneNumberType筛选且必须提供该参数。也就是说检索非美国号码时不能使用区号、城市等美国专属筛选器。--toll-free-prefix的格式约束免费前缀的模型定义见 service-2.json要求长度为恰好 3 位且正则匹配^8(00|33|44|55|66|77|88)$即只能取 800、833、844、855、866、877、888 中的一种。--country的格式约束国家代码必须是大写双字母匹配正则[A-Z]{2}ISO 3166-1 alpha-2 规范见 service-2.json。--max-results的取值范围模型规定为 1 到 500 之间的整数见 service-2.json超出范围会触发客户端参数校验错误。参数组合示例按州检索美国aws chime search-available-phone-numbers \ --state WA按城市 州组合检索城市必须搭配州使用aws chime search-available-phone-numbers \ --city Seattle \ --state WA按免费号码前缀检索前缀只能是 800/833/844/855/866/877/888aws chime search-available-phone-numbers \ --toll-free-prefix 800检索非美国号码必须指定号码类型此处检索加拿大的本地号码aws chime search-available-phone-numbers \ --country CA \ --phone-number-type Local限制返回条数aws chime search-available-phone-numbers \ --area-code 206 \ --max-results 20响应结构解析E.164 格式号码列表响应模型定义在 service-2.jsonSearchAvailablePhoneNumbersResponse仅包含一个成员E164PhoneNumbers类型为E164PhoneNumberList字符串列表。每个号码的底层类型为E164PhoneNumber其定义见 service-2.json格式正则^\?[1-9]\d{1,14}$即可选号开头首位数字 1~9总长度为 1~15 位——这完全符合 E.164 国际电话编号规范。敏感标记该字段被标记为sensitive: true这意味着 AWS CLI 在输出处理、日志记录等场景中会将其视为敏感数据对待。对照示例输出中的120655501001为美国国家代码206即查询时传入的区号5550100为本地号码段。理解这个结构有助于你在拿到查询结果后直接解析、筛选或批量记录可用号码。分页机制用 NextToken 遍历全部结果当检索结果数量较大时单次调用可能无法返回全部号码。服务模型提供了两个分页配套参数见 service-2.json--max-results控制单次调用返回的最大结果数1~500。--next-token服务端返回的令牌用于获取下一页结果。对应的手工分页流程为首次调用不带--next-token获取第一页如果结果未取完将响应中携带的令牌传入下一次调用的--next-token参数循环直至取完所有结果。由于 AWS CLI 内置了 botocore 的分页器pagination机制对于已声明分页器的操作你还可以直接使用--page-size与--max-items参数让 CLI 自动完成分页。需要说明的是当前仓库中 Chime 服务的分页器定义awscli/botocore/data/chime/2018-05-01/paginators-1.json未包含SearchAvailablePhoneNumbers操作因此从仓库中的服务模型看该命令目前无法借助 CLI 内置分页器自动翻页需要依赖--next-token手动分页。如果你使用较新的 AWS CLI 版本建议通过aws chime search-available-phone-numbers help查看当前安装版本的参数列表以确认是否支持分页器参数。异常处理理解可能返回的错误服务模型 service-2.json 为SearchAvailablePhoneNumbers声明了 7 种可能的异常覆盖了绝大多数请求失败场景异常HTTP 状态码含义BadRequestException400请求参数格式或内容错误如城市未搭配州、非法免费前缀等UnauthorizedClientException401客户端未被授权发起该请求ForbiddenException403服务端拒绝执行请求AccessDeniedException403访问被拒绝通常与 IAM 权限配置有关ThrottledClientException429请求过于频繁被限流ServiceUnavailableException503服务暂时不可用ServiceFailureException500服务端内部错误使用该命令前请确保你的 IAM 身份已获得 Chime 相关号码操作的权限如chime:SearchAvailablePhoneNumbers否则会触发AccessDeniedException或ForbiddenException高频批量调用时注意控制速率避免触发ThrottledClientException。应用场景与总结search-available-phone-numbers命令在整个 Chime 电话号码生命周期中扮演号码选型的角色先在订购前查询可用的号码池再结合后续的号码订购、分配操作完成落地。结合本仓库的命令定义可归纳出以下实战要点美国号码必须提供AreaCode、City、State、TollFreePrefix中至少一个筛选条件City与State必须成对出现非美国号码必须提供PhoneNumberTypeLocal或TollFree且无法使用美国专属筛选器免费前缀仅支持800/833/844/855/866/877/888三种字符格式返回结果均为 E.164 格式字符串可选号、1~15 位数字且被服务模型标记为敏感字段大批量结果需使用--next-token手动分页单次最多返回 500 条。如需验证或深入研究可进一步查阅命令的 API 模型定义 awscli/botocore/data/chime/2018-05-01/service-2.json 与请求/响应结构定义L3556-L3615或运行aws chime search-available-phone-numbers help查看当前环境下的完整参数文档。【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
