为什么导出 s3 存储桶名称和 arn 在无服务器框架中使用不同的语法?
Why export s3 bucket name and arn use different syntax in serverless framework?
我为 serverless.yml
配置了以下配置。它创建一个 s3 存储桶并导出其 ARN 和名称。我不明白的是为什么存储桶 ARN 值是通过 Fn::GetAtt:: S3Bucket Arn
获取的,而存储桶名称是通过 Ref S3Bucket
获取的。这两种语法有什么不同?
...
Outputs:
AttachmentsBucketArn:
Value:
Fn::GetAtt:
- S3Bucket
- Arn
Export:
Name: ${self:custom.stage}-ExtAttachmentsBucketArn
AttachmentsBucketName:
Value:
Ref: S3Bucket
Export:
Name: ${self:custom.stage}-ExtAttachmentsBucket
它们直接映射到 CloudFormation 中 AWS::S3::Bucket 的 return 值。
如 link 所述,使用:
我为 serverless.yml
配置了以下配置。它创建一个 s3 存储桶并导出其 ARN 和名称。我不明白的是为什么存储桶 ARN 值是通过 Fn::GetAtt:: S3Bucket Arn
获取的,而存储桶名称是通过 Ref S3Bucket
获取的。这两种语法有什么不同?
...
Outputs:
AttachmentsBucketArn:
Value:
Fn::GetAtt:
- S3Bucket
- Arn
Export:
Name: ${self:custom.stage}-ExtAttachmentsBucketArn
AttachmentsBucketName:
Value:
Ref: S3Bucket
Export:
Name: ${self:custom.stage}-ExtAttachmentsBucket
它们直接映射到 CloudFormation 中 AWS::S3::Bucket 的 return 值。
如 link 所述,使用: