
AWS CLI 中的 AWS AppConfig create-application 实战创建应用及其参数、返回值与后续工作流【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli本篇围绕 AWS CLI 的aws appconfig create-application命令展开讲解如何在 Amazon AppConfig 中创建一个应用Application这一配置资源组织的顶层单元。读完后你将掌握该命令的完整参数取值范围包括名称长度、描述上限、标签数量限制、返回值各字段含义、对应的 API 调用细节HTTP 方法与错误码以及如何把新建应用串联进环境、配置档案和部署的完整工作流。1. create-application 的定位配置管理的第一块资源在 Amazon AppConfig 中应用Application是一个组织性构造类似“文件夹”——它与某个可执行代码单元相关联例如为一款移动应用创建MyMobileApp应用用来归并组织和管理该应用面向不同环境所需的配置数据。官方 CLI 示例文档awscli/examples/appconfig/create-application.rst给出的核心命令如下aws appconfig create-application \ --name example-application \ --description An application used for creating an example.执行成功后返回{ Description: An application used for creating an example., Id: 339ohji, Name: example-application }返回的Id如339ohji是后续所有操作的关键标识。从仓库内置的 API 模型 awscli/botocore/data/appconfig/2019-10-09/service-2.json 可以确认CreateApplication是一个POST /applications请求成功时返回 HTTP 201采用rest-json协议与 SigV4 签名API 版本为2019-10-09。2. 参数详解取值范围与默认行为结合 API 模型中CreateApplicationRequest的 shape 定义各参数的约束如下参数必填类型约束源码模型确认说明--name是string长度 164应用名称。它是请求结构中唯一被标记为required的成员--description否string长度 01024应用的描述信息--tags否JSON map最多 50 个键值对为资源分配标签元数据便于分类与管理关于标签参数模型中TagMap的max为 50即单个应用最多可携带 50 个标签。仓库中另一份示例 tag-resource.rst 展示了事后打标签的方式--tags采用 JSON 字符串形式传入aws appconfig tag-resource \ --resource-arn arn:aws:appconfig:us-east-1:682428703967:application/339ohji \ --tags {group1 : 1}该命令无输出。也就是说你既可以在创建时通过--tags直接带标签也可以在创建后通过资源 ARNarn:aws:appconfig:region:account:application/Id补充标签两种方式等价可行。3. 返回值解读与资源 ID 规则create-application的响应结构模型中的Applicationshape包含三个字段Id应用 ID。模型中Id类型定义了正则约束[a-z0-9]{4,7}即由 47 位小写字母和数字组成这也解释了示例中339ohji这样的形态Name你传入的应用名称Description你传入的描述若未传则为空值。需要注意的是创建响应中不包含Tags字段——即使你创建时带了标签create-application的返回值也只回显 Id/Name/Description 三个字段。如需确认标签可通过get-application见 get-application.rst核对应用详情aws appconfig get-application \ --application-id 339ohji4. 可能遇到的错误及处理API 模型中CreateApplication显式声明了三个错误各自对应不同的 HTTP 状态码错误HTTP 状态码含义与处理建议BadRequestException400输入未满足服务约束例如名称超长、格式不合法。修正参数后重试ServiceQuotaExceededException402资源数量超出配额。模型文档中明确应用配额上限为 100 个可删除闲置应用或申请配额提升InternalServerException500服务端内部故障模型中标记为 fault 方在服务端稍后重试其中配额提示值得在实际操作中留意当团队在同一个区域内批量创建应用如按微服务拆分时100 个应用的配额可能在集中初始化阶段被触及此时create-application会直接返回 402 而非成功。5. 从应用到部署完整工作流串联创建应用只是起点。仓库中 awscli/examples/appconfig/ 目录下的一系列示例文档恰好构成了一条完整链路且彼此使用同一套资源 ID应用339ohji、环境54j1r29、配置档案ur8hx2f可以直接作为脚本骨架复用第 1 步——创建应用本文主题create-application.rstaws appconfig create-application \ --name example-application \ --description An application used for creating an example.第 2 步——创建环境create-environment.rst。环境隶属于应用初始状态为ReadyForDeploymentaws appconfig create-environment \ --application-id 339ohji \ --name Example-Environment第 3 步——创建配置档案create-configuration-profile.rst。示例中将配置存放在 Parameter StoreSSM中并通过--retrieval-role-arn指定一个具有读取权限的 IAM 角色aws appconfig create-configuration-profile \ --application-id 339ohji \ --name Example-Configuration-Profile \ --location-uri ssm-parameter://Example-Parameter \ --retrieval-role-arn arn:aws:iam::111122223333:role/Example-App-Config-Role第 5 步——启动部署start-deployment.rst。把环境、部署策略、配置档案与配置版本组合起来发起部署aws appconfig start-deployment \ --application-id 339ohji \ --environment-id 54j1r29 \ --deployment-strategy-id 1225qzk \ --configuration-profile-id ur8hx2f \ --configuration-version 1部署响应中可以看到部署的关键状态信息State如DEPLOYING、PercentageComplete、DeploymentDurationInMinutes、GrowthType/GrowthFactor部署策略的增长曲线以及记录DEPLOYMENT_STARTED事件的EventLog。6. 小结aws appconfig create-application是 AppConfig 配置管理链路的第一步其要点可以概括为三点参数约束--name必填且限长 64 字符--description上限 1024 字符--tags最多 50 个返回与 ID响应返回Id/Name/DescriptionId 为 47 位小写字母数字是后续create-environment、create-configuration-profile、start-deployment等命令的主键错误与配额400 代表输入不合法402 代表超出应用配额100 个500 代表服务端故障。以上所有命令与参数约束均可在当前仓库中交叉验证示例命令出自 awscli/examples/appconfig/create-application.rst参数约束与错误码出自 awscli/botocore/data/appconfig/2019-10-09/service-2.json完整的后续步骤示例则集中在 awscli/examples/appconfig/ 目录下的配套.rst文档中。【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考