常见问题-存储区管理

常见问题可以提供有用的答案,让您深入了解使用 IBM Cloud® Object Storage 的最佳实践。

如何通过 API 查询我的存储桶的总大小?

您可以使用 资源配置 API 来获取用于给定存储区的字节数。

如何查看我的存储区?

您可以使用控制台,CLI 或 API 来查看和浏览存储区。

例如,CLI 命令 ibmcloud cos buckets 将列出与目标服务实例关联的所有存储区。

一个账户中的存储桶数量是否有上限? 如果我需要更多的话,该怎么办?

是的,每个存储实例的硬配额上限为 1000,且无法提高。 尝试创建第1001个桶将失败。 通常,最好是利用前缀对存储区中的对象分组,除非数据需要位于其他区域或存储类中。 例如,要对患者记录进行分组,您将为每个患者使用一个前缀。 如果您的工作流在某个实例中需要超过 1000 个存储桶,请考虑通过分片将存储桶的配置分布到多个 Object Storage 存储实例中。

当我使用 API 创建存储桶时,该如何设置存储类?

该存储类(例如,us-smart )被分配给该存储桶的 LocationConstraint 配置变量。 这是因为 AWS S3 和 IBM Cloud Object Storage 在处理存储类方面存在一个关键差异。Object Storage 在存储桶级别设置存储类,而 AWS S3 则为单个对象分配存储类。 有关 LocationConstraint 的有效供应代码的列表,请参阅 存储类指南

存储桶的存储类可以更改吗? 例如,如果生产数据存储在“standard”中,那么如果我们不经常使用它,能否为了计费目的将其轻松切换到“vault”?

您可以通过手动将数据从一个存储桶移动或复制到具有所需存储类的另一个存储桶,来更改存储类。

可以更改桶的位置吗?

要更改位置,请在所需位置创建新存储区,并将现有数据移至新存储区。

一个桶里能装下多少个物体?

单个存储区中的对象数没有实际限制。

可以将桶相互嵌套吗?

不能,存储区不能嵌套。 如果存储区中需要进行更高级别的组织,那么支持使用前缀:{endpoint}/{bucket-name}/{object-prefix}/{object-name}。 对象的键仍然是组合 {object-prefix}/{object-name}

我能否从特定备份文件复原存储区?

可以覆盖现有存储区。 复原选项取决于您使用的备份工具所提供的功能; 请与备份提供程序联系。 如 《 使用 IBM Cloud Object Storage 时的责任 》所述,您有责任在必要时确保数据备份。IBM Cloud® Object Storage 不提供备份服务。

如果我在现有存储区上设置了归档策略,那么该策略是否适用于现有文件?

该策略适用于上载的新对象,但不会影响存储区上的现有对象。 有关详细信息,请参阅 添加或管理存储区上的归档策略

我能否在相同或不同区域中创建具有已删除存储区名称的存储区?

当存储桶内容被删除且存储桶本身被删除后,该存储桶名称最早可在5分钟后被重复使用。 然后,将不可撤销地删除对象和存储区,并且 无法 复原。

如果先不清空然后删除存储区,而是 删除或调度 Object Storage 服务实例以进行删除,那么存储区名称将保留 缺省时间段 7(7)天,直到帐户回收过程 完成为止。 在回收过程完成之前,可以复原实例以及存储区和对象。 回收完成后,将不可撤销地删除所有存储区和对象,并且 无法 复原,尽管存储区名称将可供新存储区复用。

如何选择端点?

  1. 转至 端点 的 IBM Cloud Object Storage 文档,以研究数据和相应位置的所需弹性级别。
  2. 遵循以下步骤来供应实例,以创建存储区,并选择唯一名称。 全球所有区域中的所有存储区都共享一个名称空间。
  3. 选择您所需的弹性级别,然后选择您希望数据物理存储的位置。 弹性是指在其中分布数据的地理区域的范围和规模。 跨区域容错将您的数据分布在多个大都市区,而区域容错则将数据分布在单个大都市区内。 单个数据中心仅在单个站点内的设备之间分布数据。

如何查找存储区的名称?

