阿里云OSS和腾讯云COS对象存储介绍和简单使用

对象存储指的是一种云存储服务,其主要是将数据以对象的形式存储在云端,并且提供了完全的API调用,这些API包括上传,下载,删除,复制,预览,权限设置等等。OSS对象存储和COS对象存储都是市场上常用的对象存储服务,下面对它们分别进行简单的介绍和提供基本上传的代码。

阿里云的OSS对象存储是基于阿里云平台提供的一种分布式对象存储服务,OSS的API调用简单明了,支持多种的客户端/SDK,极大的方便了开发人员对数据进行访问。使用阿里云的OSS对象存储,除了具备高效的访问性能、数据可靠性和强大的扩展性外,还可以通过授权访问、日志记录等功能实现高可靠高安全性的数据存储与管理。

腾讯云的COS对象存储也是一种可靠、耐用、安全的云对象存储服务。COS API接口简单易用,支持各种编程语言,支持 HTTP、HTTPS 协议访问,同时还提供CDN加速、断点续传、动态压缩、数据万兆上传下载并发等特性。

下面是上传授权认证的代码示例:

阿里云OSS上传代码示例(java):

java 复制代码
import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSSClient;
import com.aliyun.oss.OSSException;
import com.aliyun.oss.model.ObjectMetadata;
import com.aliyun.oss.model.PutObjectRequest;
import com.aliyun.oss.model.PutObjectResult;

import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;

public class AliyunOSSExample {

    private static String endpoint = "<yourEndpoint>";
    private static String accessKeyId = "<yourAccessKeyId>";
    private static String accessKeySecret = "<yourAccessKeySecret>";
    private static String bucketName = "<yourBucketName>";
    private static String key = "<yourObjectKey>";
    private static String content = "<yourObjectContent>";

    public static void main(String[] args) {
        OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);

        InputStream inputStream = new ByteArrayInputStream(content.getBytes(StandardCharsets.UTF_8));
        ObjectMetadata metadata = new ObjectMetadata();
        metadata.setContentLength(content.getBytes().length);
        PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, inputStream, metadata);
        PutObjectResult result = ossClient.putObject(putObjectRequest);

        ossClient.shutdown();        
    }
}

腾讯云COS上传代码示例(Python):

python 复制代码
import sys
import logging
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client

logging.basicConfig(level=logging.INFO, stream=sys.stdout)

secret_id = '<yourSecretId>'      # 替换为用户的 secretId
secret_key = '<yourSecretKey>'    # 替换为用户的 secretKey
region = 'ap-guangzhou'           # 替换为用户的 Region
token = None                      # 使用临时密钥需要传入 Token,默认为空,可不填
scheme = 'https'                  # 指定使用 HTTP/HTTPS 协议来访问 COS,默认为 HTTPS,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
# 2. 获取客户端对象
client = CosS3Client(config)

# 列举全部bucket
response = client.list_buckets()
print(response['Buckets'])

# 创建一个新的bucket
response = client.create_bucket(
    Bucket='<yourBucketName>'
)
print(response)

# 上传一个对象
from io import BytesIO

buffer = BytesIO()
buffer.write(b"<html><body><h1>Hello, COS!</h1></body></html>")
response = client.put_object(
    Bucket='<yourBucketName>',
    Body=buffer.getvalue(),
    Key='test.html',
    StorageClass='STANDARD',
    ContentType='text/html'
)
print(response)
相关推荐
朱包林28 分钟前
iTerm2终端配置指南
linux·javascript·python·云原生·容器·kubernetes·云计算
酒神dnspup3 小时前
IPv6 网站访问异常怎么查?DNSPup 双栈检测、DNS 与端口排障指南
运维·云计算·域名·dns·dnspup
workflower18 小时前
矿用机器人人工智能安全与治理体系
人工智能·安全·机器学习·机器人·云计算·无人机
郭老二19 小时前
【docker】使用阿里云的容器镜像服务(ACR)构建自己的容器仓库
阿里云·docker·容器
怪奇云呼军1 天前
教育试听预约后没到课,闪电智能 Voice Agent 如何做分层回访?
人工智能·python·算法·云计算·音视频
yichengerp1 天前
国内中小电子工厂用哪个erp系统好?
大数据·运维·人工智能·云计算·制造
sbjdhjd1 天前
云安全 | 从特权容器到旧版 runC:Docker 宿主机访问与运行时缺陷复盘
运维·网络安全·docker·云原生·kubernetes·云计算·云安全
行业研究员1 天前
Agent Memory降低Token消耗原理解析
数据库·人工智能·oracle·腾讯云·智能体