【发布时间】:2022-01-16 00:03:19
【问题描述】:
由于 S3 存储桶名称的全局唯一性要求,在 AWS::S3::Bucket 资源中使用可选的 BucketName 属性是有问题的。本质上,如果我坚持使用BucketName,我需要某种方式在此处附加 GUID。
如果我完全省略 BucketName 属性,我可以避免这种痛苦,因此 CloudFormation 可以可靠地为我生成一个唯一的名称。
但是,我面临另一个问题:如何在 AWS Lambda/SAM/serverless.com/other 代码中使用这个随机存储桶名称?我知道 CloudFormation 模板可以导出名称,但是如何将其传递给 Lambda 代码?
是否有在 AWS Lambda 中使用 CloudFormation 导出的标准/推荐方式?该问题并非 S3 独有 - 例如,AWS Amplify 也使用随机生成的 DynamoDB 表名。
【问题讨论】:
-
将生成的名称保存到 SSM 参数存储中,并在使用 Lambda 时从那里读取值。
标签: amazon-web-services amazon-s3 aws-lambda aws-amplify