javascript - AWS Cognito 与 Angular 4 : Error: Missing region in config

标签 javascript angular amazon-web-services console amazon-cognito

我正在开发一个使用 AWS 服务后端大小的 Web 应用程序。 目前,我使用 AWS Cognito 来管理用户 session 。 我正在使用 Angular 4(使用 TypeScript/JavaScript 语言)开发应用程序,我发现这个有用的类(在 AWS Cognito 的 JavaScript SDK 中)应该为我提供需要在前端显示的大量数据:

http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityServiceProvider.html

问题是我在此对象上调用的任何方法,控制台都会返回此错误:

Error: Missing region in config
at Request.VALIDATE_REGION (event_listeners.js:91)
at Request.callListeners (sequential_executor.js:105)
at callNextListener (sequential_executor.js:95)
at event_listeners.js:85
at finish (config.js:315)
at Config.getCredentials (config.js:360)
at Request.VALIDATE_CREDENTIALS (event_listeners.js:80)
at Request.callListeners (sequential_executor.js:101)
at Request.emit (sequential_executor.js:77)
at Request.emit (request.js:683)

我不明白为什么会发生这种情况,因为我已经正确配置了区域,如下所示:

//Setting AWS credentials
AWS.config.region = environment.region;
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
  IdentityPoolId : environment.identityPoolId
});

如果我使用指令 console.log(AWS.config.region),控制台将打印正确的区域。

为什么它继续显示该错误?

完整代码:

var params = {
UserPoolId: environment.clientId,
};

//Setting AWS credentials
AWS.config.region = environment.region;
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
  IdentityPoolId : environment.identityPoolId
});

this.cognitoidentityserviceprovider.listUsers(params, function(err, data) {
  console.log(AWS.config.region)

  if (err) console.log(err); // an error occurred
  else     console.log(data);           // successful response
});

路径始终为console.log(err),错误始终为配置中缺少区域。 为什么这种情况会持续发生?

最佳答案

如果你这样做怎么样:

var CognitoIdentityServiceProvider = AWS.CognitoIdentityServiceProvider;
var client = new CognitoIdentityServiceProvider({ apiVersion: '2016-04-19', region: 'us-east-1' });

然后你在客户端对象上调用listUsers?我相信在初始化服务客户端时应该传递区域。

关于javascript - AWS Cognito 与 Angular 4 : Error: Missing region in config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46340421/

相关文章:

javascript - ios上使用Cordova Contact API获取联系人,不支持displayName。什么是?

javascript - 如何在点击事件中更新 ko.observable 文本?

javascript - 根据对象内部的键对对象进行排序

node.js - AWS Lambda - 下载文件,并在同一个函数中使用它 - nodejs

amazon-web-services - 如何在 HTTPS 云前端后面使用 AWS 亚马逊云前端将非 WWW 转发到 WWW

javascript - Node.js - 将数据缓冲到 Ffmpeg

javascript - 如何在 Angular 组件之间传递 bool 值以切换样式的显示

angular - 在angular2中读取xml文件数据

javascript - 使用 *ngFor 数组的 Orderby

.htaccess - AWS负载均衡器: 503 (Service Unavailable: Back-end server is at capacity)