使用 Pulumi 将随机后缀添加到 S3 存储桶名称

Ayd*_*ard 3 pulumi

当我使用 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;
Run Code Online (Sandbox Code Playgroud)

Mik*_*kov 5

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

new aws.s3.Bucket("my-bucket", { bucket: "my-bucket" });
Run Code Online (Sandbox Code Playgroud)


小智 5

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

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

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