GithubHelp home page GithubHelp logo

cuiliang.aliyunosssdk's Introduction

概述

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

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

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

说明

使用方法

在appSettings.json中配置参数

{
    "ossClient": {
    "AccessKeyId": "您的AccessKeyId",
    "AccessKeySecret": "您的AccessKeySecret"
}

在ConfigureServices中注册

public void ConfigureServices(IServiceCollection services)
{
    ~~~
    services.AddOssClient(Configuration);
    ~~~
}

然后在需要的时候注入OssClient对象即可。

// 注入变量
public OssManager(OssClient ossClient)
{
     client = ossClient;
    ~~~~
}



//调用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解析返回结果的逻辑代码。

如何增加新的API

如果你希望增加新的API,可以在合适的目录中定义 ApiNameCommand和ApiNameResult类型,并且在OssClient中增加相应的调用代码即可。

变更历史

0.3.0 加入GetBucket API支持,用于获取文件列表 合并cnblogs fork代码 改为使用DI注册而不是直接创建对象

cuiliang.aliyunosssdk's People

Contributors

cnblogs-dudu avatar cuiliang avatar greatkeke avatar keke-cnblogs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

cuiliang.aliyunosssdk's Issues

怎样释放OssClient ?

看到java版SDK有_client.shutdown()。在这里找不到对应的方法。能否告知怎么样释放呢?

如何往一个已经存在的bucket里面丢文件

如果需要往一个已经存在的bucket里面put文件,是不是要先Listbuckets,然后比如根据名字筛选出特定的bucket,然后把这个bucketinfo作为PutObjectAsync的参数来往这个bucket里面丢数据.

协议问题

这个是什么协议?可以用于商业软件吗?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.