do-meta-query通过存储空间(Bucket)的元数据索引功能,查询满足指定条件的文件(Object),并按照字段和排序方式列出文件信息。
注意事项
阿里云账号默认拥有查询满足指定条件的文件Object的权限。如果您需要通过RAM用户或者STS的方式进行添加修改,您必须拥有oss:DoMetaQuery
权限。具体操作,请参见为RAM用户授权自定义的权限策略。
命令格式
ossutil api do-meta-query --bucket value --meta-query value [flags]
参数 | 类型 | 说明 |
--bucket | string | Bucket的名称。 |
--meta-query | string | 查询条件的容器。 |
说明
do-meta-query命令对应API接口DoMetaQuery。关于API中的具体参数含义,请参见DoMetaQuery。
--meta-query
--meta-query配置选项既支持XML语法也支持JSON语法,当选项值包含file://前缀时,表示从文件中读取配置。
XML语法:
<MetaQuery> <Sort>string</Sort> <Order>string</Order> <Aggregations> <Aggregation> <Field>string</Field> <Operation>string</Operation> </Aggregation> ... </Aggregations> <NextToken>string</NextToken> <MaxResults>integer</MaxResults> <Query>string</Query> </MetaQuery>
JSON语法:
{ "Query": "string", "Sort": "string", "Order": "string", "Aggregations": { "Aggregation": [ { "Field": "string", "Operation": "string" }, ... ] }, "NextToken": "string", "MaxResults": integer }
说明
关于支持的全局命令行选项,请参见支持的全局命令行选项。
使用示例
以下示例展示了如何查询存储空间examplebucket
中满足指定条件的文件。
使用XML配置文件,meta-query.xml内容如下:
<?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>
命令示例如下:
ossutil api do-meta-query --bucket examplebucket --meta-query file://meta-query.xml
使用JSON配置文件,meta-query.json内容如下:
{ "MaxResults": "5", "Query": "{\"Field\": \"Size\",\"Value\": \"1048576\",\"Operation\": \"gt\"}", "Sort": "Size", "Order": "asc", "Aggregations": { "Aggregation": [ { "Field": "Size", "Operation": "sum" }, { "Field": "Size", "Operation": "max" } ] } }
命令示例如下:
ossutil api do-meta-query --bucket examplebucket --meta-query file://meta-query.json
使用JSON配置参数,命令示例如下:
ossutil api do-meta-query --bucket examplebucket --meta-query "{\"MaxResults\":\"5\",\"Query\":\"{\\\"Field\\\": \\\"Size\\\",\\\"Value\\\": \\\"1048576\\\",\\\"Operation\\\": \\\"gt\\\"}\",\"Sort\":\"Size\",\"Order\":\"asc\",\"Aggregations\":{\"Aggregation\":[{\"Field\":\"Size\",\"Operation\":\"sum\"},{\"Field\":\"Size\",\"Operation\":\"max\"}]}}"
文档内容是否对您有帮助?