Javascript 找不到aws配置凭据

Javascript 找不到aws配置凭据,javascript,amazon-web-services,amazon-dynamodb,aws-config,Javascript,Amazon Web Services,Amazon Dynamodb,Aws Config,我已经在这上面呆了一段时间了 我使用aws configure设置我的凭据/区域,但每次尝试在DynamoDB中存储时,都会出现“配置中缺少凭据”错误。 我正在使用Javascript,当我通过硬编码区域进行测试时,它会抱怨找不到我的凭据。最后,如果我对所有内容都进行硬编码,它将完美地工作。问题不应该出在凭证上,而应该出在本地查找凭证的能力上 配置文件(Users/myuseraccount/.aws/config): 凭证文件(Users/myuseraccount/.aws/credenti

我已经在这上面呆了一段时间了

我使用aws configure设置我的凭据/区域,但每次尝试在DynamoDB中存储时,都会出现“配置中缺少凭据”错误。 我正在使用Javascript,当我通过硬编码区域进行测试时,它会抱怨找不到我的凭据。最后,如果我对所有内容都进行硬编码,它将完美地工作。问题不应该出在凭证上,而应该出在本地查找凭证的能力上

配置文件(Users/myuseraccount/.aws/config):

凭证文件(Users/myuseraccount/.aws/credentials):


你能分享你尝试连接到DynamoDB的代码吗?另外,节点脚本的路径是什么?e、 g.
Users/myuseraccount/code/myscript.js
假设每次运行这些脚本时的有效用户都是相同的(在您的示例中是myuseraccount)?向我们展示用于创建会话/客户端对象的代码。我刚刚添加了连接代码!如果我直接在这里硬编码凭证,这似乎是可行的,但可能我遗漏了一些关键的东西。至于路径,它是通过“aws配置”自动设置的,因此我认为它应该将配置和凭证文件放置在正确的位置。我没有自己创建任何脚本。是的,用户永远都是一样的。实际上我只是让它工作。。。我使用AmazonCognito允许未经授权的访问,然后将身份池添加到代码中。你们知道这是不是推荐的方法吗?
[default]
region = us-east-1
output = json
[default]
aws_access_key_id = <MyAccessKey>
aws_secret_access_key = <MySecretKey>
 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
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()
}