使用 s3.put_object 添加标签

Add tag using s3.put_object

我正在使用 aws-sdk-core v2.2.37,因为各种原因我无法升级。

尽管文档清楚地表明我可以使用“标记”键向对象添加标签。

https://docs.aws.amazon.com/sdk-for-ruby/v2/api/Aws/S3/Client.html#put_object-instance_method

代码,

resp = s3.put_object(
{
    bucket:"osworkerfiles",
    key:"testingtags457",
    body:"testing123456",
    tagging:"key1=value1"
})

编辑:我也试过“标签”

总是returns

没有标记键的请求有效 - 我这里有什么地方做错了吗?

您使用的 SDK 版本 (v2.2.37) 已有 5 年历史(2016 年 4 月)。 S3 中的对象标记直到 2016 年 12 月才发布,因此您使用的 SDK 版本尚未启用此功能。

即使您不能使用 v3 SDK,您至少需要升级到更新版本的 v2 SDK。最新版本是 2.11,但任何大于 2.7 的版本都应该包含 S3 对象标记功能。

参考: https://rubygems.org/gems/aws-sdk-core/versions