amazon-s3 - Amazon S3 的数据传输和 GET 请求之间的区别

标签 amazon-s3 bandwidth

我在查看我的账单时发现,数据传输的价格几乎占了我账单的 100%,因此我想确保我准确理解数据传输需要什么,即 GET 请求。 仅供引用,我将我的网站托管在不同的服务器上,并将其连接到 S3 来存储用户生成的文件。这些文件可供下载。数据传输是否仅涵盖用于下载文件的带宽,或者还用于在我的网站上显示我的 s3 上存储的文件之一。例如,如果我在 s3 上存储一个 mp3 文件,并在网站上显示该文件以供播放(不包括下载),这是否只是发送一个 GET 请求来获取和显示该文件?对我来说,这些定义并不含糊。有什么帮助吗!?

最佳答案

GET 每次请求费用是处理文件实际请求的费用(检查文件是否存在、检查权限、从存储中获取文件以及准备将其返回给请求者) ,每次下载时。

数据传输费用是指每次下载文件时,通过 Internet 将文件内容从 S3 实际传输到请求者的费用。

如果您在网站上包含指向文件的链接,但用户没有下载该文件,并且浏览器没有加载它以自动播放或预加载它,或类似的情况,S3 将不知道任何信息关于这一点,这样您就不会被计费。如果您使用预签名网址,情况也是如此 - 除非实际使用,否则不会产生任何计费,因为它们是在您的服务器上生成的。

如果您在页面上包含图像,并且该图像位于 S3 中,则每次查看该页面时,您都需要为请求和传输付费,除非浏览器已缓存该图像。

如果您在 S3 之前使用 CloudFront,以便您的图像或下载链接指向 CloudFront,您只需支付 S3 的请求费用,而不是 S3 的传输费用,因为 CloudFront 会向您收取传输费用而不是 S3(此外,CloudFront 按请求收费,但由于 CloudFront 的数据传输费用在某些地区比 S3 稍便宜,所以无论如何,这不一定是一个糟糕的交易)。

关于amazon-s3 - Amazon S3 的数据传输和 GET 请求之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33132987/

相关文章:

caching - 查找缓存 L1 和 L2 带宽

rest - 无需 CORS 直接上传到 S3(非浏览器)

与服务器带宽相比,数据库带宽要高得多。普通的?

java高速udp流量包接收带宽测试

asp.net - IIS 8.5 低 minBytesPerSecond 不适用于慢速 HTTP POST

ios - 从主机获取 ping 延迟

java - 在 Java 中提取时,从 Amazon S3 下载 ZIP 不会保留时间戳

java - 将电子邮件放入动态 s3 存储桶 Amazon 的收件人规则集

python-3.x - 如何使用python脚本将 Pandas 数据框写入AWS Athena表

amazon-s3 - S3 使用预签名 URL 上传和服务图像