OssClient是OSS服务的C#客户端,用于管理存储空间和文件等OSS资源。
新建OSSClient
新建OSSClient时,需要指定Endpoint。有关Endpoint的更多信息,请参见访问域名和数据中心和自定义访问域名。
- 使用OSS域名新建OSSClient
以下代码用于使用OSS域名新建OSSClient:
using Aliyun.OSS; const string accessKeyId = "<yourAccessKeyId>"; const string accessKeySecret = "<yourAccessKeySecret>"; const string endpoint = "http://oss-cn-hangzhou.aliyuncs.com"; // 由用户指定的OSS访问地址、阿里云颁发的AccessKeyId/AccessKeySecret构造一个新的OssClient实例。 var ossClient = new OssClient(endpoint, accessKeyId, accessKeySecret);
- 使用自定义域名新建OssClient
以下代码用于使用自定义域名新建OssClient:
using Aliyun.OSS; using Aliyun.OSS.Common; 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。 | false |
ProgressUpdateInterval | 进度条更新间隔,单位:字节。 | 8096 |
示例如下:
using Aliyun.OSS; using Aliyun.OSS.Common; var conf = new ClientConfiguration(); conf.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校验。设置EnalbeMD5Check对上传下载的数据自动进行MD5校验,默认关闭。 conf.EnalbeMD5Check = true; var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);
说明 使用MD5校验时会有一定的性能开销。 - 代理网络
如果您使用的网络是代理(Proxy)网络,可以配置以下参数访问OSS:
参数 描述 默认值 ProxyHost 代理服务器,如 8.8.8.8
或abc.def.com
。空 ProxyPort 代理端口,如 3128
或8080
。空 ProxyUserName 代码服务账号,可选参数。 无 ProxyPassword 代码服务密码,可选参数。 无 无账号密码的代理网络访问示例:
using Aliyun.OSS; using Aliyun.OSS.Common; var conf = new ClientConfiguration(); conf.ProxyHost = "8.8.8.8"; conf.ProxyPort = 3128; var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);
带账号密码的代理网络访问示例:
using Aliyun.OSS; using Aliyun.OSS.Common; var conf = new ClientConfiguration(); conf.ProxyHost = "8.8.8.8"; conf.ProxyPort = 3128; conf.ProxyUserName = "user"; conf.ProxyPassword = "6666"; var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);