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

Object Storage Service:ストリーミングダウンロード (Node.js SDK)

最終更新日:Nov 30, 2025

ストリーミングダウンロードを使用すると、オブジェクトをストリームとして増分的にダウンロードできます。ラージオブジェクトをダウンロードする場合や、ダウンロードに長時間を要する場合は、ストリーミングダウンロードを実行してオブジェクトを増分的にダウンロードできます。

サンプルコード

次のサンプルコードは、ストリーミングダウンロードを実行して、examplebucket という名前のバケットから exampleobject.txt という名前のオブジェクトをローカルディスクの D:\localpath パスにダウンロードする方法の例を示します。

説明

getStream を使用してファイルをダウンロードすると、返された Readable Stream によって、ファイルの内容をストリームとして処理できます。

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

const client = new OSS({
  // バケットが配置されているリージョンに設定します。 たとえば、バケットが中国 (杭州) リージョンにある場合は、リージョンを 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,
  // バケット名を指定します。
  bucket: 'examplebucket',
});

async function getStream () {
  try {
    // オブジェクトの完全なパスを指定します。 完全なパスにバケット名を含めることはできません。
    const result = await client.getStream('exampleobject.txt');
    console.log(result);
    // ローカルファイルの完全なパスを指定します。 ファイルが存在する場合は上書きされます。 ファイルが存在しない場合は作成されます。
    // ローカルパスが指定されていない場合、ファイルはデフォルトでプロジェクトのローカルディレクトリに保存されます。
    const writeStream = fs.createWriteStream('D:\\localpath\\examplefile.txt'); 
    result.stream.pipe(writeStream);
  } catch (e) {
    console.log(e);
  }
}

getStream()

関連ドキュメント

  • ストリーミングダウンロードを実行するために使用される完全なサンプルコードについては、GitHub をご参照ください。

  • ストリーミングダウンロードを実行するために呼び出すことができる API 操作の詳細については、「GetObject」をご参照ください。