为什么我得到的是 CustomOriginConfig 而不是 S3OriginConfig?

Why am I getting a CustomOriginConfig instead of S3OriginConfig?

this article 之后,我正在尝试从多个区域提供我网站的静态内容。

那篇文章中的 lambda 函数试图修改此路径中对象的 属性:

event.Records[0].cf.request.origin.s3

这是在我的 lambda 函数没有收到这样的 属性 的情况下。相反,我得到:

event.Records[0].cf.request.origin.custom

显然,这意味着我收到 CustomOriginConfig,而文章预期 S3OriginConfig。我不确定这两个是什么意思,但是 "Edit Origin" 页面文章中描述的 UI 与我的完全不同。

文章显示:

我知道了:

谁能帮我看看为什么我收到的是 CustomOriginConfig 而不是 S3OriginConfig

CloudFront 仅在源域名是存储桶的 REST 端点时才将源视为 S3 源——例如${bucketname}.s3.amazonaws.com。这是支持使用源访问身份在 CloudFront 后端对请求进行身份验证的配置。

如果您使用 S3 的网站托管功能(索引和错误文档,and/or 重定向),那么您可以使用存储桶的网站托管端点,例如${bucketname}.s3-website.${region}.amazonaws.com。 CloudFront 实际上将此配置视为 Custom Origin,就像您使用任何(非 S3)Web 服务作为源服务器一样。 Origin Access Identity 和 S3 网站端点彼此不兼容。

控制台选项会根据控制台是否看到您正在创建 S3 或自定义源(基于主机名)而变化。

https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistS3AndCustomOrigins.html