如何在AWS CLI上使用标签功能

41次阅读
没有评论

问题描述

想要在ECS服务上标记提交哈希和应用程序版本,以便开发人员可以更容易地将服务与代码进行关联。但是在使用AWS CLI时,用户遇到了以下错误:

+ aws ecs tag-resource --resource-arn arn:aws:ecs:ap-southeast-1:12344556677:service/master-web-dev-WebECSServices --tags key=COMMITHASH,value=85491def key=VERSION,value=0.2.4An error occurred (InvalidParameterException) when calling the TagResource operation: Long arn format must be used for tagging operations

用户想知道ARN是否有问题,为什么总是遇到这个问题。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

这个问题可能是因为您的ECS服务是在标签功能可用之前创建的。在AWS的一篇博客文章中,介绍了如何迁移到新的ARN格式。您可以参考这篇文章进行迁移:https://aws.amazon.com/blogs/compute/migrating-your-amazon-ecs-deployment-to-the-new-arn-and-resource-id-format-2/
请注意,如果您已经有很多ECS服务,重新创建所有服务以利用标签功能可能会很麻烦。

方案2

如果您不想迁移现有的ECS服务,您可以尝试使用AWS CLI的另一种方法来标记资源。您可以使用aws resourcegroupstaggingapi tag-resources命令来标记资源。以下是一个示例命令:

aws resourcegroupstaggingapi tag-resources --resource-arn-list arn:aws:ecs:ap-southeast-1:12344556677:service/master-web-dev-WebECSServices --tags Key=COMMITHASH,Value=85491def Key=VERSION,Value=0.2.4

在上面的示例中,我们使用aws resourcegroupstaggingapi tag-resources命令来标记资源。您需要将--resource-arn-list参数替换为您的ECS服务的ARN,并使用--tags参数指定要添加的标签键值对。
请注意,这种方法可能需要一些额外的配置和权限设置。您可以参考AWS文档以获取更多详细信息。

方案3

如果您使用的是较旧的AWS CLI版本,可能需要升级到最新版本以获得标签功能的支持。您可以使用以下命令来检查您的AWS CLI版本:

aws --version

如果您的版本较旧,可以使用以下命令来升级AWS CLI:

pip install --upgrade awscli

请注意,升级AWS CLI可能会导致一些版本差异和配置更改。在升级之前,请确保备份您的配置文件和其他重要数据。
以上是几种解决方案,您可以根据您的具体情况选择适合您的方法来使用AWS CLI的标签功能。

正文完