44
35

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?