对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
在部署项目的时候,我们一般把图片,音频,视频,html,CSS,等静态资源文件存放到COS里。
那么现在小编就指导一下大家如何使用COS。
1,首先第一步,点击下面链接:
去注册一下腾讯云或者关联一下腾讯云。
然后到个人中心去做一下实名认证。
实名认证的时候选择企业或者个人,如果你是企业行为则选择企业。
2,购买腾讯云COS
点击下面链接:对象存储数据处理_COS数据处理_数据处理方案-腾讯云
点击:购买资源包
通常我们需要:存储包和流量包和读写请求包。
存储包:是把静态资源包存储到COS里抵扣的空间费用抵扣包
流量包:是从COS读取静态资源涉及到的流量费用抵扣包
读写请求包:是通过API方式把数据从到COS和从COS取出来,每调用一次API的费用抵扣包。
3,使用腾讯云COS
点击:登录 - 腾讯云
腾讯云COS控制台,去创建:存储桶
选择:区域,填写:桶名称,访问权限设置:私有读写。
4,接入COS-API,对数据的存和取
首先获取到你的秘钥
然后调用COS-API。API文档如下:
对象存储 PUT Object-API 文档-文档中心-腾讯云
以:上传至指定存储桶中为例,Java代码如下:
import java.io.File;
import com.qcloud.cos.COSClient;
import com.qcloud.cos.ClientConfig;
import com.qcloud.cos.auth.BasicCOSCredentials;
import com.qcloud.cos.auth.COSCredentials;
import com.qcloud.cos.model.PutObjectRequest;
import com.qcloud.cos.model.PutObjectResult;
import com.qcloud.cos.region.Region;
public class PutObject {
public static void main(String[] args) {
putObjectDemo();
}
static void putObjectDemo() {
// 初始化用户身份信息(secretId, secretKey)
COSCredentials cred = new BasicCOSCredentials("AKIDXXXXXXXX","1A2Z3YYYYYYYYYY");
// 设置bucket的区域, COS地域的简称请参照 https://www.qcloud.com/document/product/436/6224
ClientConfig clientConfig = new ClientConfig(new Region("ap-guangzhou"));
// 生成cos客户端
COSClient cosclient = new COSClient(cred, clientConfig);
String bucketName = "examplebucket-1251668577";
String key = "abc/abc.txt";
String localPath = "abc.txt";
PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, new File(localPath));
PutObjectResult putObjectResult = cosClient.putObject(putObjectRequest);
System.out.println(putObjectResult.getRequestId());
}
}
PHP代码如下:
require dirname(__FILE__) . '/../vendor/autoload.php';
$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
$cosClient = new QcloudCosClient(
array(
'region' => $region,
'schema' => 'https', //协议头部,默认为http
'credentials'=> array(
'secretId' => $secretId,
'secretKey' => $secretKey
)
)
);
try {
$result = $cosClient->putObject(array(
'Bucket' => 'examplebucket-1250000000', //格式:BucketName-APPID
'Key' => 'exampleobject',
'Body' => fopen('path/to/localFile', 'rb'),
));
// 请求成功
print_r($result);
} catch (Exception $e) {
// 请求失败
echo($e);
}