详情页标题前

阿里云对象存储OSSPython数据索引-云淘科技

详情页1

数据索引是OSS对外提供的文件(Object)元数据索引能力,您可以为指定存储空间(Bucket)开启元数据管理功能。开启后,OSS会为Bucket创建元数据索引库并为Bucket中的所有Object建立元数据索引。元数据索引库创建完成后,OSS会继续对Bucket中新增文件进行准实时的增量追踪扫描并为增量文件建立元数据索引。

重要

2.16.0及以上版本支持使用数据索引功能。

注意事项

  • 本文以华东1(杭州)外网Endpoint为例。如果您希望通过与OSS同地域的其他阿里云产品访问OSS,请使用内网Endpoint。关于OSS支持的Region与Endpoint的对应关系,请参见访问域名和数据中心。
  • 本文以从环境变量读取访问凭证为例。如何配置访问凭证,请参见Python配置访问凭证。

  • 本文以OSS域名新建OSSClient为例。如果您希望通过自定义域名、STS等方式新建OSSClient,请参见Python初始化。

开启元数据管理功能

以下代码用于为指定Bucket开启元数据管理功能。

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider

# 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())

# Endpoint以杭州为例,其它Region请按实际情况填写。
# 填写Bucket名称,例如examplebucket。
bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', 'examplebucket')

# 开启元数据管理功能。
bucket.open_bucket_meta_query()

获取元数据索引库信息

以下代码用于获取指定Bucket的元数据索引库信息。

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider

# 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())

# Endpoint以杭州为例,其它Region请按实际情况填写。
# 填写Bucket名称,例如examplebucket。
bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', 'examplebucket')

# 获取指定Bucket的元数据索引库信息。
get_result = bucket.get_bucket_meta_query_status()

# 打印状态。
print(get_result.state)

查询满足指定条件的Object

以下代码用于查询满足指定条件Object,并按照指定字段和排序方式列出Object信息。

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
from oss2.models import MetaQuery, AggregationsRequest
# 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())

# Endpoint以杭州为例,其它Region请按实际情况填写。
# 填写Bucket名称,例如examplebucket。
bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', 'examplebucket')

# 查询满足指定条件的Object,并按照指定字段和排序方式列举Object信息。
# 指定查询小于1 MB的文件,且最多返回十个结果,返回结果按升序排列。
do_meta_query_request = MetaQuery(max_results=10, query='{"Field": "Size","Value": "1048576","Operation": "lt"}', sort='Size', order='asc')
result = bucket.do_bucket_meta_query(do_meta_query_request)

# 打印Object名称。
print(result.files[0].file_name)
# 打印Object对应的ETag。
print(result.files[0].etag)
# 打印Object类型。
print(result.files[0].oss_object_type)
# 打印Object存储类型。
print(result.files[0].oss_storage_class)
# 打印Object的64位CRC值。
print(result.files[0].oss_crc64)
# 打印Object的访问权限。
print(result.files[0].object_acl)

关闭元数据管理功能

以下代码用于关闭指定Bucket的元数据索引功能。

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())

# Endpoint以杭州为例,其它Region请按实际情况填写。
# 填写Bucket名称,例如examplebucket。
bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', 'examplebucket')

# 关闭指定Bucket的元数据管理功能。
bucket.close_bucket_meta_query()

相关文档

  • 关于开启元数据管理功能的API接口说明,请参见OpenMetaQuery。

  • 关于获取元数据索引库信息的API接口说明,请参见GetMetaQueryStatus。

  • 关于查询满足指定条件的Object,并按照指定字段和排序方式列出Object信息的API接口说明,请参见DoMetaQuery。

  • 关于关闭元数据管理功能的API接口说明,请参见CloseMetaQuery。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/158155.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云对象存储OSSGo列举存储空间-云淘科技

    存储空间(Bucket)是用来存储对象(Object)的容器。对象都隶属于存储空间。存储空间按照字母顺序排列。您可以列举当前账号所有地域下符合指定条件的存储空间。 注意事项 本文以华东1(杭州)外网Endpoint为例。如果您希望通过与OSS同地域的其他阿里云产品访问OSS,请使用内网Endpoint。关于OSS支持的Region与Endpoint的对应关系…

    阿里云对象存储 2023年12月10日
  • 阿里云RDS数据库创建数据库和账号-云淘科技

    本文介绍如何为RDS MySQL实例创建数据库和账号。 创建数据库 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。 在左侧导航栏中单击数据库管理。 单击创建数据库。 设置如下参数。 参数 说明 数据库(DB)名称 长度为2~64个字符。 以小写字母开头,以小写字母或数字结尾。 支持小写字母、数字、下划线和中划线。 数据库名称在实例内必须唯一。 说…

    2023年12月9日
  • 阿里云对象存储OSSBrowser.js上传回调-云淘科技

    您只需要在发送给OSS的请求中携带相应的Callback参数,即可在完成文件(Object)上传时提供回调(Callback)给应用服务器。 注意事项 当您使用webpack或browserify等打包工具时,请通过npm install ali-oss的方式安装Browser.js SDK。 通过浏览器访问OSS时涉及跨域请求,如果未设置跨域规则,浏览器会…

    阿里云对象存储 2023年12月10日
  • 阿里云对象存储OSSNode.js-云淘科技

    本文以Node.js语言为例,介绍如何通过Node.js代码在服务端先完成签名,并设置上传回调,然后通过表单直传数据到OSS。 前提条件 应用服务器对应的域名可通过公网访问。 应用服务器已经安装Node.js 8.0以上版本。您可以执行node -v命令验证Node.js版本。 客户端运行需要浏览器支持HTML4、HTML5、Flash、Silverligh…

    阿里云对象存储 2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云负载均衡DescribeZones – 查询指定地域的可用区信息-云淘科技

    查询指定地域的可用区信息。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试调试授权信息当前API暂无授权信息透出。请求参数名称类型必填描述示例值RegionIdstring是负载均衡实例地域ID。 cn-hangzhou 返回参数 名称 类型…

    阿里云负载均衡 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。