为了账号安全,请及时绑定邮箱和手机立即绑定

从 AWS ECS 集群获取标签返回空列表

从 AWS ECS 集群获取标签返回空列表

开满天机 2023-05-17 16:44:29
我需要从我的 ECS 集群中读取标签。我通过describeClusters()调用成功列出了我的所有集群。然后我进行了getTags()调用,但它错误地返回了一个空列表。    List<Cluster> clusters = clusterDescriptionResult.getClusters();    for (Cluster cluster : clusters) {        String clusterArn = cluster.getClusterArn();        //System.out.println("Cluster: " + clusterArn);        List<Tag> tagList = cluster.getTags();我想我一定是做错了什么,所以作为测试,我用 Python 重写了代码。    clusterList = ecsClient.list_clusters()    for clusterArn in clusterList["clusterArns"]:        tagListData = ecsClient.list_tags_for_resource(resourceArn=clusterArn)        tagList = tagListData["tags"](编辑:这段 Python 代码工作得很好——请参阅评论了解为什么它最初不工作)与其给我一个空列表,list_tags_for_resource()更喜欢抛出一个异常:AttributeError: 'ECS' object has no attribute 'list_tags_for_resource'在这一点上,我想知道......我有过时的包裹吗?根据我的 pom.xml,我使用的是版本 1.11.604 (Java) 或 boto3-1.9.202 botocore-1.12.202 (Python),据我所知这似乎是最新的(2019 年 8 月)。编辑:我现在已经从命令行尝试过,并且确实有效:    aws ecs list-tags-for-resource --resource-arn {cluster_arn}
查看完整描述

1 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

看起来这是 API 中的错误。解决方法是暂时使用 ListTagsForResourceRequest() 调用,它会正确返回集群的标签。


    ListTagsForResourceRequest tagRequest = new ListTagsForResourceRequest().withResourceArn(clusterArn);

    ListTagsForResourceResult tagResult = amazonECS.listTagsForResource(tagRequest);

    List<Tag> tagList = tagResult.getTags();


查看完整回答
反对 回复 2023-05-17
  • 1 回答
  • 0 关注
  • 130 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信