すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:初期化

最終更新日:Dec 23, 2024

OSSClientは、オブジェクトストレージサービス (OSS) クライアントとして機能します。バケットやオブジェクトなどのOSSリソースを管理できます。

OSSClientインスタンスの作成

次のいずれかの方法を使用して、OSSClientインスタンスを作成できます。

(推奨) V4署名アルゴリズムの使用

より良いセキュリティを提供するV4署名アルゴリズムを使用することを推奨します。 V4署名アルゴリズムを使用する場合は、regionパラメーターを含めます。 リージョンパラメーターはAlibaba CloudリージョンIDである必要があります。 例: cn-杭州 SignVersion.V4も宣言する必要があります。 OSS SDK for。NET 2.14.0以降はV4署名アルゴリズムをサポートしています。

次のサンプルコードは、OSSエンドポイントとV4署名アルゴリズムを使用してOSSClientインスタンスを作成する方法の例を示しています。 Security Token Service (STS) から取得したカスタムドメイン名またはアクセス資格情報を使用してOSSClientインスタンスを作成するには、実際のシナリオに基づいて次のサンプルコードを変更します。

using Aliyun.OSS;
using Aliyun.OSS.Common;
// Obtain access credentials from environment variables. Before you run the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are configured. 
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret=Environment.GetEnvironmentVariable ("OSS_ACCESS_KEY_SECRET"); 

// Specify the endpoint of the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the endpoint to https://oss-cn-hangzhou.aliyuncs.com. 
const string endpoint = "https://oss-cn-hangzhou.aliyuncs.com";

// Specify the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the region to cn-hangzhou. 
const string region = "cn-hangzhou";

// Create a ClientConfiguration instance and modify the default parameters based on your requirements. 
var conf = new ClientConfiguration();

// Specify the V4 signature. 
conf.SignatureVersion = SignatureVersion.V4;

// Create an OSSClient instance. 
var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);
client.SetRegion(region);

(非推奨) V1署名アルゴリズムの使用

重要

2025年3月1日以降、新しいUIDを持つ新規顧客は、OSSのV1署名アルゴリズムを利用できなくなります。 2025年9月1日以降、OSSはV1署名アルゴリズムを更新および維持しなくなり、V1署名アルゴリズムは新しいバケットで使用できなくなります。 ビジネスへの影響を防ぐため、できるだけ早い機会にV1シグネチャをV4シグネチャにアップグレードします。

OSSエンドポイントを使用したOSSClientインスタンスの作成

次のサンプルコードは、OSSエンドポイントを使用してOSSClientインスタンスを作成する方法の例を示しています。

using Aliyun.OSS;
// Obtain access credentials from environment variables. Before you run the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are configured. 
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// Specify the endpoint of the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the endpoint to https://oss-cn-hangzhou.aliyuncs.com. 
const string endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
  
// Create an OSSClient instance. 
var ossClient = new OssClient(endpoint, accessKeyId, accessKeySecret);                    

カスタムドメイン名を使用してOSSClientインスタンスを作成する

次のサンプルコードは、カスタムドメイン名を使用してOSSClientインスタンスを作成する方法の例を示しています。

重要

カスタムドメイン名が使用されている場合、ossClient.listBucketsは使用できません。

using Aliyun.OSS;
using Aliyun.OSS.Common;
// Obtain access credentials from environment variables. Before you run the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are configured. 
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// Specify the custom domain name. 
const string endpoint = "yourDomain";

// Create a ClientConfiguration instance and modify the default parameters based on your requirements. 
var conf = new ClientConfiguration();

// Specify that a CNAME can be used as an endpoint to create the OssClient instance. A CNAME record specifies the mapping relationship between a custom domain name and a bucket. 
conf.IsCname = true;

// Create an OSSClient instance. 
var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);                    

STSから取得したアクセス資格情報を使用してOSSClientインスタンスを作成する

次のサンプルコードは、STSから取得したアクセス資格情報を使用してOSSClientインスタンスを作成する方法の例を示しています。

using Aliyun.OSS;
// Before you run the sample code, make sure that the YOUR_ACCESS_KEY_ID and YOUR_ACCESS_KEY_SECRET environment variables are configured by using the temporary access credentials that you obtained from STS. 
var accessKeyId = Environment.GetEnvironmentVariable("YOUR_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("YOUR_ACCESS_KEY_ID");
// Specify the security token obtained from STS. 
const string  securityToken = "yourSecurityToken";
// Specify the endpoint of the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the endpoint to https://oss-cn-hangzhou.aliyuncs.com. 
const string endpoint = "https://oss-cn-hangzhou.aliyuncs.com";

// Create an OSSClient instance. 
var ossClient = new OssClient(endpoint, accessKeyId, accessKeySecret, securityToken);

OSSClient インスタンスの設定

ClientConfigurationは、OSSClientインスタンスの構成クラスです。 ClientConfigurationを使用して、プロキシ、接続タイムアウト期間、最大接続数などのパラメーターを設定できます。 下表に、各パラメーターを説明します。

パラメーター

説明

デフォルト値

ConnectionLimit

同時接続の最大数。

512

MaxErrorRetry

リクエストエラー発生時の最大リトライ回数。

3

ConnectionTimeout

接続のタイムアウト期間。 単位:ミリ秒。

-1 (接続がタイムアウトしないことを示します)

EnalbeMD5Check

オブジェクトをアップロードまたはダウンロードするときにMD5検証を有効にするかどうかを指定します。

  • true

  • false

重要

MD5検証が有効になると、システムパフォーマンスが損なわれる可能性があります。

false

IsCname

CNAMEをエンドポイントとして使用してOSSClientインスタンスを作成できるかどうかを指定します。 CNAMEは、カスタムドメイン名をバケットにバインドするために使用されます。

false

ProgressUpdateInterval

進行状況バーの更新間隔。 単位はバイトです。

8096

ProxyHost

プロキシサーバー。 例: example.aliyundoc.com

なし

ProxyPort

プロキシポート。 例: 3128または8080

なし

ProxyUserName

プロキシネットワークへのアクセスに使用されるユーザー名。 このパラメーターはオプションです。

なし

ProxyPassword

プロキシネットワークへのアクセスに使用されるパスワード。 このパラメーターはオプションです。

なし

次のサンプルコードは、OSSClientインスタンスを設定する方法の例を示しています。

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

var conf = new ClientConfiguration();
// Specify the maximum number of concurrent connections. 
ClientConfiguration.ConnectionLimit = 512;
// Specify the maximum number of retries in case of a request error. 
conf.MaxErrorRetry = 3;
// Specify the timeout period of the connections. 
conf.ConnectionTimeout = 300;
// Enable MD5 verification. 
conf.EnalbeMD5Check = true;
// Specify the proxy server. 
conf.ProxyHost = "example.aliyundoc.com";
// Specify the port of the proxy server. 
conf.ProxyPort = 3128;
// Specify the username used to access the proxy network. 
conf.ProxyUserName = "user";
// Specify the password used to access the proxy network. 
conf.ProxyPassword = "password";

var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);