Ich versuche, die Anfrage geschickt von ASP.NET Web API AWS API und verarbeiten sie mit Lambda-Funktion zu verarbeiten:Wie die JSON-Anforderung verarbeiten von ASP.NET Web API AWS Lambda geschickt mit node.js
dieseist die Art, wie ich die REST-API in AWS eingesetzt nenne:
// Serialize our concrete class into a JSON String
var stringPayload = await Task.Run(() => JsonConvert.SerializeObject(payload));
// Wrap our JSON inside a StringContent which then can be used by the HttpClient class
var httpContent = new StringContent(stringPayload,Encoding.UTF8,"application/json");
using (var httpClient = new HttpClient()) {
// Do the actual request and await the response
var httpResponse = await httpClient.PostAsync("https://hosteddress-2.amazonaws.com/prod/SlashcmdIntegeration", httpContent);
// If the response contains content we want to read it!
if (httpResponse.Content != null) {
var responseContent = await httpResponse.Content.ReadAsStringAsync();
// From here on you could deserialize the ResponseContent back again to a concrete C# type using Json.Net
}
}
dies Code in aws Lambda es zu verarbeiten:
var AWS = require('aws-sdk');
var qs = require('querystring');
var https=require('https');
var token;
exports.handler = function (event, context) {
processEvent(event, context);
};
var processEvent = function(event, context) {
var body = event.body;
var params = qs.parse(body);
var commandText = params.CommandText;
var arr = commandText.split(" ");
var op1 = arr[0];
var op2 = arr[1];
var op = arr[2];
var result;
switch(op) {
case "+":
result = Number(op1) + Number(op2);
break;
case "-":
result = Number(op1) - Number(op2);
break;
case "*":
result = Number(op1) * Number(op2);
break;
case "/":
result = Number(op2)===0 ? NaN : Number(op1)/Number(op2);
break;
default:
result = "Invalid op";
}
console.log('data sent');
context.succeed(result);
};
ich versuchte es zu debuggen undefiniert aber ich es in der Integrationsanforderung festgelegt habe und schließlich auf unter Fehlermeldung Landung:
{ „errormessage“: „Verfahren vor dem Abschluss Anforderung beendet“}
Jede Idee, auf diese Bitte?
Dank
hat diese 'var body = event.body nicht bekommen; es ist nicht undefiniert', erhalten Sie den Körper in Ihrer Anfrage? – AJS
@AJS. Das ist das Problem, ich denke, event.body ist nicht definiert, aber es sollte den Körper erhalten, wie ich in der Integrationsanfrage von AWS API richtig eingestellt habe. – TechnoSavvy
Der Fehler bedeutet, dass die API-Anforderung fehlgeschlagen ist, da sie keine Antwort gesendet hat. – AJS