如何使用异步函数在AWS Lambda中调用pinpoint.getUserEndpoints

时间:2020-11-02 17:03:03

标签: aws-lambda aws-sdk-nodejs

我正在使用pinpoint api获取用户端点。我的代码看起来像这样。

const AWS = require('aws-sdk');
const pinpoint = new AWS.Pinpoint()

exports.handler = async (event, context) => {
      console.log(JSON.stringify(event, null, 2));
      event.Records.forEach(record => {
        console.log(record.eventID);
        console.log(record.eventName);
        const params = {
         ApplicationId: "secret", /* required */
         UserId: "userId"/* required */
        };
        try {
        var result = pinpoint.getUserEndpoints(params).promise();
        console.log('data',result);
      }
        catch (err) {
            console.log(err);
            return
        }
       })
      context.done(null, 'Successfully processed DynamoDB record'); // SUCCESS with message
    };

我检查了云监视日志,其中显示data Promise { <pending> }

我也在forEach里面尝试过这个。

var result = pinpoint.getUserEndpoints(params).promise();
    result.then(function(data) {
  console.log('Success',data);
}).catch(function(err) {
  console.log('err',err);
});

但是从这一部分中我无法在Cloud Watch中找到任何日志。

如何使用pinpoint.getUserEndpoints(params).promise();正确调用此异步函数?

1 个答案:

答案 0 :(得分:1)

在最初的帖子中,您到处都在跳舞。请尝试以下操作:

        IConfigurationBuilder builder = new ConfigurationBuilder();
        
        builder.AddJsonFile(Path.Combine(Directory.GetCurrentDirectory(), "../MyConfig.json"));