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

nodejs aws-sdkでs3ファイルアップロード
https://blog.hashito.biz/2021/12/01/ac8d19aa-5444-49c4-8096-34a40f751745/
著者
hashito
作成日
2021年12月1日
著作権

このバージョンはその範囲に入るのか

依存の話でいちばん間違えやすいのは ^1.2.3~1.2.3 がどこまでを許すかです(^0.2.3 のようにメジャーが 0 のときは規則が変わります)。範囲とバージョンを貼ると、下限・上限に展開したうえで一致・不一致とその理由を表示するsemver 範囲判定ツールを置いています。ブラウザの中だけで動き、入力はどこにも送信しません。