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

Object Storage Service:ファイルのダウンロード (Node.js SDK)

最終更新日:Nov 30, 2025

デフォルトでは、バージョン管理が有効なバケット内のオブジェクトに対して GetObject 操作を呼び出すと、オブジェクトの現在のバージョンのみが返されます。

背景情報

GetObject 操作をバケットで呼び出す場合、次の 3 つのケースのいずれかが適用されます。

  • オブジェクトの現在のバージョンが削除マーカーの場合、OSS は 404 Not Found を返します。

  • クエリパラメーターでオブジェクトの versionId を指定すると、指定されたバージョンが返されます。versionId を "null" に設定すると、versionId が null のオブジェクトバージョンが返されます。

  • versionId を指定して削除マーカーを取得しようとすると、OSS は 405 Method Not Allowed を返します。

権限

デフォルトでは、Alibaba Cloud アカウントは完全な権限を持っています。Alibaba Cloud アカウント下の Resource Access Management (RAM) ユーザーまたは RAM ロールは、デフォルトではいかなる権限も持っていません。Alibaba Cloud アカウントまたはアカウント管理者は、RAM ポリシーまたはバケットポリシーを通じて操作権限を付与する必要があります。

API

アクション

定義

GetObject

oss:GetObject

オブジェクトをダウンロードします。

oss:GetObjectVersion

オブジェクトをダウンロードする際に、versionId を通じてオブジェクトのバージョンを指定する場合、この権限が必要です。

kms:Decrypt

オブジェクトをダウンロードする際に、オブジェクトのメタデータに X-Oss-Server-Side-Encryption: KMS が含まれている場合、この権限が必要です。

サンプルコード

次のサンプルコードは、ファイルをダウンロードする方法を示しています。

const OSS = require('ali-oss');

const client = new OSS({
  // yourregion をバケットが配置されているリージョンに設定します。たとえば、中国 (杭州) リージョンの場合、リージョンを oss-cn-hangzhou に設定します。
  region: 'yourregion',
  // 環境変数からアクセス認証情報を取得します。このコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // yourbucketname をバケットの名前に設定します。
  bucket: 'yourbucketname'
});

async function get() {
  // ファイルの名前。
  const result = await client.get('filename', {    
      // ダウンロードするファイルのバージョン ID。
      versionId: 'versionid',
  });
  console.log(result.content);
}
get();

関連ドキュメント

ファイルのダウンロードに使用される API 操作の詳細については、「GetObject」をご参照ください。