【发布时间】:2021-09-13 01:01:32
【问题描述】:
我是 aws-cdk 的新手,但很好奇是否可以在创建存储桶后重命名它,这样它就没有 ? 的命名格式?
我试过这个逻辑
const core = require(`@aws-cdk/core`);
const s3 = require(`@aws-cdk/aws-s3`);
class s3Build extends core.Construct {
constructor(scope, id) {
super(scope, id)
const bucketName = process.env.s3Bucket + `-` + process.env.environment
console.log(bucketName);
const bucket = new s3.Bucket(this, bucketName);
const bucketNameOutput = new s3.CfnBucket(this, `NewName`, {
});
bucketNameOutput.overrideLogicalId(`myBucketsNewName`)
}
}
module.exports = {s3Build}
当我运行上述逻辑时,它确实在某种意义上重命名了存储桶,但它仍然保留了原始名称。下面是新的输出:
<stack-name>myBucketsNewName<alpha-numeric-number>
唯一改变的是存储桶名称,但它仍然显示堆栈名称和字母数字编号。
查看下面的文档,我似乎有正确的方法overrideLogicalId,但没有得到我想要的输出。我想要的只是将存储桶名称设为 myBucketsNewName 而没有堆栈名称和字母数字。
我错过了什么吗?
【问题讨论】:
-
我们无法在创建后更改 S3 存储桶名称。如果这样做,请创建一个新存储桶并移动所有内容。
overrideLogicalId是您提到的更改 cloudformation 中的逻辑 ID 吗?