【发布时间】:2016-03-16 14:11:18
【问题描述】:
我正在使用 AWS Lambda 和 API Gateway 为负载测试创建自定义端点。我已经上传了一个文件中的处理函数,以及该函数所需的节点模块,并按照说明正确设置了 API Gateway API(与我之前的工作方式一致) ,但我不断收到错误:{“error”:“Missing Authentication Token”}。到目前为止,我在网上看到的所有内容都表明我通过 POST 请求传递的 url 无效,但我已经使类似的端点与 GET 请求一起工作。据我所知,我已经正确设置了 POST 请求(使用 Superagent),并且传入了一个有效的访问令牌,以及作为 URL 一部分的硬编码参数(有效参数)。
// Dependencies
var request = require('superagent');
var sync = require('synchronize');
exports.handler = function(event, context) {
sync.fiber(function() {
// Grabs params passed into the URL as a JSON object
var querystring = (event.querystring);
// Replaces params with an updated version which includes a single quotation
var queryStringUpdate = querystring.replace(/=/g, ":").replace(/}/g, "'}").replace(/:/g, ":'").replace(/,/g, "',");
// Updates the param information and sets it as a new string
eval('var queryString2 =' + queryStringUpdate);
// Define specific query params to be used in the REST calls
var userId = (queryString2.userId === undefined ? '229969' : queryString2.userId);
var roomdId = (queryString2.roomId === undefined ? '4' : queryString2.roomId);
var inviterId = (queryString2.inviterId === undefined ? '212733' : queryString2.inviterId);
var createInvitePost = function() {
request
.post('https://some_url/v2/invites/212733/create')
.set({'access-token': 'some_access_token'})
.set('Content-Type', 'application/json')
.query({user_id: "229969"})
.query({room_jid: "4"})
.end(function(err, res){
if (err) {
context.fail("Uh oh, something went wrong");
} else {
context.done(null, "Hurray, it worked!!");
}
});
};
try {
createInvitePost();
} catch(errOne) {
alert("No bueno!!");
}
});
};
对此有什么想法吗?谢谢
【问题讨论】:
标签: aws-lambda aws-api-gateway superagent