我想一次全局设置S3端点,而不是每次我进行new AWS.S3()
调用时都进行设置。这可能吗?
这与全局区域设置不同。我希望在全球范围内设置每个服务端点。
答案 0 :(得分:0)
在该文件内创建一个名为aws.js
的文件,以创建要用于s3存储桶的所有功能,即上载内容或删除内容。
然后只需导出该文件,然后在所需的任何地方使用它即可。
例如:我正在使用SQS:
const AWS = require("aws-sdk");
AWS.config.update({ region: "us-east-1" });
// Create an SQS service object
const sqs = new AWS.SQS({ apiVersion: "2012-11-05", "accessKeyId": process.env.ACCESS_KEY_ID, "secretAccessKey": process.env.SECRET_ACCESS_KEY });
const QueueUrl = process.env.SQS_QUEUE_URL;
const sendPayloadToSQS = async message => {
const params = {
MessageBody: JSON.stringify(message),
QueueUrl
};
const request = sqs.sendMessage(params);
const result = await request.promise();
if (result) {
console.log(`Message queued to SQS successfully : ${result.MessageId}`);
} else {
console.log("Message queued failed");
}
};
module.exports = sendPayloadToSQS;
答案 1 :(得分:0)
您的aws-sdk版本是什么?
const AWS = require("aws-sdk");
console.log(new AWS.S3().config.endpoint); // s3.amazonaws.com
AWS.config.s3 = { endpoint: "https://my-endpoint" }; // sure this line has been call first of all
console.log(new AWS.S3().config.endpoint); // https://my-endpoint