【问题标题】:AWS SDK - how to create a lambda function to listGroups from user pool?AWS SDK - 如何创建一个 lambda 函数以从用户池中列出组?
【发布时间】:2020-10-16 07:43:24
【问题描述】:

我是 AWS Lambda 函数的新手,我想创建一个新函数来从 Amplify 生成的 Cognito 用户池中获取用户组,我看到了很多示例,但到目前为止我的函数不起作用,我想我'我可能错过了一些许可,我不确定。这是我的功能:

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

exports.handler = async (event) => {
    let cognito = new AWS.CognitoIdentityServiceProvider();
    const params = { UserPoolId: 'us-east-1_xxxxxxx'};
    
    let res = { status: 'no changes' };
    
    cognito.listGroups(params, function(err, data) {
      console.log('inside of response')
      if (err) {
        res = { error: err };
      }
      else {
        res = { data: data };
      }
      
    })
    
    const response = {
      statusCode: 200,
      body: JSON.stringify(res),
    };
    return response; 
};

我已经在this answer here之后添加了权限

我正在关注 the API docs here 调用 Cognito listGroups 方法。

对于权限,与此功能关联的角色具有以下策略:

我在网上做所有事情,为了测试它我只是使用测试按钮,到目前为止我得到的唯一响应是:{ status: 'no changes' },甚至没有显示函数内部的日志。

如何使此功能适用于我的 Amplify Cognito 用户投票中的 listGroups?是否缺少权限?

类似问题:

【问题讨论】:

  • 将 cognito.listGroups 移至单独的函数并返回承诺。在结果处理程序中等待 cognito.listGroups
  • 谢谢@Nonik。将 移动到单独的函数不是答案,但给了我一个使用 .promise() 并让该函数工作的想法。

标签: javascript amazon-web-services aws-lambda amazon-cognito aws-amplify


【解决方案1】:

我的经理让它工作:

const AWS = require('aws-sdk');
let cognito = new AWS.CognitoIdentityServiceProvider();


exports.handler = async (event) => {
    const params = { UserPoolId: 'us-east-1_xxxxxxx'};
    
    let res = { status: 'no changes' };
    
    await cognito.listGroups(params, function(err, data) {
      if (err) {
        res = { error: err };
      }
      else {
        res = { data: data };
      }
    }).promise();
    
    
    const response = {
      statusCode: 200,
      body: JSON.stringify(res),
    };
    return response; 
};

我在 cognito 通话结束时错过了 await.promise()

【讨论】:

    猜你喜欢
    • 2020-03-21
    • 1970-01-01
    • 2018-01-13
    • 2019-05-18
    • 1970-01-01
    • 1970-01-01
    • 2018-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多