Skip to content

cnblogs/Cuiliang.AliyunOssSdk

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

概述

这是一个面向dotnet core的简化版的oss sdk,目前只包含部分的api支持。

相对于官方sdk,很大程度简化了代码,支持async模式。

nuget: https://www.nuget.org/packages/Cuiliang.AliyunOssSdk/

说明

使用方法

// 设置认证信息
var crediential = new OssCredential()
{
    AccessKeyId = AccessKeyId,
    AccessKeySecret = AssessSecret
};

//创建Client对象
var client = new OssClient(crediential);

//调用api
    
//list buckets
var listBucketResult = await client.ListBucketsAsync(OssRegions.ShangHai);
Console.WriteLine(listBucketResult.IsSuccess + ":" + listBucketResult.ErrorMessage);
var bucket = BucketInfo.CreateByRegion("oss-cn-shanghai.aliyuncs.com", "bucket", false, false);

// save string to a file
string content = "这是一个文本文件\naaaaaaaa\nbbbbbb\nccccccccc";
var putResult = await client.PutObjectAsync(bucket, "test_put_object_string.txt", content);
Console.WriteLine($"Put string object  {putResult.IsSuccess} {putResult.ErrorMessage}  Etag:{putResult.SuccessResult?.ETag}");
    

主要类说明

OssResult :命令返回结果的通用封装 ErrorResult:API调用失败时的返回结果对象(由OSS返回的。)

XXXXCommand 表示一个Oss API 命令, BaseOssCommand: Oss API 命令基类。

ServiceRequest:封装了一个需要发送给oss的http请求。包含headers/parameters等参数的存储 。

OssClient: 对API调用的封装,类似于一个api的索引,方便调用。

对每个API调用,假设API为XXX,则一般是定义一个XXXXCommand类,此类直接或简介继承于BaseOssCommand类, 提供构建ServiceRequest对象的逻辑以及根据返回的HttpResponse解析返回结果的逻辑代码。