对象存储 快速入门(高性能存储)

这篇档介绍如何快速上手高性能桶(Rapid Bucket),完成从准备到上传、下载对象的完整流程,主要包含四个环节:准备工作、创建高性能桶、上传对象、下载对象。

相关产品
对象存储 产品页,含版本规格、价格与购买入口。

一、简介

高性能桶(COS Rapid Bucket)是面向 AI / HPC 场景的高性能存储桶类型,兼容 S3 对象存储协议,提供高并发、低延迟的读写能力。其数据面采用基于会话(Session)的轻量级鉴权机制,SDK 会自动完成会话创建与凭证复用,业务代码无需手动管理。

二、开通 COS 服务

在 腾讯云控制台 搜索对象存储,进入对象存储控制台,按界面提示开通 COS 服务。(如已开通,请跳过此步骤。)

三、申请公测资格

当前高性能桶处于公测阶段,请 联系我们 申请公测资格。

四、准备 VPC 网络

高性能桶当前仅支持通过腾讯云 VPC 内网访问。请确保客户端部署在腾讯云 VPC 环境中,并准备好创建桶所需的 VPC 网络信息:VPC ID、子网 ID 与可用区(x-cos-vpc-id、x-cos-subnet-id、x-cos-zone)。

五、获取访问密钥

获取访问密钥 SecretId 与 SecretKey。建议使用子账号密钥并遵循最小权限原则,子账号密钥可在 访问管理控制台 获取。

六、操作步骤

下面以 Python SDK 为例演示完整流程。SDK 的安装与客户端初始化请参见 Python SDK 快速入门;高性能桶的完整名称形如 <BucketName>-x–<APPID>,例如 examplebucket-x–1250000000。

七、步骤 1:初始化客户端

访问高性能桶时打开 EnableRapidDomain,SDK 会自动使用高性能桶域名并在数据面请求时自动完成会话鉴权。

# -*- coding=utf-8 -*-import osfrom qcloud_cos import CosConfig, CosS3Client# 高性能桶经 VPC 内网 HTTP 80 端口接入,SDK 的网关 DNS 负载均衡也仅对 HTTP 请求生效;SDK 默认 https,此处需显式指定 http。config = CosConfig( Scheme='http', Region='ap-guangzhou', SecretId=os.environ['COS_SECRET_ID'], SecretKey=os.environ['COS_SECRET_KEY'], Token=os.environ.get('COS_SECURITY_TOKEN'), EnableRapidDomain=True)client = CosS3Client(config)bucket = 'examplebucket-x–1250000000'

八、步骤 2:创建高性能桶

创建高性能桶时必须指定 VPC 网络信息。也可跳过此步,直接使用已创建的桶。

create_bucket 成功返回只表示创建请求已受理,不代表存储桶已可用。请使用 head_bucket 查询 x-cos-bucket-status,待其为 Available 后再进行对象操作。

client.create_bucket( Bucket=bucket, VpcId='vpc-xxxxxxxx', SubnetId='subnet-xxxxxxxx', Zone='ap-guangzhou-3')# 创建请求受理后轮询桶状态,待 Available 后再进行对象操作。import timefor _ in range(60): status = client.head_bucket(Bucket=bucket).get('x-cos-bucket-status') if status == 'Available': break time.sleep(2)else: raise RuntimeError('bucket not available, last status: %s' % status)print('CreateBucket OK')

九、步骤 3:上传对象

首次对高性能桶发起数据面请求时,SDK 会自动创建 session 并签名。

key = 'quickstart/hello.txt'client.put_object(Bucket=bucket, Key=key, Body=b'hello rapid bucket')print('PutObject OK')

十、步骤 4:下载对象

resp = client.get_object(Bucket=bucket, Key=key)body = resp['Body'].get_raw_stream().read()print('GetObject OK: %s' % body)

十一、后续操作

·了解高性能桶的能力与限制,请参见 产品概述。

·了解鉴权模型与权限配置,请参见 访问控制。

·使用 Python SDK 的更多接口,请参见 Python SDK 快速入门。

·使用 Go SDK,请参见 Go SDK 快速入门。

·直接使用 REST API,请参见 API 文档 · 简介。

赞 (0)
上一篇 4天前
下一篇 4天前