因此,我有一个包含 5400 名用户的列表,我通过电子邮件向他们发送了 550KB 的附件。收到的电子邮件总大小为 820KB。
在账单报告中我得到以下信息:
> $0.54 for sending emails to all recipients ($0.10 per thousand) - ok
> $0.44 for 3.70GB in AttachemntsSize - how did they calculate this?
> $0.36 for 4GB of DataTransfer-Out - how did they calculate this?
有没有办法预测未来发送中的这些计算?
答案1
您的 550 KB 附件一旦嵌入到电子邮件中,很可能就会经过 base64 编码。Base64 是一种编码方案,它使二进制有效负载能够安全地通过可能无法传递干净的 8 位数据的传输服务(这一假设在 SMTP 中仍然很普遍)。Base64 编码每 6 位输入产生 8 位输出,因此您的附件(在线路上编码)将增长到 733.33 KB,而 5400 个附件将达到 3.96 GB。
这比计费的 3.70 GB“附件大小”略高,因此这要么是舍入误差,要么 SES 实际上以吉字节(2^30 = 1,073,741,824 字节,这些字节的正确缩写是 GiB,但通常随意缩写为 GB)而不是实际的千兆字节(10^9 = 1,000,000,000 字节)计费。3.96 GB 为 3.688 GiB。无论哪种方式,假设采用 base64 编码,计费数字都非常接近预测大小。
并且,传出的总大小 4.0 GB 似乎非常接近相同的值,四舍五入为偶数 GB。
如果不知道邮件正文和标题的大小,就很难说清楚为什么电子邮件客户端会显示 820KB 的邮件大小,但假设邮件在线上确实是这个大小,它仍然在舍入误差范围内,因为它加起来大约是 4.428 GB 或 4.123 GiB(假设它是 820 KB 而不是 820 KiB,但无论哪种方式,这只会引入约 3% 的误差幅度)。
千兆字节和吉比字节这就是为什么硬盘和闪存驱动器总是比你购买的驱动器小的原因——你可能期望的是 GiB 大小的东西,但他们卖给你的是 GB 大小。AWS 的文档示例很难找到,但至少在某些情况下AWS 说 GB 时指的是 GiB。基于 GiB 的计费对客户更有利,因为 1 GiB 比 1 GB 包含更多字节。