如何知道哪个位置正在渲染 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)位置?

如何在 hive 脚本中将函数作为 s3 位置的输入

如何使 OpenGL 视口具有渲染到其中的 QML 项目的确切大小和位置?

将 S3 对象复制到另一个 S3 位置 Elastic Beanstalk SSH 设置错误