OSSClientは、オブジェクトストレージサービス (OSS) クライアントとして機能します。バケットやオブジェクトなどのOSSリソースを管理できます。
OSSClientインスタンスの作成
OSSClientインスタンスを作成するには、エンドポイントを指定する必要があります。 エンドポイントの詳細については、「リージョンおよびエンドポイント」をご参照ください。
次のいずれかの方法を使用して、OSSClientインスタンスを作成できます。
OSSエンドポイントを使用したOSSClientインスタンスの作成
次のサンプルコードは、OSSエンドポイントを使用してOSSClientインスタンスを作成する方法の例を示しています。
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");
// バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.comに設定します。
const文字列endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// OSSClientインスタンスを作成します。
var ossClient = new OssClient (エンドポイント、accessKeyId、accessKeySecret);
カスタムドメイン名を使用してOSSClientインスタンスを作成する
次のサンプルコードは、カスタムドメイン名を使用してOSSClientインスタンスを作成する方法の例を示しています。
カスタムドメイン名が使用されている場合、ossClient.listBucketsは使用できません。
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文字列endpoint = "yourDomain";
// ClientConfigurationインスタンスを作成します。 Modify parameters as required.
var conf = new ClientConfiguration();
// CNAMEレコードを使用できることを指定します。 CNAMEレコードは、カスタムドメイン名とバケット間のマッピング関係を指定します。
conf.IsCname = true;
// OSSClientインスタンスを作成します。
var client = new OssClient (エンドポイント、accessKeyId、accessKeySecret、conf);
STSを使用してOSSClientインスタンスを作成
次のサンプルコードは、Security Token Service (STS) を使用してOSSClientインスタンスを作成する方法の例を示しています。
Aliyun.OSSを使用した
// サンプルコードを実行する前に、STSから取得した一時的なアクセス資格情報を使用して、YOUR_ACCESS_KEY_IDおよびYOUR_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。
var accessKeyId = Environment.GetEnvironmentVariable("YOUR_ACCESS_KEYID");
var accessKeySecret = Environment.GetEnvironmentVariable("YOUR_ACCESS_KEYID");
// STSから取得したセキュリティトークンを指定します。
const文字列securityToken = "yourSecurityToken";
// バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.comに設定します。
const文字列endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// OSSClientインスタンスを作成します。
var ossClient = new OssClient(endpoint, accessKeyId, accessKeySecret, securityToken);
OSSClientの設定
ClientConfiguration は OSSClient の設定クラスです。 ClientConfigurationを使用して、ホストプロキシ、接続タイムアウト、最大接続数などのパラメーターを設定できます。 次の表に、OSSClientインスタンスを設定するときに設定できるパラメーターを示します。
パラメーター | 説明 | デフォルト値 |
ConnectionLimit | 同時接続の最大数。 | 512 |
MaxErrorRetry | リクエストエラー発生時の最大リトライ回数。 | 3 |
ConnectionTimeout | 接続のタイムアウト期間。 単位:ミリ秒。 | -1 (タイムアウトなし) |
EnalbeMD5Check | オブジェクトをアップロードまたはダウンロードするときにMD5検証を有効にするかどうかを指定します。
重要 MD5検証を有効にすると、システムのパフォーマンスに影響が出る可能性があります。 | false |
IsCname | CNAMEをエンドポイントとして使用してOSSClientインスタンスを作成できるかどうかを指定します。 CNAMEは、カスタムドメイン名をバケットにバインドするために使用されます。 | false |
ProgressUpdateInterval | 進行状況バーの更新間隔。 単位:バイト | 8096 |
ProxyHost | プロキシサーバー。 例: | なし |
ProxyPort | プロキシポート。 例: | なし |
ProxyUserName | プロキシサーバーへのログオンに使用されるアカウント。 このパラメーターはオプションです。 | なし |
ProxyPassword | プロキシサーバーへのログインに使用されるパスワード。 このパラメーターはオプションです。 | なし |
次のサンプルコードは、OSSClientインスタンスを設定する方法の例を示しています。
Aliyun.OSSを使用した
Aliyun.OSS.Common; を使用
var conf = new ClientConfiguration();
// インスタンスへの同時接続の最大数を指定します。
ClientConfiguration.ConnectionLimit = 512;
// リクエストエラー時の最大リトライ回数を指定します。
conf.MaxErrorRetry = 3;
// 接続のタイムアウト時間を指定します。
conf.ConnectionTimeout = 300;
// MD5検証を有効にします。
conf.EnalbeMD5Check = true;
// プロキシサーバーを指定します。
conf.ProxyHost = "example.aliyundoc.com";
// プロキシサーバーのポートを指定します。
conf.ProxyPort = 3128;
// プロキシネットワークへのアクセスに使用するユーザー名を指定します。
conf.ProxyUserName = "user";
// プロキシネットワークへのアクセスに使用するパスワードを指定します。
conf.ProxyPassword = "password";
var client = new OssClient (エンドポイント、accessKeyId、accessKeySecret、conf);