S3将对象标记为批量,但不覆盖

Posted

技术标签:

【中文标题】S3将对象标记为批量,但不覆盖【英文标题】:S3 put objects tag bulk, but not overwrite 【发布时间】:2022-01-23 03:27:03 【问题描述】:

在 s3 中,我有 100 个对象。其中 50 个具有现有标签值,其他 50 个根本没有标签。我想将标签值批量应用到那些没有任何标签值的对象 (50) 并且不应该覆盖其他 50 个对象的标签值。我怎样才能实现它?我需要将此解决方案应用于数百万个对象。

【问题讨论】:

【参考方案1】:

我会推荐:

使用Amazon S3 Inventory,它可以提供列出所有对象的每日或每周 CSV 文件。 编写脚本过滤掉标签已经存在的行,只留下一个有标签的对象列表 使用S3 Batch Operations 为剩余的对象设置标签

这是高度可扩展的。

【讨论】:

谢谢约翰,你能帮我提供示例脚本吗?我探索了 API,甚至与 AWS 支持人员进行了交谈。他们没有任何 API 可以根据标签过滤掉。他们建议获取所有对象的标签值,然后将其过滤掉,然后应用批处理操作。 没错。 Amazon S3 Inventory 提供一个 CSV 文件。然后,您可以使用您喜欢的编程语言编写一个程序,该程序可以根据您的要求处理该文件(此过程不使用任何 AWS 服务或 API)。然后,将该脚本的输出用作 S3 批处理操作的输入。

以上是关于S3将对象标记为批量,但不覆盖的主要内容,如果未能解决你的问题,请参考以下文章

覆盖不属于存储桶所有者的 S3 对象文件的权限

将数据附加到 S3 对象

navicat premium如何将一个字段批量覆盖到另一个字段

DOMParser 将 <script> 标记附加到 <head>/<body> 但不执行

如何在 AWS 中使用 Glue 作业覆盖 s3 数据

存储桶之间的 AWS S3 同步覆盖较新的目标文件