要查找存储区的名称,请转至 IBM Cloud 控制台,选择 存储器,然后从 存储器 类别中选择 Object Storage 实例的名称。 " Object Storage " 控制台将打开,其中包含存储区列表,其名称,位置和其他详细信息。 此名称是在另一个服务提示您输入存储区名称值时可以使用的名称。

如何查找存储区的详细信息?

要查找存储区的详细信息,请转至 IBM Cloud 控制台,选择 存储器,然后从 存储器 类别中选择 Object Storage 实例的名称。 " Object Storage " 控制台将打开,其中包含存储区列表。 找到要查看详细信息的存储区,然后转至行尾并选择由三点冒号表示的选项列表。 单击三个点的冒号,然后选择 配置 以查看存储区的详细信息。

如何查找存储区的位置和端点?

您可以通过以下步骤在 IBM Cloud 控制台中查看存储区位置:

  1. 在 IBM Cloud 控制台中,选择 “存储”以查看您的资源列表。
  2. 接下来,在 “存储” 类别中选择包含您存储桶的服务实例。 这将带您进入 Object Storage 控制台。
  3. 选择要查看其位置和端点的存储区。
  4. 从导航菜单中选择 配置 以查看包含“位置”和“端点”数据的页面。

或者,可以使用包含 "extended" 参数的 GET 请求来列示存储区信息,如 获取扩展列表 中所示。

Object Storage 端点是否支持 IPv6 连接?

数量

如何使用 IAM 限制对单个存储区的访问?

  1. 转至 使用服务凭证 来研究认证主题的 IBM Cloud Object Storage 页面。
  2. 创建存储区,但不向其添加任何公共许可权或其他许可权。
  3. 要添加新用户,您首先需要退出当前的 Object Storage 界面,然后进入IAM控制台。 转到 “管理” 菜单,然后点击 “访问(IAM)” > “用户”下的链接。 单击服务凭证
  4. 单击新建凭证并提供必要的信息。 如果您想生成 HMAC 凭据,请勾选“包含 HMAC 凭据”复选框。 选择“管理者”服务访问角色以允许用户管理您接下来选择的存储区。
  5. 单击添加以生成服务凭证。

如何在使用命令行时解决 404 错误?

您可以在 IBM Cloud 控制台中查看存储区或对象,但使用命令行界面访问同一存储区时发生以下错误:

  • Cloud CLI 错误:“在您的 IBM Cloud 账户中未找到指定的存储桶。” 这可能是因为您提供的区域不正确。 “请提供存储桶的正确区域,然后重试。”
  • AWS 命令行界面错误:“调用 ListObjectsV2 操作时发生错误( NoSuchBucket ):指定的存储桶不存在。”

存储区的位置必须与 CLI 使用的端点相对应。 在 CLI 的缺省端点上找不到存储区或对象时,会发生此错误。

要避免此错误,请确保存储区位置与 CLI 使用的端点相匹配。 有关用于设置区域或端点的参数,请参阅 Cloud Object Storage CLIAWS CLI 的文档。

如何将文件复制或移动到其他位置中的另一个存储区?

有关如何使用 rclone 命令行实用程序复制数据的示例,请参阅 在存储区之间移动数据。 如果使用其他“同步”或“克隆”工具,请注意您可能需要实现脚本以将文件移动到其他位置的存储区,因为在命令中不允许使用多个端点。

我能否将存储区从一个 COS 实例迁移到另一个 COS 实例?

是的,您可以通过在目标 Object Storage 实例中创建存储区并执行同步来实现相同的目标。 有关详细信息,请参阅 cloud-object-storage-region-copy

删除 Object Storage 实例后,是否可以复用属于已删除 COS 实例的相同存储区名称?

当删除一个空存储桶时,系统会在删除操作完成后将该存储桶的名称保留5分钟。 5分钟后,该名称将被释放以供再次使用。

我能否在两个不同区域之间启用 Object Storage 复制以用于 DR?

是,可以配置存储区以自动 将对象复制到目标存储区

如何在更新对象或将对象写入存储区时设置通知?

