如何使用存储在 S3 上的 pdf link 发送 AWS SES 电子邮件(不可公开访问)

How to send AWS SES email with pdf link stored on S3 (not publicly accessible)

我想设计一个向用户发送每周报告的解决方案。一旦通过某些任务生成,这些报告将以 PDF 格式存储在 S3 上。我想使用 AWS SES 向我们的用户发送电子邮件,其中包含存储在 S3 上的这些 PDF 报告的 link,但它应该有访问限制。只有当用户点击电子邮件提供的 link 时,才能查看 S3 上的报告。另一个问题是,报告可能会发送到一个帐户的多个电子邮件地址,这些电子邮件地址不是我们系统中的注册用户电子邮件地址,但已被客户要求包含在报告电子邮件地址中。

有办法实现吗?据我所知,S3 上的文件可以 public(任何人都可以访问)或可以通过 IAM 访问。由于隐私原因,我无法在 S3 public 上制作 PDF。

您可以使用预签名的 URL 来实现您想要的。这些是可用于 download/upload 到 s3 的临时 URL。 link 将在您生成它们时指定的时间过期(默认 1 小时)。

在此处阅读更多内容:https://docs.aws.amazon.com/AmazonS3/latest/dev/ShareObjectPreSignedURL.html