IBM Cloud Docs
标记对象

标记对象

可以使用称为“标记”的关联元数据在 IBM Cloud® Object Storage 中明确定义,分类和分类数据。 本文档将向您展示如何完全控制表示数据的对象的“标记”。

对象和元数据

组织数据可能是一项复杂的任务。 基本方法 (例如,使用组织 "文件夹" 之类的关键前缀) 是分层结构的一个伟大开端。 但是,对于更复杂的组织,您将需要定制“标记附加到帐户中包含的资源分组的用户定义的标识。 标记在帐户范围内可视。”。 元数据可以描述数据固有的关系,并提供比标题或文件夹更多的组织。 与单纯的标签不同,标记有两个部分: keyvalue,根据您的需要单独定义。

标记对象

可以通过各种接口和体系结构来管理描述对象的标记。 使用 控制台 可提供图形用户界面。 使用命令行需要 curl 之类的工具以及有关它如何与 Object Storage进行交互的知识。

准备工作

您需要:

正在读取标记

可以使用正确的许可权在整个实例中访问标记。 虽然使用标记作为组织原则的真正组织能力随您一起扩展,但您也可以单独访问标记。

登录到 控制台,选择 IBM Cloud Object Storage 实例以及表示数据的存储区。 将文件上载到存储区后,可以立即查看和管理标记。 将光标放在表示数据 (存储为对象) 的任何行末尾的省略号上,然后从菜单中的选项中选择“管理标记”。

管理标记

使用 ?tagging 查询参数访问对象的标记所需的全部都是格式正确且经过认证的 "GET" 请求 (使用 curl)。 此处的示例使用使用 此示例 生成的不记名令牌。 除了存储区标识和对象键外,您还需要正确的 端点。 还将显示生成的 XML 对象,其中 "Tag" 元素将针对分配给该对象的每个标记重复。 如果没有标记,那么响应将返回带有空元素 <TagSet /> 的 XML。

curl 'https://<endpoint>/<bucketname>/<objectname>?tagging' \
-H 'Authorization: bearer <token>' \
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Tagging xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <TagSet>
    <Tag>
      <Key>Example Key</Key>
      <Value>Value Example</Value>
    </Tag>
  </TagSet>
</Tagging>

当然,在可以查看标记之前,必须先创建这些标记,然后再创建这些标记。

创建标记

标记必须符合以下限制:

  • 一个对象最多可以有 10 个标记
  • 对于每个对象,每个标记键都必须唯一,并且每个标记键只能有一个值。
  • 最小密钥长度-1 Unicode 字符 ( UTF-8 )
  • 最大密钥长度-128 个 Unicode 字符 (采用 UTF-8 )
  • 最大键字节大小-256 字节
  • 最小值长度-0 Unicode 字符 ( UTF-8 ) (标记值可以为空)
  • 最大值长度-以 UTF-8 表示的 256 个 Unicode 字符
  • 最大值字节大小-512 字节
  • 标记键和值可以由美国字母数字字符 (a-zA-Z0-9) 和以 UTF-8表示的空格以及以下符号组成: _.*'-:
  • 标记键和值区分大小写
  • ibm: 不能用作标记的键前缀

如前所述,登录到实例并浏览到要“标记”的存储区和对象。 在选择“管理标记”时显示的面板中,首先单击“添加标记 +”按钮。 然后,可以通过根据需要在 keyvalue 字段中输入文本来添加标记。 通过重复刚刚完成的步骤,一次添加一个更多标记。

添加标记到位

如果您在完成更改时不点击“保存”,将出现一个对话框,提醒您注意后果。 即,除非已保存,否则将废弃更改。

将废弃未保存的更改

如前所述,您必须进行认证才能向数据添加标记。 如果您对不记名令牌有疑问,请参阅 此示例。 同样,请记下用于处理标记的查询字符串: ?tagging

curl -X "PUT" 'https://<endpoint>/<bucketname>/<objectname>?tagging' \
-H 'Authorization: bearer <token>' \
-H "content-type: text/plain" \
--data "<Tagging><TagSet><Tag><Key>your key</Key><Value>your text</Value></Tag></TagSet></Tagging>"

此示例描述了在 XML 中作为请求主体中的数据发送的 key 为 "source" 且 value 为 "text" 的标记。 XML 的 模式 必须在执行时进行验证。 如果要添加多个标记,请复制“标记”节点,并将每个键和值元素的内容修改为您的规范。 每个对象只有一个 "TagSet" 元素,"PUT" 命令会将任何现有元数据替换为您指定的值。

curl -X "PUT" "https://s3.test.cloud-object-storage.sample.appdomain.cloud/taggingtest/example-file.csv?tagging" -H "Authorization: bearer ...iOiIyMDIwMTIwNzE0NDkiLCJh..." -H "ibm-service-instance-id: 7nnnnn52-2nn0-nna9-bann-7nnnnn4cc4e7" --data "<Tagging><TagSet><Tag><Key>source</Key><Value>text</Value></Tag></TagSet></Tagging>"

编辑标记

标记对象后,随着时间的推移,可能需要对其进行修改。

要使用图形界面编辑标记,您必须登录到控制台并按先前所述访问对象。 单击“管理标记”选项后,只需更改表单字段的内容。 请记住在完成时按“保存”。

完成时保存标记

您的请求必须经过认证才能标记数据。 此外,在使用新信息更新对象时,必须以编程方式保留任何旧标记。 所显示的示例在添加新标记时重复先前示例中的标记。

请记住,执行涉及标记的 "PUT" 操作将覆盖任何当前标记。

curl -X "PUT" 'https://<endpoint>/<bucketname>/<objectname>?tagging' \
-H 'Authorization: bearer <token>' \
-H "content-type: text/plain" \
--data "<Tagging><TagSet><Tag><Key>source</Key><Value>text</Value></Tag><Tag><Key>source1</Key><Value>text1</Value></Tag></TagSet></Tagging>"

除去标记

将标记添加到对象后,可能需要将其除去。

要使用图形界面删除标记,您必须登录到控制台并按先前所述访问对象。 再次单击“管理标记”选项,然后在显示的面板中,通过单击标记所在行中的“废纸箱”图标,选择“全部删除”或一次删除一个标记。

请记住在完成时按“保存”。

删除一个或所有标记

您必须进行认证才能从数据中删除标记。 只需将 "DELETE" HTTP 方法与 ?tagging 查询参数配合使用,即可删除所有标记。 如果您希望删除一个或多个标记,同时保留一个或多个标记,请使用“编辑”指示信息进行更改。

curl -X "DELETE" 'https://<endpoint>/<bucketname>/<objectname>?tagging' \
-H 'Authorization: bearer <token>' \
-H "content-type: text/plain"

后续步骤

S3 API 文档配置 API 中的更多配置选项中查找与对象相关的操作的更多详细信息。