反正有全局设置aws端点吗?

时间:2019-02-04 04:11:43

标签: javascript aws-sdk

我想一次全局设置S3端点,而不是每次我进行new AWS.S3()调用时都进行设置。这可能吗?

这与全局区域设置不同。我希望在全球范围内设置每个服务端点。

2 个答案:

答案 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