OssClient是OSS服务的.NET客户端,用于管理存储空间(Bucket)和文件(Object)等OSS资源。

新建OSSClient

新建OSSClient时,需要指定Endpoint。有关Endpoint的更多信息,请参见访问域名和数据中心自定义访问域名

  • 使用OSS域名新建OSSClient

    以下代码用于使用OSS域名新建OSSClient:

    using Aliyun.OSS;
    // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
    const string accessKeyId = "yourAccessKeyId";
    const string accessKeySecret = "yourAccessKeySecret";
    // 填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
    const string endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
    
    // 构造OssClient实例。
    var ossClient = new OssClient(endpoint, accessKeyId, accessKeySecret);                    
  • 使用自定义域名新建OssClient

    以下代码用于使用自定义域名新建OssClient:

    using Aliyun.OSS;
    using Aliyun.OSS.Common;
    // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
    const string accessKeyId = "yourAccessKeyId";
    const string accessKeySecret = "yourAccessKeySecret";
    // 填写自定义域名。
    const string endpoint = "yourDomain";
    
    // 创建ClientConfiguration实例,按照您的需要修改默认参数。
    var conf = new ClientConfiguration();
    
    // 打开CNAME开关。CNAME是指将自定义域名绑定到存储空间的过程。
    conf.IsCname = true;
    
    // 创建OssClient实例。
    var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);                    
    重要 使用自定义域名时,不支持使用ossClient.listBuckets方法。

配置OssClient

ClientConfiguration是OSSClient的配置类,您可通过此类来配置代理、连接超时、最大连接数等参数。可设置的参数如下:

参数 描述 默认值
ConnectionLimit 最大并发连接数。 512
MaxErrorRetry 请求失败后最大的重试次数。 3
ConnectionTimeout 设置连接超时时间,单位为毫秒。 -1(不超时)
IsCname Endpoint是否支持CNAME。CNAME是指将自定义域名绑定到存储空间的过程。 false
ProgressUpdateInterval 进度条更新间隔,单位为字节。 8096

以下代码用于配置OssClient:

using Aliyun.OSS;
using Aliyun.OSS.Common;

var conf = new ClientConfiguration();
// 设置最大并发连接数。
ClientConfiguration.ConnectionLimit = 512;
// 设置请求失败后最大的重试次数。
conf.MaxErrorRetry = 3;
// 设置连接超时时间。
conf.ConnectionTimeout = 300;

var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);            
  • 数据校验

    以下代码用于MD5数据校验:

    using Aliyun.OSS;
    using Aliyun.OSS.Common;
    
    var conf = new ClientConfiguration();
    // 打开MD5校验,默认处于关闭状态。此处设置为true,表示对上传、下载的数据自动进行MD5校验。
    conf.EnalbeMD5Check = true;
    
    var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);                    
    重要 使用MD5校验时会有一定的性能开销。
  • 代理网络

    如果您使用的网络是代理(Proxy)网络,可以配置以下参数访问OSS:

    参数 描述 默认值
    ProxyHost 代理服务器,例如example.aliyundoc.com
    ProxyPort 代理端口,如31288080
    ProxyUserName 代码服务账号,可选参数。
    ProxyPassword 代码服务密码,可选参数。

    无账号密码的代理网络访问示例如下:

    using Aliyun.OSS;
    using Aliyun.OSS.Common;
    
    var conf = new ClientConfiguration();
    // 设置代理服务器。
    conf.ProxyHost = "example.aliyundoc.com";
    // 设置代理端口。
    conf.ProxyPort = 3128;
    
    var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);                    

    带账号密码的代理网络访问示例如下:

    using Aliyun.OSS;
    using Aliyun.OSS.Common;
    
    var conf = new ClientConfiguration();
    // 设置代理服务器。
    conf.ProxyHost = "example.aliyundoc.com";
    // 设置代理端口。
    conf.ProxyPort = 3128;
    // 设置代理网络的访问账号。
    conf.ProxyUserName = "user";
    // 设置代理网络的访问密码。
    conf.ProxyPassword = "password";
    
    var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);