3

当我使用 Pulumi 创建 S3 存储桶时,会在指定的存储桶名称中添加一个随机后缀。我怎样才能避免这种情况?

import * as aws from "@pulumi/aws";

// Create an AWS resource (S3 Bucket)
const bucket = new aws.s3.Bucket("my-bucket");

// Export the name of the bucket
export const bucketName = bucket.id;
4

2 回答 2

5

对于 S3 存储桶的这种特定情况,米哈伊尔的回答是正确的。更一般地说,这种行为是由于 Pulumi 中的自动命名功能。来自https://www.pulumi.com/docs/reference/programming-model/#autonaming

默认情况下添加此随机后缀有两个原因。首先,它确保一个程序的两个实例可以部署到同一个环境中,而没有名称冲突的风险。其次,它确保可以在需要时进行零停机时间替换,方法是首先创建新资源,更新任何指向它的引用,然后删除旧资源。

name通过在资源上显式设置属性(或bucket在 S3 存储桶的情况下),可以按资源覆盖此行为。

于 2019-07-09T20:00:04.463 回答
3

您可以在参数中显式分配存储桶名称:

new aws.s3.Bucket("my-bucket", { bucket: "my-bucket" });
于 2019-07-09T16:54:18.060 回答