首页 > 解决方案 > aws:不允许外部使用带有前缀的标签键名

问题描述

我已经使用 aws CDK typescript 部署了 2 个服务。AWS Cost Explorer 服务的标签中默认列出了其中一项服务:

在此处输入图像描述

所以我尝试将标签添加到另一个服务:

export class CdkStack extends cdk.Stack {
    constructor(scope: cdk.Construct, id: string, props: scStackProps<ICdkStackProps>) {
        super(scope, id, props);

        const {config, context} = props;
        const vpc = ec2.Vpc.fromLookup(this, "vpc", {
            vpcName: "baseInfrastructure/vpc",
        });
        cdk.Tags.of(this).add("aws:cloudformation:stack-name", `${config.container.name}`);

但在 Cloudformation 堆栈中出现错误:

UPDATE_FAILED   aws: prefixed tag key names are not allowed for external use.

因此,请让我知道我错在哪里以及如何解决此问题,以便我可以在 AWS Cost Explorer 标签中看到我的两项服务。

标签: typescriptamazon-web-servicesamazon-cloudformationaws-cdk

解决方案


正如消息所述,您无法创建aws:带前缀的标签,只有 AWS 可以管理这些标签。

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html

这些标签会自动创建并传播到所有受支持的资源。如果这还不够,请创建您自己的自定义标签。


推荐阅读