Отсутствие учетных данных в конфигурации, если используется AWS_CONFIG_FILE, установите AWS_SDK_LOAD_CONFIG = 1 - PullRequest
2 голосов
/ 04 апреля 2020

, когда я пытаюсь использовать 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)
      })
  })

Ответы [ 2 ]

0 голосов
/ 07 апреля 2020

Можно попытаться создать AWS_PROFILE с учетными данными, если у вас установлен AWS CLI.

$ aws configure --profile testuser
  AWS Access Key ID [None]: 1234
  AWS Secret Access Key [None]: 1234
  Default region name [None]: us-east-1
  Default output format [None]: text

После этого вы можете установить AWS_PROFILE в качестве переменной среды.

Linux / Ma c

export AWS_PROFILE=testuser

Windows

setx AWS_PROFILE testuser

После этого вы сможете запустить свою программу и AWS получит учетные данные из вашего профиля. Таким образом, вам не нужно сохранять свои учетные данные в .ENV. Если вы это сделаете, не забудьте добавить его в .gitignore.

https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html

https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html

0 голосов
/ 05 апреля 2020

Установить dotenv

npm install dotenv --save

Создать файл .env и добавить свои переменные

AWS_ACCESS_KEY=1234567890
AWS_SECRET_KEY=XXXXXXXXXXXXXXXXXXX

Загрузить dotenv в свой проект

require('dotenv').config();

Полный код

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

function sendSMS(to_number, message, cb) {

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

  }

  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)
      })
  })
...