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)
}