クライアントは、Node.js SDK を介して Object Storage Service (OSS) とやり取りするための主要なオブジェクトです。バケットやファイルなどの OSS リソースを管理します。Node.js SDK を使用して OSS リクエストを送信するには、クライアントインスタンスを初期化し、必要に応じてデフォルトの構成を変更します。
注意事項
OSSClient インスタンスを初期化する前に、アクセス認証情報を構成する必要があります。このトピックでは、環境変数を使用する例を示します。詳細については、「アクセス認証情報の設定 (Node.js SDK)」をご参照ください。
OSS のリージョンと対応するエンドポイントについては、「リージョンとエンドポイント」をご参照ください。
Resource Access Management (RAM) ユーザーの AccessKey ペアを作成する方法については、「AccessKey ペアの作成」をご参照ください。
前提条件
クライアントを構成する前に、RAM ユーザーの AccessKey を使用して環境変数を設定する必要があります。
デフォルト構成の例
以下のコード例は、署名バージョン 4 (V4) と署名バージョン 1 (V1) を使用して OSSClient インスタンスを構成する方法を示しています。
署名バージョン 1 (V1) (非推奨)
一般的なシナリオの構成例
以下のコード例は、他のドメイン名を構成する方法を示しています。デフォルトでは、これらの例は署名バージョン 4 (V4) と RAM ユーザーの AccessKey 情報を使用します。
内部ドメイン名の構成例
アプリケーションが Alibaba Cloud Elastic Compute Service (ECS) インスタンスにデプロイされており、同じリージョン内の OSS リソースに頻繁にアクセスする必要がある場合は、内部ドメイン名を使用してトラフィックコストを削減し、アクセス速度を向上させることができます。
以下のコードは、OSS の内部ドメイン名を使用して OSSClient インスタンスを構成する例を示しています。
const OSS = require('ali-oss');
const client = new OSS({
// 環境変数からアクセス認証情報を取得します。このコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
// バケットが配置されているリージョンに region を設定します。たとえば、中国 (杭州) の場合は、region を oss-cn-hangzhou に設定します。
region: 'oss-cn-hangzhou',
// 署名バージョン 4 (V4) を使用します。
authorizationV4: true,
// bucket をご使用のバケット名に設定します。
bucket: 'yourBucketName',
// endpoint をバケットが配置されているリージョンの内部エンドポイントに設定します。たとえば、中国 (杭州) の場合は、endpoint を https://oss-cn-hangzhou-internal.aliyuncs.com に設定します。
endpoint: 'yourEndpoint',
});カスタムドメイン名の構成例
以下のコードは、カスタムドメイン名を使用して OSSClient インスタンスを構成する例を示しています。
まず、カスタムドメイン名をバケットのデフォルトのドメイン名にアタッチする必要があります。そうしないと、エラーが発生します。カスタムドメイン名をアタッチする方法の詳細については、「カスタムドメイン名を使用した OSS へのアクセス」をご参照ください。
const OSS = require('ali-oss');
const client = new OSS({
// 環境変数からアクセス認証情報を取得します。このコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
// バケットが配置されているリージョンに region を設定します。たとえば、中国 (杭州) の場合は、region を oss-cn-hangzhou に設定します。
region: 'oss-cn-hangzhou',
// 署名バージョン 4 (V4) アルゴリズムを使用します。
authorizationV4: true,
// bucket をご使用のバケット名に設定します。
bucket: 'yourBucketName',
// endpoint をカスタムドメイン名に設定します。例: https://static.example.com。
endpoint: 'yourEndpoint',
// cname を true に設定して CNAME オプションを有効にします。
cname: true,
});アクセラレーションエンドポイントの構成例
以下のコードは、アクセラレーションエンドポイントを使用して OSSClient インスタンスを構成する例を示しています。
const OSS = require('ali-oss');
const client = new OSS({
// 環境変数からアクセス認証情報を取得します。このコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
// バケットが配置されているリージョンに region を設定します。たとえば、中国 (杭州) の場合は、region を oss-cn-hangzhou に設定します。
region: 'oss-cn-hangzhou',
// 署名バージョン 4 (V4) を使用します。
authorizationV4: true,
// bucket をご使用のバケット名に設定します。
bucket: 'yourBucketName',
// endpoint をアクセラレーションエンドポイントに設定します。例: oss-accelerate.aliyuncs.com。
endpoint: 'oss-accelerate.aliyuncs.com',
});関連ドキュメント
OSSClient の構成オプションの詳細については、「GitHub の例」をご参照ください。