您可以使用 Code Engine 来接收有关对存储区执行的操作的事件。

当写入或读取存储区时,Object Storage 是否具有速率限制?

是,Object Storage 具有速率限制。 有关详细信息,请参阅 COS 支持

如何比较两个不同存储区中对象的各种属性?

使用 rclone。 它使您能够比较各种属性。

存储区的缺省保留期是什么?

未应用缺省保留期。 您可以在创建存储区时对其进行设置。

能否向现有存储区添加保留时间策略?

是,可以将 保留策略 添加到现有存储区; 但是,只能延长保留期。 不能在当前配置值的基础上缩短。

如何使用 cURL? 调用 IBM Cloud Object Storage 存储桶操作

在多数环境中,通过使用 IBM Cloud Object Storage 和 cURL 命令行,您将获得最强大的控制能力。 然而,使用 cURL 需要对命令行和 Object Storage 具备一定的熟悉程度。 有关详细信息,请参阅 《 使用 cURL 》。

如何列出存储区的所有许可权? 

IAM 功能部件在实例级别创建可扩展至其存储区的报告。 它不会在存储区级别专门报告。 有关详细信息,请参阅 帐户访问报告

如何在不使用 Web 控制台的情况下获取存储区信息? 

使用 Object Storage 资源配置 API 来获取存储区信息。 有关详细信息,请参阅 COS 配置COS 集成

如何管理 Object Storage 实例的服务凭证?

创建服务凭据时,其底层的服务 ID 将被授予在整个 Object Storage 实例上的角色。 有关详细信息,请参阅 管理服务凭证

为什么我的部分凭证处于隐藏状态或不可查看状态?

可能存在以下问题: 查看者没有足够的角色来查看凭证信息。 有关更多信息,请参阅 帐户凭证文档

在创建存储区之后,是否可以在 Object Storage 存储区上启用 Key Protect ?

否,无法在创建存储区后添加 Key Protect。 只能在创建存储区时添加 Key Protect。

我能否使用 Object Storage 存储区来托管 Web 站点?

您可以使用 Object Storage 存储区来托管静态 Web 站点。 有关详细信息,请参阅 使用 COS 托管 Web 站点

使用 HMAC 凭证创建 Object Storage 存储区是否支持 REST 和 cURL 命令?

是,您应该设置授权头。 有关详细信息,请参阅 使用 HMAC 签名

需要哪种 IAM 授权才能编辑存储区的授权 IP 列表? 

您必须对存储区具有“管理者”特权才能管理防火墙和设置权限。

能否将单个区域 Object Storage 存储区转换为跨区域,而不必复制对象?

否,必须将对象复制到目标存储区。 有关详细信息,请参阅 COS 区域复制

在 Object Storage 实例中的使用量接近特定计费金额时,如何设置通知?

您可以通过与“度量监视”集成并配置通知来使用“软”存储区配额功能。 有关建立阻止超出设置的存储区大小的使用的硬配额的详细信息,请参阅 使用存储区配额

在未看到任何对象时,如何删除非空存储区?

可能存在仍在存储区中但未显示的版本化对象或不完整的多重部件上载。 可以通过设置 到期策略 来删除旧数据来清除这两个数据。

此外,您可以使用 Minio client 命令直接删除多重部件上载: mc rm s3/ -I -r --force

为什么在尝试创建存储区时收到错误?

检查 IAM 许可权,因为用户必须具有“写入者”许可权才能创建存储区。

基于内容的限制 可能阻止用户对服务执行操作。

在限制数据访问方面,跨源资源共享( CORS )与存储桶防火墙有何区别?

CORS 允许来自不同源头的资源之间进行交互,而这种交互通常是被禁止的。 存储区防火墙仅允许从允许的 IP 地址列表中访问请求。 有关“CORS”的更多信息,请参阅《 什么是 CORS? 》。

如何允许 Aspera High-Speed Transfer 通过具有基于上下文的限制或防火墙的存储区?

使用此 API 端点 可以找到用于 IBM Cloud Object Storage 的 Aspera High-Speed Transfer IP 地址的完整列表 (JSON)。