尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

awscli 实战:使用 `aws acm add-tags-to-certificate` 为 ACM 证书添加标签

awscli 实战:使用 `aws acm add-tags-to-certificate` 为 ACM 证书添加标签 awscli 实战使用aws acm add-tags-to-certificate为 ACM 证书添加标签【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli导读本文以 AWS CLI 官方示例文档 add-tags-to-certificate.rst 为核心讲解如何通过aws acm add-tags-to-certificate命令为 AWS Certificate ManagerACM证书添加一个或多个标签Tag用于标识、分组和管理证书资源。读完本文你将掌握该命令的完整语法、标签键值约束、一次添加多个标签的写法、常见异常与排查方式以及与list-tags-for-certificate、remove-tags-from-certificate搭配使用的完整标签生命周期管理方案。一、命令概览为现有 ACM 证书添加标签AddTagsToCertificate是 ACM 服务提供的一项 API对应的 CLI 命令为aws acm add-tags-to-certificate。它在当前仓库中的模型定义位于 service-2.jsonoperations.AddTagsToCertificate。该操作的官方文档原文说明如下见模型内documentation字段标签Tag是用于标识和组织 AWS 资源的标签每个标签由key键和一个可选的value值组成通过证书的Amazon Resource NameARN指定要打标签的证书该操作仅适用于certificate资源类型对于 ACM 的其他资源类型如私有 CA、证书权威应改用TagResourceAPI你可以把某个标签只加到一个证书上以标识该证书的特定属性也可以把同一个标签加到多个证书上以表达它们之间的共同关系还可以跨资源打同样的标签例如给 ACM 证书与 Elastic Load Balancing 负载均衡器打上相同标签表示它们服务于同一个网站移除标签使用RemoveTagsFromCertificate查看证书上的全部标签使用ListTagsForCertificate。二、命令语法与核心参数根据模型的AddTagsToCertificateRequest结构shapes.AddTagsToCertificateRequest该操作有两个必填参数参数类型是否必填说明--certificate-arn字符串Arn是要添加标签的 ACM 证书的 ARN--tags列表TagList是定义标签的键值对值为可选项1.--certificate-arn证书 ARN 的格式为arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012在模型shapes.Arn中对该字段有明确的约束最小长度 20 个字符最大长度 2048 个字符必须匹配正则arn:[\w/,.-]:acm:[\w/,.-]*:[0-9]:[\w,.-](/[\w,.-])*即服务名必须是acm账户段必须是纯数字。2.--tags标签以键值对列表形式传入键值对的约束来自模型shapes.Tag、TagKey、TagValue与TagListKey键必填长度 1128 个字符允许字符集为[\p{L}\p{Z}\p{N}_.:/\-]*Unicode 字母、空格、数字以及_ . : / - 等符号Value值可选最小长度 0最大长度 256 个字符字符集与 Key 相同TagList最小 1 个、最大 50 个标签即单次调用最多可添加 50 个标签。3. 官方示例命令摘自原文档原示例文档给出的命令如下aws acm add-tags-to-certificate \ --certificate-arn arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012 \ --tags KeyAdmin,ValueAlice KeyPurpose,ValueWebsite关键写法说明--tags使用Keyvalue 语法键值之间用英文逗号,分隔如KeyAdmin,ValueAlice多个标签之间用空格分隔原文档原话Use a space to separate multiple tags.因此上面的命令会一次为证书添加两个标签AdminAlice与PurposeWebsite示例中的region、account是占位符实际使用时应替换为你的证书所在区域与 12 位账号 ID。三、为多个证书批量添加相同标签原文档说明中特别强调同一个标签可以应用于多个证书以表达资源之间的共同关系。由于add-tags-to-certificate每次只能针对一个证书 ARN 操作批量打标签时可以先用aws acm list-certificates查询证书列表再循环或逐个对每个证书执行add-tags-to-certificate传入相同的--tags。例如给两个证书打上相同的环境标签aws acm add-tags-to-certificate \ --certificate-arn arn:aws:acm:us-east-1:123456789012:certificate/aaaaaaaa-1111-2222-3333-444444444444 \ --tags KeyEnvironment,ValueProduction aws acm add-tags-to-certificate \ --certificate-arn arn:aws:acm:us-east-1:123456789012:certificate/bbbbbbbb-1111-2222-3333-444444444444 \ --tags KeyEnvironment,ValueProduction这样后续便可通过标签统一识别、筛选属于同一环境或同一应用的证书集合。四、验证与配套命令完整的标签生命周期标签的添加、查询与移除构成完整的运维闭环三者配合使用1. 查看标签list-tags-for-certificate示例见 list-tags-for-certificate.rstaws acm list-tags-for-certificate \ --certificate-arn arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012输出如下文档原文示例{ Tags: [ { Value: Website, Key: Purpose }, { Value: Alice, Key: Admin } ] }可以看到在执行过上面的add-tags-to-certificate后PurposeWebsite与AdminAlice两个标签被成功列出返回结构与 Tag 模型定义完全一致。2. 移除标签remove-tags-from-certificate示例见 remove-tags-from-certificate.rst语法与添加命令对称同样支持一次移除多个标签空格分隔aws acm remove-tags-from-certificate \ --certificate-arn arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012 \ --tags KeyAdmin,ValueAlice KeyPurpose,ValueWebsite五、常见错误与异常处理模型的operations.AddTagsToCertificate.errors列出了该操作可能抛出的全部异常排查问题时可按下表对照异常含义来自模型 documentation常见触发场景InvalidArnException指定的 ARN 没有引用已存在的资源--certificate-arn格式错误或证书不存在InvalidParameterException输入参数无效参数缺失或类型不符合模型约束InvalidTagException组成键值对的一个或两个值不合法例如不能指定以aws:开头的标签值键或值包含非法字符、超过长度上限ResourceNotFoundException在调用者账户中找不到指定证书或无法找到调用者账户证书已被删除或 ARN 不属于当前账号TagPolicyException指定标签不符合现有标签策略Tag Policy而被拒绝组织级标签策略限制TooManyTagsException请求包含的标签过多单次传入超过 50 个标签ThrottlingException请求因超出配额而被拒绝高频调用触发限流ValidationException输入未能满足 AWS 服务的约束条件违反 ARN 正则或 Tag 长度/字符集约束六、从源码视角理解参数校验从当前仓库的模型文件 service-2.json 可以看到上述参数约束ARN 长度与正则、TagKey 1128、TagValue 0256、TagList 150全部定义在服务模型的shapes中例如shapes.Arnmin: 20、max: 2048、正则arn:[\w/,.-]:acm:...shapes.TagKeymin: 1、max: 128shapes.TagValuemin: 0、max: 256shapes.TagListmin: 1、max: 50。CLI 在构造请求时会依据 botocore 加载的该模型对输入做参数校验与序列化因此凡是超出上述范围如标签超过 50 个、Key 为空或超过 128 字符的输入在发起请求前就会收到校验错误。这也是上文“常见错误”章节中各异常对应的模型级根因。七、最佳实践小结一次调用添加多个标签使用空格分隔多个KeyValue,Valuexxx标签块单次最多 50 个遵守命名规范键必填且 1128 字符值可选且最长 256 字符不要使用aws:前缀该前缀为 AWS 保留结合list-tags-for-certificate验证添加后查询确认标签生效返回结构与 Tag 模型一一对应使用remove-tags-from-certificate清理标签冗余时按相同语法移除跨资源标识关系可将同一标签用于证书与其他 AWS 资源如负载均衡器便于按业务关系统一筛选注意适用范围add-tags-to-certificate仅适用于certificate资源类型其他 ACM 资源类型请改用TagResource。参考资料命令示例文档awscli/examples/acm/add-tags-to-certificate.rst配套示例list-tags-for-certificate.rst、remove-tags-from-certificate.rst服务模型参数约束与异常定义awscli/botocore/data/acm/2015-12-08/service-2.json【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表