amazon-web-services - 在预签名 URL 到期时触发事件
问题描述
以下是对象创建的事件通知示例:
s3EventObjectCreated:
handler: src/handlers/postProcess
events:
- s3:
bucket: 'bucketName'
event: s3:ObjectCreated:*
rules:
- prefix: 'files/'
existing: true
如何在预签名 URL 到期时创建事件通知?
因此,如果预签名 URL 过期,它应该触发一个事件并调用我的 lambda 函数。
解决方案
预签名 URL 在客户端生成,不涉及 Amazon S3。生成预签名 URL 时,提供的凭据用于创建在一定时间内有效的签名。此签名可用于稍后发出请求。在发出实际请求时,AWS 会检查签名是否是使用授权凭证进行的,以及它是否仍然有效。
因为签名是在客户端生成的,所以一旦它们过期,您就不能让 AWS 触发任何事情。
要在预签名 URL 过期时触发操作,您需要一些额外的逻辑。例如,您可以确保在 DynamoDB 中为每个预签名 URL 存储一个项目,并使用DynamoDB 的 TTL 功能触发 Lambda 函数,该函数基于从 DynamoDB 中删除项目引起的 DynamoDB 流事件过期。
推荐阅读
- java - JAX-RS 中的发布者/订阅者 - 列表未更新
- android - 图片上传后删除
- c++ - 在 C++ 中想知道向下转型
- nlp - 我想根据语义对一些句子进行分类。我该如何使用 Doc2Vec?或者有比这更好的方法吗?
- sql-server - 根据同一列的先前值更新行。(MSSQL2008)
- javascript - 处理 JavaScript 空字符串连接
- python - 如何在 python 中使用 selenium webdriver 滚动网页以进行抽搐?
- regex - 如何从字符串的开头和结尾删除新行、回车和水平制表符?
- go - Golang 加密/hmac 全局哈希对象
- java - 多线程 Spring 事务