aws настроить учетные данные не найдены - PullRequest
0 голосов
/ 26 января 2020

Я застрял на этом некоторое время ...

Я использовал aws, чтобы настроить свои учетные данные / регион, но каждый раз, когда я пытаюсь сохранить их в DynamoDB, я получаю ' Отсутствие учетных данных в config 'ошибка. Я использую Javascript, и при тестировании путем жесткого кодирования региона он будет жаловаться на отсутствие моих учетных данных. Наконец, если я жестко закодирую все, это работает безупречно. Проблема не в учетных данных, а в возможности найти их локально.

файл конфигурации (Users / myuseraccount / .aws / config):

[default]
region = us-east-1
output = json

файл учетных данных ( Users / myuseraccount / .aws / credentials):

[default]
aws_access_key_id = <MyAccessKey>
aws_secret_access_key = <MySecretKey>

Я не до конца понимаю смысл приведенного ниже текста, но это происходит, когда я запускаю aws configure list (возможно, это поможет кому-то понять проблема). Я только что удалил ключи из списка, но они отображаются для меня.

 Name                       Value             Type                       Location
      ----                    -----           ----                       --------
   profile                <not set>           None                         None
access_key              <accesskeyremoved>    shared-credentials-file    
secret_key              <secretkeyremoved>    shared-credentials-file    
    region                us-east-1           config-file               ~/.aws/config

Редактировать: Добавлено подключение к DynamoDB

var AWS = require('aws-sdk');
AWS.config.region = 'us-east-1';

export async function putUser(userId, firstName, lastName, email, school, program, password) {
  var ddb = new AWS.DynamoDB();
  var params = {
    TableName: 'loci-users',
    Item: {
      'user_id' : { S: userId },
      'first_name' : { S: firstName },
      'last_name' : { S: lastName },
      'email' : { S: email },
      'password' : { S: password },
      'school' : { S: school },
      'program' : { S: program},
    }
  }

  ddb.putItem(params, function(err, data) {
    if (err) {
      console.log("Error", err);
      return false;
    } else {
      console.log("Success", data);
    }
    return true;
  });

}

export async function getUser(email) {
  var ddb = new AWS.DynamoDB.DocumentClient();
  var params = {
    TableName: 'loci-users',
    IndexName: 'email-index',
    KeyConditionExpression: "email = :email",
    ExpressionAttributeValues: { ":email": email }
  }
  let userData = await ddb.query(params).promise()
  return userData.Items.pop()
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...