ita*_*aaa 1 amazon-s3 amazon-web-services aws-cdk
我尝试使用以下代码通过 CDK 创建 S3 存储桶
const myBucket = new Bucket(this, 'mybucket', {
bucketName: `NewBucket`
});
Run Code Online (Sandbox Code Playgroud)
由于 S3 存储桶名称是唯一的,当我尝试上传到另一个帐户时,堆栈部署失败。
我可以在每次部署时手动更改存储桶名称,但是有没有办法让我动态添加“NewBucket-${Stack.AWSaccountId}”,以便每当将堆栈部署到任何 aws 帐户存储桶时,都会创建没有任何错误的存储桶名称
您可以在前面添加 AWS 账户 ID,例如:
const myBucket = new Bucket(this, `${id}-bucket`, {
bucketName: `${this.account}-NewBucket`
});
Run Code Online (Sandbox Code Playgroud)
但一般来说,如果您想要每个环境特定的内容,建议扩展默认属性,传递到您的堆栈并提供前缀/名称,因为 AWS 认为帐户 ID 是敏感的。
例如:
export interface Config extends cdk.StackProps {
readonly params: {
readonly environment: string;
};
}
Run Code Online (Sandbox Code Playgroud)
然后您可以在您的存储桶名称中使用${props.params.environment}。
| 归档时间: |
|
| 查看次数: |
5105 次 |
| 最近记录: |