0037-00000004

问题描述

Bucket元数据索引库未构建完成。

问题原因

您发起了DoMetaQuery或GetMetaQueryStatus请求,但是请求的目标Bucket元数据索引库未构建完成。

问题示例

例如,你发起了DoMetaQuery请求,但是请求的Bucket(oss-example)元数据索引库未构建完成,导致请求报错。

POST /?metaQuery&comp=query HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue 
<?xml version="1.0" encoding="UTF-8"?>
<MetaQuery>
  <NextToken></NextToken>
  <MaxResults>5</MaxResults>
  <Query>{"Field": "Size","Value": "1048576","Operation": "gt"}</Query>
  <Sort>Size</Sort>
  <Order>asc</Order>
  <Aggregations>
    <Aggregation>
      <Field>Size</Field>
      <Operation>sum</Operation>
    </Aggregation>
    <Aggregation>
      <Field>Size</Field>
      <Operation>max</Operation>
    </Aggregation>
  </Aggregations>
</MetaQuery>

解决方案

通过GetMetaQueryStatus接口查询Bucket当前元数据索引库的构建状态。

GET /?metaQuery HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Mon, 26 Jul 2021 13:08:38 GMT
Authorization: OSS qn6q**************:77Dv****************

如果返回结果中显示元数据索引库的创建任务尚未完成(即<State>Ready</State>),您需要等待元数据索引构建任务完成后再进行查询或访问。

相关文档