SDK version
"aws-sdk": "^2.114.0"
S3のアップ場所とファイル名
/hoge/in/fuga/aaa1/08/15/myKey1.txt
/hoge/in/fuga/aaa1/08/15/myKey2.txt
コード
var AWS = require('aws-sdk')
AWS.config.update({
accessKeyId: 'accessKeyId',
secretAccessKey: 'secretAccessKey',
endpoint: 'https://hoge.s3-ap-northeast-1.amazonaws.com/in/fuga',
s3ForcePathStyle: true
})
var s3 = new AWS.S3()
var params1 = {
Bucket: 'aaa1',
Key: '08/15/myKey1.txt',
Body: 'Hello!',
ContentType: 'text/plain'
}
var params2 = {
Bucket: 'aaa1',
Key: '08/15/myKey2.txt',
Body: 'World!',
ContentType: 'text/plain'
}
s3.upload(params1, function (err, result) {
console.log(err, result)
s3.upload(params2, function (err, result) {
console.log(err, result)
})
})
まったく同じ場所に置くのであれば、endpointとかBucketで指定すればファイル名だけで良いです。
CloudBerry Explorerを使えば、FTPソフトのような形でS3を確認できます。アクセスキーとか、シークレットキーの権限も含めた動作確認とかも出来るので、合わせて使ってみると良いかもしれません。
なぜか、2回目のアップロードがAccess Denied
で失敗するという謎のエラーで、めっちゃハマったので、共有という意味でうまくいったコードをアップしました。