8

解決済み:

Amazon S3 サーバーから署名付き URLを取得したいと考えています。私はAWSを初めて使用します。S3がサーバーからのリクエストを識別できるように、 secret-keyaccess_id_keyをどこで設定しますか。

var express=require('express');
var app=express();


var AWS = require('aws-sdk')
, s3 = new AWS.S3()
, params = {Bucket: 'my-bucket', Key: 'path/to/key', Expiration: 20}

s3.getSignedUrl('getObject', params, function (err, url) {
console.log('Signed URL: ' + url)
})

app.listen(8000)
4

2 に答える 2

5

複数のバケットを使用している場合は、バケットごとに認証情報を設定することもできます。次のように、認証情報を S3 オブジェクトのコンストラクターに渡すだけで済みます。

var AWS = require('aws-sdk');
var credentials = {
  accessKeyId: AWS_CONSTANTS.S3_KEY,
  secretAccessKey: AWS_CONSTANTS.S3_SECRET,
  region: AWS_CONSTANTS.S3_REGION
};
var s3 = new AWS.S3(credentials);
var params = {Bucket:'bucket-name', Key: 'key-name', Expires: 20};
s3.getSignedUrl('getObject', params, function (err, url) {
  console.log('Signed URL: ' + url);
});
于 2016-09-15T23:45:17.170 に答える