微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将同名文件写入两个S3存储桶时出现错误“错误:资源URN重复”

如何解决将同名文件写入两个S3存储桶时出现错误“错误:资源URN重复”

我正在尝试在堆栈中创建两个单独的存储桶,但是当我尝试将文件写入与第二个存储桶同名的文件时,出现错误 error: Duplicate resource URN 'urn:pulumi:dev::quickstart::aws:s3/bucketobject:Bucketobject::index.html'; try giving it a unique name

下面的代码演示了该问题。

就AWS而言,显然没有冲突,但是我应该定义一个不同的“名称”来防止Pulumi创建看似重复的密钥吗?

using Pulumi;
using Pulumi.Aws.S3;

class MyStack : Stack
{
    public MyStack()
    {
        // Create an AWS resource (S3 Bucket)
        var bucket1 = new Bucket("my-bucket");

        var bucketobject1 = new Bucketobject("index.html",new BucketobjectArgs {
            Bucket = bucket1.BucketName,Content = "HTML in 1"
        });

        var bucket2 = new Bucket("my-bucket2");

        var bucketobject2 = new Bucketobject("index.html",new BucketobjectArgs {
            Bucket = bucket2.BucketName,Content = "HTML in 2"
        });
    }
}

解决方法

您应该为所有资源(包括两个BucketObject)赋予唯一的逻辑名称。 Pulumi使用逻辑名来标识堆栈中的资源。

您仍然可以为两个文件使用相同的物理名称:

var bucketObject1 = new BucketObject("b1-index.html",new BucketObjectArgs {
    Key = "index.html",Bucket = bucket1.BucketName,Content = "HTML in 1"
});

var bucketObject2 = new BucketObject("b2-index.html",Bucket = bucket2.BucketName,Content = "HTML in 2"
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。