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 代理端口,如 3128
或8080
。无 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);