AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1012962
Accepted
Adam Matan
Adam Matan
Asked: 2020-04-19 11:46:46 +0800 CST2020-04-19 11:46:46 +0800 CST 2020-04-19 11:46:46 +0800 CST

通过 S3 对象 GET 触发 AWS Lambda

  • 772

我的问题

我有一个公共 S3 存储桶,它用作我发送给同事和客户的大文件 (GB) 的存储解决方案。这些文件会在几周后自动删除。

此设置的问题是,如果有人启动 DDOS 并大量下载我的链接之一,我可能会遭受巨额费用。我最终可能会支付巨额的出口网络费用,我想避免这种情况。

一种解决方案可能是每当有人下载​​对象时触发 Lambda 函数,并为该对象增加一个 DynamoDB 计数器。如果计数器超过一个合理的阈值(例如,50 次下载),Lambda 函数会将文件设为私有以避免进一步的费用。

我的问题

如何配置 Lambda 函数以在有人从特定 S3 存储桶请求文件时触发?

amazon-s3 amazon-web-services amazon-lambda
  • 2 2 个回答
  • 488 Views

2 个回答

  • Voted
  1. MLu
    2020-04-19T12:17:14+08:002020-04-19T12:17:14+08:00

    与其将它们公开供任何人下载,我会将它们设为私有,并且仅将预签名的 URL分发给您的同事和客户。

    您可以创建一个简单的门户,您的客户可以在其中登录并获得一个指向 S3 对象的预签名链接,该链接会在一小时内到期。如果他们需要再次下载,他们可以随时获得新链接。这将使您可以完全控制和审计谁可以下载您的 S3 对象,而不会冒巨额出口费用的风险。

    看看这个:https ://aws.nz/best-practice/s3-presigned-url/

    希望有帮助:)

    • 3
  2. Best Answer
    Vladimir
    2020-04-20T05:39:44+08:002020-04-20T05:39:44+08:00

    正如@MLu 提到的,您可以使用预签名的 URL。你也可以这样做:

    1. 使用这样的项目创建一个快速站点(在 S3 上运行),允许用户注册和登录
    2. 然后使用登录中的 JWT 令牌调用 Lambda 函数。Lambda 函数将对用户进行身份验证,并为 S3 对象生成一个预签名的 url。一个很好的例子可以在这里找到。
    3. 用户可以使用预签名的 url 下载对象。
    • 1

相关问题

  • 如何将 Symantec Backup Exec 与 S3 Amazon 存储结合使用?

  • Amazon S3 是否对您的数据做出任何形式的保证?

  • Amazon S3 存储如何计费?[关闭]

  • 使用亚马逊 S3 时的注意事项

  • 用于备份等的 S3 接口 [关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve