中條 美冬

1641020700

Nodejsを使用してS3バケットからファイルをダウンロードする方法

このチュートリアルでは、ノードjs + express + aws-s3を使用してファイルをAmazons3バケットにダウンロードする方法を学習します。

Node Expressjsアプリを作成する

ターミナルで次のコマンドを実行して、ノードjsアプリを作成します。

mkdir my-app
cd my-app
npm init -y

express、aws-s3の依存関係をインストールします

ターミナルで次のコマンドを実行して、express、aws-s3依存関係をインストールします。

npm install express aws-sdk --save

Server.jsファイルを作成する

server.jsファイルを作成します。そのため、アプリのルートディレクトリにアクセスして、server.jsという名前の新しいファイルを作成します。

次に、以下の手順に従います。

  • インストールされたパッケージをインポートする
  • Node.jsを使用してAWSS3にファイルをダウンロードするためのルートを作成します

インストールされたパッケージをインポートする

上記のインストール済み依存関係パッケージをserver.jsファイルにインポートします。

var aws = require('aws-sdk')
var express = require('express')

Node.jsを使用してAWSS3にファイルをダウンロードするためのルートを作成します

次のノードjsレストAPIルートは、ファイルをAmazons3バケットにダウンロードします。

app.get('/download-file', function(req, res, next){
 
    // download the file via aws s3 here
    var fileKey = req.query['fileKey'];
 
    console.log('Trying to download file', fileKey);
     
    AWS.config.update(
      {
        accessKeyId: "....",
        secretAccessKey: "...",
        region: 'ap-southeast-1'
      }
    );
    var s3 = new AWS.S3();
    var options = {
        Bucket    : '/bucket-url',
        Key    : fileKey,
    };
 
    res.attachment(fileKey);
    var fileStream = s3.getObject(options).createReadStream();
    fileStream.pipe(res);
});

サーバーのjsファイルを開き、次のコードを追加します。
 

var express = require('express');
var app = express();
var AWS = require('aws-sdk');
var fs = require('fs');
 
 
app.get('/download-file', function(req, res, next){
 
    // download the file via aws s3 here
    var fileKey = req.query['fileKey'];
 
    console.log('Trying to download file', fileKey);
     
    AWS.config.update(
      {
        accessKeyId: "....",
        secretAccessKey: "...",
        region: 'ap-southeast-1'
      }
    );
    var s3 = new AWS.S3();
    var options = {
        Bucket    : '/bucket-url',
        Key    : fileKey,
    };
 
    res.attachment(fileKey);
    var fileStream = s3.getObject(options).createReadStream();
    fileStream.pipe(res);
});
 
 
app.listen(3000, function () {
   console.log('express is online');
})

Node Express Js AppServerを起動します

ターミナルで次のコマンドを実行して、node expressjsサーバーを起動します。

//run the below command

npm start

このチュートリアルでは、ノードjs + express + aws-s3を使用してファイルをAmazons3バケットにダウンロードする方法を学習しました。

What is GEEK

Buddha Community

中條 美冬

1641020700

Nodejsを使用してS3バケットからファイルをダウンロードする方法

このチュートリアルでは、ノードjs + express + aws-s3を使用してファイルをAmazons3バケットにダウンロードする方法を学習します。

Node Expressjsアプリを作成する

ターミナルで次のコマンドを実行して、ノードjsアプリを作成します。

mkdir my-app
cd my-app
npm init -y

express、aws-s3の依存関係をインストールします

ターミナルで次のコマンドを実行して、express、aws-s3依存関係をインストールします。

npm install express aws-sdk --save

Server.jsファイルを作成する

server.jsファイルを作成します。そのため、アプリのルートディレクトリにアクセスして、server.jsという名前の新しいファイルを作成します。

次に、以下の手順に従います。

  • インストールされたパッケージをインポートする
  • Node.jsを使用してAWSS3にファイルをダウンロードするためのルートを作成します

インストールされたパッケージをインポートする

上記のインストール済み依存関係パッケージをserver.jsファイルにインポートします。

var aws = require('aws-sdk')
var express = require('express')

Node.jsを使用してAWSS3にファイルをダウンロードするためのルートを作成します

次のノードjsレストAPIルートは、ファイルをAmazons3バケットにダウンロードします。

app.get('/download-file', function(req, res, next){
 
    // download the file via aws s3 here
    var fileKey = req.query['fileKey'];
 
    console.log('Trying to download file', fileKey);
     
    AWS.config.update(
      {
        accessKeyId: "....",
        secretAccessKey: "...",
        region: 'ap-southeast-1'
      }
    );
    var s3 = new AWS.S3();
    var options = {
        Bucket    : '/bucket-url',
        Key    : fileKey,
    };
 
    res.attachment(fileKey);
    var fileStream = s3.getObject(options).createReadStream();
    fileStream.pipe(res);
});

サーバーのjsファイルを開き、次のコードを追加します。
 

var express = require('express');
var app = express();
var AWS = require('aws-sdk');
var fs = require('fs');
 
 
app.get('/download-file', function(req, res, next){
 
    // download the file via aws s3 here
    var fileKey = req.query['fileKey'];
 
    console.log('Trying to download file', fileKey);
     
    AWS.config.update(
      {
        accessKeyId: "....",
        secretAccessKey: "...",
        region: 'ap-southeast-1'
      }
    );
    var s3 = new AWS.S3();
    var options = {
        Bucket    : '/bucket-url',
        Key    : fileKey,
    };
 
    res.attachment(fileKey);
    var fileStream = s3.getObject(options).createReadStream();
    fileStream.pipe(res);
});
 
 
app.listen(3000, function () {
   console.log('express is online');
})

Node Express Js AppServerを起動します

ターミナルで次のコマンドを実行して、node expressjsサーバーを起動します。

//run the below command

npm start

このチュートリアルでは、ノードjs + express + aws-s3を使用してファイルをAmazons3バケットにダウンロードする方法を学習しました。