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

#背景
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

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

AWSAccessKeyId=xxxxxxxxxxxxxxxxxxxx  
AWSSecretKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  

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

{"accessKeyId": "xxxxxxxxxxxxxxxxxxxx",  
 "secretAccessKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}  

##コーディング
上記のファイルをプロジェクトファイルに移動して…

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);  
});