我正在使用Lambda代理集成从API网关执行Lambda。下面是我用Java编写的相同代码。我的lambda在Eclipse和AWS控制台中正常执行。我假设这应该与我的API网关的配置有关。我已经创建了一个POST方法并定义了一个模型。
但是,当我从API Gateway中尝试“test”选项时,我得到了“内部错误”:{“errorMessage”:“input value murnt null”,“errorType”:“java.lang.IllegalArgumentException”}和“Execution failed duction to configuration error:Malformed Lambda proxy response”。
public class SavePersonHandler implements RequestHandler<PersonRequest, JSONObject> {
private DynamoDB dynamoDb;
JSONParser parser = new JSONParser();
private String DYNAMODB_TABLE_NAME = "XXXX";
private Regions REGION = Regions.US_WEST_2;
public JSONObject handleRequest(UserRequest userRequest, Context context) {
this.initDynamoDbClient();
LambdaLogger logger = context.getLogger();
String responseCode = "200";
JSONObject responseJson = new JSONObject();
saveData(personRequest); // inserting data into DynamoDB
UserResponse userResponse = new UserResponse();
try {
//Getting the recently inserted data back from DynamoDB
Item item = this.dynamoDb.getTable(DYNAMODB_TABLE_NAME).getItem("id", personRequest.getId(), "id, firstName, lastName, age, address", null);
personResponse.setMessage("Saved Successfully-"+item.toJSON());
JSONObject responseBody = new JSONObject();
responseBody.put("message", item.toJSON());
JSONObject headerJson = new JSONObject();
headerJson.put("x-custom-header", "custom header value");
responseJson.put("isBase64Encoded", false);
responseJson.put("statusCode", responseCode);
responseJson.put("headers", headerJson);
responseJson.put("body", responseBody.toString());
}
catch (Exception e) {
System.err.println("GetItem failed.");
System.err.println(e.getMessage());
}
return responseJson;
}
无法将API网关与aws集成,lambda帮助解决了这个问题。
响应必须直接作为POJO对象发送回来,而不是序列化POJO并将其作为字符串发送回来。我就是这样让它工作的。
问题内容: 我有一个UIAlertController,当用户在TouchID屏幕上选择“输入密码”时,系统会提示用户。在屏幕上显示此内容后,如何恢复用户的输入? 我知道“确定”按钮可能应该有一个处理程序,但是现在此代码实际上并没有执行任何操作,但是我想通过println显示文本字段的输出。对于我来说,这实际上只是一个测试应用程序,用于学习Swift和一些新的API知识。 问题答案: 我知道已经发
我们正在尝试从C#Windows服务调用AWS API网关来执行后台作业。哪个应该触发API网关定期初始化请求? 我们使用RestSharp调用APIendpoint,该类称为AwsAuthenticator,它继承自RestSharp.Authenticators.IAAuthenticator。但当我们调用API Gateway时,收到的错误是“我们计算的请求签名与您提供的签名不匹配。请检查您
我需要从endpoint获取一些数据,然后根据响应将这些数据存储到数据库中。
问题内容: 我要做什么 因此,我一直在尝试在Linux中访问键盘输入。具体来说,我需要能够在 不 按下其他键的 情况下 访问修饰键。此外,我希望能够在不运行X系统的 情况下 执行此操作。 简而言之,我的要求是: 在Linux上工作 不需要X11 无需 按下任何其他键 即可 检索修饰键 这包括以下键: 转移 控制 Alt键 我所需要的只是一个简单的方法,让我知道在检查键盘时是否按住了该键 我的电脑设
我试图弄清楚如何从运行在VPC中的lambda访问Api网关服务Api(也称为“管理Amazon Api网关”)。不,我不是试图在私有API中调用资源方法(我知道如何创建VPC接口endpoint),只是调用AWS服务方法(,FWIW,使用Python boto3客户机)。希望这是有意义的,很难清楚地表达这与如此多的“API”重载在这里。当前的尝试以超时失败,所以我认为这是与VPC相关的,但我不确
此url位于AWS API网关中,方法为get,stage部署良好。我在aws文档之后启用了CORS。 -资源->操作->启用CORS->默认设置->启用CORS并替换CORS头。在CORS结果中没有错误日志。 我不是profesional web开发人员,我的浏览器是Safari。 以下是我查询“http://my.com”的代码 控制台打印错误:XMLHttpRequest不能加载“http: