LoginSignup
44
35

More than 5 years have passed since last update.

nodejs aws-sdkでs3ファイルアップロード

Last updated at Posted at 2017-10-22

背景

node.jsでaws-sdkを利用してファイルのアップロードしようと思ったけど古い記事が多かったのでまとめさせていただきます。
正規なやつは下記を参照…
http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html

最初に

下記の項目は飛ばさせていただきます…
1. node.jsやらnpmやらのインストール
2. awsのアカウント作成
3. awsのs3のバケット作成

やり方

aws-sdkのインストール

 npm init
 npm install --save aws-sdk fs

アクセスキーの取得

AWSの画面の右上の方の「アカウント名」をクリック>「セキュリティ認証情報」を選択
スクリーンショット 2017-10-22 21.27.28.png

アクセスキーの項目で「新しいアクセスキーの作成」をクリックして作成
スクリーンショット 2017-10-22 21.27.48.png

下記のようなファイルがダウンロード出来ます。

rootkey.csv
AWSAccessKeyId=xxxxxxxxxxxxxxxxxxxx
AWSSecretKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

これをこんな感じで変更して拡張子をjsonに変更

rootkey.json
{"accessKeyId": "xxxxxxxxxxxxxxxxxxxx",
 "secretAccessKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

コーディング

上記のファイルをプロジェクトファイルに移動して…

index.js
var AWS = require('aws-sdk');
var fs  = require('fs');

AWS.config.loadFromPath('./rootkey.json');
AWS.config.update({region: 'リージョン名'});

var s3 = new AWS.S3();
var params = {
 Bucket: "バケット名",
 Key: "アップロード後のファイル名.jpg"
};
var v= fs.readFileSync("./アップロード対象ファイル名.jpg");
params.Body=v;
s3.putObject(params, function(err, data) {
  if (err) console.log(err, err.stack);
  else     console.log(data);
});
44
35
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
44
35