阿里云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)
相关推荐
谷哥的小弟7 小时前
腾讯云服务器安装Redis Stack图文教程
服务器·redis·腾讯云·redis stack
天疆说10 小时前
02 API 鉴权与腾讯云公网桥接:把局域网模型服务安全地挂到域名上
安全·云计算·腾讯云
张3蜂1 天前
ALB、NLB、GWLB、CLB怎么选?
阿里云·云计算
SaaS_Product1 天前
在线文件收集工具推荐?几种常见的批量文件收集方法
人工智能·云计算·saas·onedrive
NiceCloud喜云1 天前
腾讯云国际版云数据库选型:MySQL、Redis 怎么按业务架构来判断
数据库·mysql·腾讯云
怪奇云呼军1 天前
G.711、Opus 和重采样会拖慢识别吗?闪电智能VoiceAgent 的音频入口怎么选
java·人工智能·python·算法·云计算·音视频
workflower1 天前
例二:某汽车制造企业深度融合AI智能体,构建园区网络的智能运维体系
人工智能·机器学习·设计模式·机器人·云计算·汽车·制造
星卯教育tony1 天前
NOI Linux 2.0 服务器多用户网页桌面部署方案(腾讯云轻量Ubuntu20.04专属版 CSP复赛比赛环境搭建免安装虚拟机 )
linux·服务器·腾讯云
Greg_Zhong2 天前
微信小程序 + 腾讯云人体分析:从 0 到 1 实现 AI 抠图打卡合照(细节待更新~)
人工智能·微信小程序·腾讯云·ai抠图-ai打卡拍照
AKAMAI2 天前
当AI模型超出存储增长时
人工智能·云计算