您可以在AWS中标记单个S3对象吗?

时间:2012-10-04 16:32:36

标签: amazon-s3 amazon-web-services tagging billing

好像我只能在S3中使用桶级别的标签。这似乎在某种程度上是有道理的,因为你可能只会在那种宏观层面进行计费。但是,我可以看到一些用于标记的用例,以便不同的人为同一个桶中的不同对象收费。

您可以标记单个S3对象吗?

7 个答案:

答案 0 :(得分:15)

对象标记是一项新功能,于2016年12月宣布。来自the announcement

  

使用S3对象标记,您可以管理和控制对Amazon S3对象的访问。 S3对象标签是应用于S3对象的键值对,可以在对象的生命周期内随时创建,更新或删除。有了这些,您就可以创建身份和访问管理(IAM)策略,设置S3生命周期策略以及自定义存储指标。然后,这些对象级标记可以管理存储类之间的转换,并使后台中的对象失效。

另请参阅:S3 » Objects » Object Tagging

目前,它看起来不像search by tags,或者对象标记会影响结算。

答案 1 :(得分:4)

它不是为了AWS端计费而“标记”,但您可以使用对象元数据来存储您想要的对象数据。

http://docs.amazonwebservices.com/AmazonS3/latest/dev/UsingMetadata.html

答案 2 :(得分:3)

根据documentation,你只能标记存储桶:

  

成本分配标记允许您标记S3存储桶,以便您可以进行更多操作   根据项目或其他标准轻松跟踪成本。

这与管理控制台和SDK文档中的内容一致。

当然,您可以使用文件夹/对象元数据自行进行更精细的“标记”,但我认为您会找到更好的解决方案。

答案 3 :(得分:3)

S3标签是2016年11月29日发布的新功能。标签可以添加到存储桶和单个对象上。 S3标签是令人兴奋的功能,因为您可以保留业务分类数据,甚至控制访问权限。release of s3 tag feature 可以使用浏览器中的新s3控制台添加s3标签。要从浏览器添加标记,假设您使用的是新的s3控制台。选择项目 - >更多 - >添加标签。

add tag using new console.

要查看标记,请使用新控制台和视图属性单击对象。 view tag using new console.

Aws S3 cli目前不支持标签功能。 Aws s3 api提供了添加和读取对象标签的方法。 add tag using s3 apiget tag using s3 api

答案 4 :(得分:1)

现在,我们可以为每个对象添加标签。 使用AWS S3API,

aws s3api put-object-tagging --bucket bucket_name --key key_name --tagging 'TagSet=[{Key=type,Value=text1}]'

我们还可以使用python API为对象添加标签。以下代码段将标记添加到存储桶中的所有对象。如果要将标记添加到一个对象,则可以传递对象名称。

session = aws_session.set_aws_session()

s3 = boto3.Session(aws_access_key_id, aws_secret_access_key)

bucketName = 'bucketName'
bucket = s3.Bucket(bucketName)

object_list = bucket.objects.all()

s3 = session.client('s3')


tagging = {'TagSet' : [{'Key': 'CONF', 'Value':'No'}]}

for obj in object_list:
    s3.put_object_tagging(
        Bucket = bucketName,
        Key = obj.key,
        Tagging = tagging
        )

答案 5 :(得分:0)

我不认为您可以像标记资源一样标记S3中的单个项目。

但是,您可以向S3中的项目添加元数据以识别它们。然后,您可以通过以下方式报告具有不同类型的项目: - 分析存储桶中的项目(显然相当慢)并整理您想要的任何信息 - 在您选择的数据库中具有外部元数据存储,然后您可以使用该数据库来运行报告。例如,不同类型,总大小等的项目数量。当然,您要报告的任何内容都必须首先添加到数据库中

我肯定会对任何更好的解决方案感兴趣!

答案 6 :(得分:0)

是的,您可以标记对象...但不能进行成本分配:

也许区分成本分配标签和使用标签标记对象也许很重要。引用the Amazon documentation:“成本分配标记只能用于标记存储桶。有关用于标记对象的标记的信息,请参见Object Tagging

标签:标记存储桶中的对象:

这些非常类似于用户自己定义的元数据键值对:

Tagging in an object