node.js - 配置中缺少凭据,如果使用 AWS_CONFIG_FILE,请设置 AWS_SDK_LOAD_CONFIG=1

标签 node.js amazon-web-services aws-config

当我尝试在我的项目中使用 Aws 凭据时,它给出了一个错误,我很难找到解决方案,当我在同一个文件中使用凭据时,它可以工作,但是当我尝试使用时。这是我尝试过的代码

const AWS = require('aws-sdk');


const SESConfig = {
    apiVersion: "2010-12-01",
    accessKeyId: process.env.AWS_SECRET_KEY,
    accessSecretKey: process.env.AWS_SECRET_KEY,
    region: "us-east-1"
}
AWS.config.update(SESConfig);
var sns = new AWS.SNS()
var sns = new AWS.SNS();

function sendSMS(to_number, message, cb) {

    sns.publish({
        Message: message,
        Subject: 'Admin',
        PhoneNumber:to_number
    }, cb);

  }

  // Example
  const PhoneNumberArray = ['any mobile number']
  PhoneNumberArray.forEach(number => {
    sendSMS(number, "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", (err, result)=>{
        console.log("RESULTS: ",err,result)
      })
  })

最佳答案

默认情况下,开发工具包会检测在您的环境中设置的 AWS 凭证,并使用它们签署对 AWS 的请求。这样你就不需要在你的应用程序中管理凭据。
Unix:

$ export AWS_ACCESS_KEY_ID="your_key_id"
$ export AWS_SECRET_ACCESS_KEY="your_secret_key"
视窗:
> set AWS_ACCESS_KEY_ID="your_key_id"
> set AWS_SECRET_ACCESS_KEY="your_secret_key"
您也可以添加 $ export AWS_SESSION_TOKEN='your_token' (可选的)
aws-sdk更多细节。
或创建一个 ~/.aws/credentials文件并添加:
[default]
aws_access_key_id = <YOUR_ACCESS_KEY_ID>
aws_secret_access_key = <YOUR_SECRET_ACCESS_KEY>
aws更多细节。

关于node.js - 配置中缺少凭据,如果使用 AWS_CONFIG_FILE,请设置 AWS_SDK_LOAD_CONFIG=1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61028751/

相关文章:

node.js - nginx 和 nodejs 提供动态文件夹中的图像

javascript - Node JS : Allow only server side calls to my api

javascript - Node api请求返回数组,但尝试使用索引时出错

java - Amazon Cognito 中的开发人员身份验证

amazon-web-services - 如何将 NAT 实例置于自动缩放中?

amazon-web-services - 通过 Cloudformation (yaml) 创建配置修复规则时出现错误

python - AWS 路由表导出详细信息到 CSV

javascript - Nodejs 数百个坐标之间的距离计算阻塞了我的服务器

amazon-web-services - 如何在每个请求上调用 lambda 自定义授权者?