OssClient是OSS服務的.NET用戶端,用於管理儲存空間(Bucket)和檔案(Object)等OSS資源。
建立OssClient
說明
建立OssClient時,需要指定Endpoint。關於Endpoint的更多資訊,請參見訪問網域名稱和資料中心。
您可以通過以下多種方式建立OssClient。
使用OSS網域名稱建立OssClient
以下代碼用於使用OSS網域名稱建立OssClient。
using Aliyun.OSS;
// 從環境變數中擷取訪問憑證。運行本程式碼範例之前,請確保已設定環境變數OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// 填寫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。
重要
使用自訂網域名時,不支援使用ossClient.listBuckets方法。
using Aliyun.OSS;
using Aliyun.OSS.Common;
// 從環境變數中擷取訪問憑證。運行本程式碼範例之前,請確保已設定環境變數OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// 填寫自訂網域名。
const string endpoint = "yourDomain";
// 建立ClientConfiguration執行個體,按照您的需要修改預設參數。
var conf = new ClientConfiguration();
// 開啟CNAME開關。CNAME是指將自訂網域名綁定到儲存空間的過程。
conf.IsCname = true;
// 建立OssClient執行個體。
var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);
使用STS建立OssClient
以下代碼用於使用STS建立一個OssClient。
using Aliyun.OSS;
// 運行本程式碼範例之前,請確保已使用STS服務擷取的臨時存取金鑰設定環境變數YOUR_ACCESS_KEY_ID和YOUR_ACCESS_KEY_SECRET。
var accessKeyId = Environment.GetEnvironmentVariable("YOUR_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("YOUR_ACCESS_KEY_ID");
// 從STS服務擷取的安全性權杖(SecurityToken)。
const string securityToken = "yourSecurityToken";
// 填寫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, securityToken);
配置OssClient
ClientConfiguration是OSSClient的配置類,您可通過此類來配置代理、連線逾時、最大串連數等參數。可設定的參數如下:
參數 | 描述 | 預設值 |
ConnectionLimit | 最大並發串連數。 | 512 |
MaxErrorRetry | 請求失敗後最大的重試次數。 | 3 |
ConnectionTimeout | 設定連線逾時時間,單位為毫秒。 | -1(不逾時) |
EnalbeMD5Check | 上傳或下載資料時是否開啟MD5校正。
重要 使用MD5校正時會有一定的效能開銷。 | false |
IsCname | Endpoint是否支援CNAME。CNAME用於將自訂網域名綁定到儲存空間。 | false |
ProgressUpdateInterval | 進度條更新間隔,單位為位元組。 | 8096 |
ProxyHost | Proxy 伺服器,例如 | 無 |
ProxyPort | 代理連接埠,例如 | 無 |
ProxyUserName | 代理服務帳號,選擇性參數。 | 無 |
ProxyPassword | 代理服務密碼,選擇性參數。 | 無 |
以下代碼用於配置OssClient。
using Aliyun.OSS;
using Aliyun.OSS.Common;
var conf = new ClientConfiguration();
// 設定最大並發串連數。
ClientConfiguration.ConnectionLimit = 512;
// 佈建要求失敗後最大的重試次數。
conf.MaxErrorRetry = 3;
// 設定連線逾時時間。
conf.ConnectionTimeout = 300;
// 開啟MD5校正。
conf.EnalbeMD5Check = true;
// 設定Proxy 伺服器。
conf.ProxyHost = "example.aliyundoc.com";
// 設定代理連接埠。
conf.ProxyPort = 3128;
// 設定代理網路的訪問帳號。
conf.ProxyUserName = "user";
// 設定代理網路的訪問密碼。
conf.ProxyPassword = "password";
var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);