OSSClient は、バケットやオブジェクトなどの OSS リソースを管理するための OSS Java クライアントとして機能します。

OSSClient インスタンスを作成するには、エンドポイントを指定する必要があります。 エンドポイントの詳細については、「リージョンとエンドポイント」および「カスタムドメイン名をバインドする」をご参照ください。

次の表に、設定可能なパラメーターを示します。

パラメーター 説明 既定値
UseCname CNAME を使用するかどうかを指定します。 No
Timeout 接続タイムアウトおよびソケット読み書きタイムアウトを含む、リクエストタイムアウト時間を秒単位で指定します。 接続タイムアウトは 30 秒、読み書きタイムアウトは 60 秒です。
SecurityToken 一時ユーザー用のセキュリティトークンを指定します。 Null
EnableMD5 MD5 検証を有効にするかどうかを指定します。 CRC 検証はMD5 検証よりも効率的であるため推奨されます。 No
EnableCRC CRC 検証を有効にするかどうかを指定します。 Yes
Proxy http: // 8.8.8.8: 3128 などのプロキシサーバーを指定します。 Null
AuthProxy ログインにアカウントとパスワードを必要とするプロキシサーバーを指定します。 Null

OSS ドメインを使用した OSSClient インスタンスの作成

次のコードを実行して、OSS によって割り当てられたドメインを使用して OSSClient インスタンスを作成します。

import "github.com/aliyun/aliyun-oss-go-sdk/oss"

client, err := oss.New("<yourEndpoint>", "<yourAccessKeyId>", "<yourAccessKeySecret>")
if err ! = nil {
	fmt.Println("Error:", err)
	os.Exit(-1)
}

カスタムドメイン (CNAME) を使用した OSSClient インスタンスの作成

顧客ドメインの完全なコードについては、『GitHub』をご参照ください。

次のコードを実行して、CNAME で OSSClient インスタンスを作成します。

import "github.com/aliyun/aliyun-oss-go-sdk/oss"

// oss.UseCname (true) indicates thath the CNAME is enabled. CNAME indicates a custom domain bound to a bucket.
client, err := oss.New("<yourEndpoint>", "<yourAccessKeyId>", "<yourAccessKeySecret>", oss.UseCname(true))
if err ! = nil {
	fmt.Println("Error:", err)
	os.Exit(-1)
}
重要 CNAME が有効になっている場合、CNAME は特定のバケットにバインドされているため、バケットを列挙できません。

STS を使用した OSSClient インスタンスの作成

以下のコードを実行して、Security Token Service (STS) を使用して OSSClient インスタンスを作成します。

import "github.com/aliyun/aliyun-oss-go-sdk/oss"

client, err := oss.New("<yourEndpoint>", "<yourAccessKeyId>", "<yourAccessKeySecret>", oss.SecurityToken("<yourSecurityToken>"))
if err ! = nil {
	fmt.Println("Error:", err)
	os.Exit(-1)
}

詳しくは、「RAM と STS の概要」および「承認済みアクセス」をご参照ください。

タイムアウトの設定

次のコードを実行して接続のタイムアウトを設定します。

import "github.com/aliyun/aliyun-oss-go-sdk/oss"

// oss.Timeout(10, 120) indicates that the HTTP connection timeout is set to 10 seconds (the default value is 30 seconds) and the HTTP read-write timeout is set to 120 seconds (the default value is 60 seconds). 値 0 はタイムアウトが発生しないことを示しますが、推奨しません。
client, err := oss.New("<yourEndpoint>", "<yourAccessKeyId>", "<yourAccessKeySecret>", oss.Timeout(10, 120))
if err ! = nil {
	fmt.Println("Error:", err)
	os.Exit(-1)
}

CRC 検証

データの整合性を確保するために、アップロードおよびダウンロード中の CRC 検証は既定により有効になっています。 CRC 検証を無効にするには、次のコードを実行します。

警告 CRC 検証は無効にしないことを推奨します。 CRC 検証を無効にした場合、アップロード中およびダウンロード中のデータの整合性は保証されません。
import "github.com/aliyun/aliyun-oss-go-sdk/oss"

client, err := oss.New("<yourEndpoint>", "<yourAccessKeyId>", "<yourAccessKeySecret>", oss.EnableCRC(false))
if err ! = nil {
	fmt.Println("Error:", err)
	os.Exit(-1)
}