如何知道哪个位置正在渲染 S3 对象
Posted
技术标签:
【中文标题】如何知道哪个位置正在渲染 S3 对象【英文标题】:How to know which location is rendering S3 object 【发布时间】:2021-10-30 20:58:10 【问题描述】:我已将 S3 存储桶与 cloudfront + lambda 函数集成在一起。 Lambda 函数由 API Gateway 触发。有什么方法可以让我知道数据来自哪个位置。比如说,我在印度,我想验证当 Cloud Hit 出现时,数据是在亚洲某处呈现的。
【问题讨论】:
【参考方案1】:您可以配置 CloudFront 以添加额外的地理位置标头,从而在您的缓存和源请求策略中提供更多的粒度。以前,您可以将 Amazon CloudFront 配置为在 CloudFront 发送到您的源的请求标头中提供查看者的国家/地区代码。新标头可让您更精细地控制缓存行为以及您对查看者的国家名称、地区、城市、邮政编码、纬度和经度的原始访问权限,所有这些都基于查看者的 IP 地址。
带有示例值的附加地理位置标头:
CloudFront-Viewer-Country-Name: United States
CloudFront-Viewer-Country-Region: MI
CloudFront-Viewer-Country-Region-Name: Michigan
CloudFront-Viewer-City: Ann Arbor
CloudFront-Viewer-Postal-Code: 48105
CloudFront-Viewer-Time-Zone: America/Detroit
CloudFront-Viewer-Latitude: 42.30680
CloudFront-Viewer-Longitude: -83.70590
CloudFront-Viewer-Metro-Code: 505
您可以使用这些额外的地理位置标头来个性化您提供给观众的内容。例如,您可以将邮政编码标头传递给您的源以显示超本地内容或广告。
您还可以使用 Lambda@Edge 源请求函数进行网络调用以提取本地语言文件,并为每个国家或地区构建和返回特定语言的 html 页面。
这些额外的地理位置标头现在可用于所有 Amazon CloudFront 分配,无需额外费用。
来源 AWS 文档:https://aws.amazon.com/about-aws/whats-new/2020/07/cloudfront-geolocation-headers/
希望对你有帮助!
【讨论】:
以上是关于如何知道哪个位置正在渲染 S3 对象的主要内容,如果未能解决你的问题,请参考以下文章
如何在同一 S3 位置复制和粘贴多个对象以生成 ObjectCreated 通知?
如何通过使用位置 url 从 Node mongo 中删除 s3 对象?
如何在three.js对象渲染中从中心向左更改轴(x,y,z)位置?