OSSClientインスタンスは、バケットやオブジェクトなどのOSSリソースを管理するためのObject Storage Service (OSS) SDK for Node.jsのクライアントです。 OSS SDK for Node.jsを使用してOSSリクエストを開始する場合、OSSClientインスタンスを初期化し、ビジネス要件に基づいてデフォルトの設定項目を変更する必要があります。
OSSClientインスタンスの作成
(推奨) V4署名アルゴリズムの使用
より良いセキュリティを提供するV4署名アルゴリズムを使用することを推奨します。 この場合、authorizationV4を宣言する必要があります。 Node.js 6.20.0以降のOSS SDKは、V4署名をサポートしています。
次のサンプルコードは、V4署名アルゴリズムを使用してOSSエンドポイントを使用してOSSClientインスタンスを作成する方法の例を示しています。 V4署名アルゴリズムを使用して他の方法でOSSClientインスタンスを作成する場合は、次のサンプルコードを参照して変数を変更します。
const OSS = require('ali-oss');
const client = new 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.
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
// 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 oss-cn-hangzhou.
region: 'yourRegion',
authorizationV4: true,
// Specify the name of the bucket.
bucket: 'yourBucketName',
});
(非推奨) V1署名アルゴリズムの使用
2024年12月1日以降、新しいUIDを持つ新規顧客は、OSSのV1署名アルゴリズムを利用できなくなります。 2025年6月1日以降、OSSはV1署名アルゴリズムを更新および維持しなくなり、V1署名アルゴリズムは新しいバケットで使用できなくなります。 ビジネスへの影響を防ぐため、できるだけ早い機会にV1シグネチャをV4シグネチャにアップグレードします。
OSSエンドポイントを使用したOSSClientインスタンスの作成
次のサンプルコードは、OSSエンドポイントを使用してOSSClientインスタンスを作成する方法の例を示しています。
const OSS = require('ali-oss');
const client = new OSS({
// 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 oss-cn-hangzhou.
region: 'yourRegion',
// 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.
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
// Specify the name of the bucket.
bucket: 'yourBucketName',
});
カスタムドメイン名を使用してOSSClientインスタンスを作成する
次のサンプルコードは、カスタムドメイン名を使用してOSSClientインスタンスを作成する方法の例を示しています。 詳細については、「カスタムドメイン名をバケットのデフォルトドメイン名にマップする」をご参照ください。
カスタムドメイン名を使用する場合、client.listBuckets() メソッドは使用できません。
const OSS = require('ali-oss')
const client = new OSS({
// Use a custom domain name as the endpoint of a bucket to access the bucket.
endpoint: 'http://img.example.com',
// 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.
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
cname: true,
// Specify the name of the bucket.
bucket: 'yourBucketName',
});
OSSClientインスタンスの設定
OSSClientインスタンスを初期化するときに、ビジネス要件に基づいて設定パラメーターを指定できます。 たとえば、timeout
を指定してリクエストタイムアウト期間を指定したり、stsToken
を指定して一時的なアクセス資格情報を指定したりできます。 サポートされている設定パラメーターと設定例の詳細については、「設定パラメーター」をご参照ください。