微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

标记后未触发 AWS S3 过滤复制

如何解决标记后未触发 AWS S3 过滤复制

我在 2 个存储桶之间有一个 S3 复制规则,该规则以特定标签的存在为条件(replicate=yes)。

如果我上传带有标签文件,它会正常工作 - 对象立即进入 PENDING 复制状态,然后在一段时间后完成。

如果我在没有标签的情况下上传然后稍后设置标签,则不会触发复制。对象上没有复制状态。

有没有可能让它发挥作用?

对于某些背景:我们的想法是让 lambda 函数标记文件准备好基于某些未来条件/外部逻辑进行复制。

如果不是标记我让复制以前缀为条件,然后在 lambda 中重命名,我可以让它工作,但我的文件可能是任意大的(想想数百 GB),而 S3 重命名实际上是一个复制+删除,而一个副本如此大的文件可能会使 lambda 超时,因为执行时间限制为 15 分钟。

解决方法

恕我直言,如果没有解决方法(无论是 Lambda 还是其他什么),这在本地是不可能的。 您的用例实际上在 docs 中特别提到。

假设在复制配置中,你添加了一条规则到 复制具有特定标签的对象子集。在这种情况下,你 必须在创建时分配特定的标签键和值 对象供 Amazon S3 复制对象。如果您首先创建一个 对象,然后将标签添加到现有对象,Amazon S3 不会 复制对象。

我认为这种行为是可以预料的,因为如果您将复制设置到已经有一些对象的存储桶,则不会复制那些“旧”对象。默认情况下仅复制新上传的对象,如果您想复制现有对象,则需要采用其他措施,例如 12

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。