我使用Python来部署由API调用触发的Lambda函数。这是我的代码:
app.py
#!/usr/bin/env python3
import os
from aws_cdk import core
from cvsg_app_bff.usermanagement import UserManagementStack
app = core.App()
UserManagementStack(app, "UserManagementStack")
app.synth()
我的堆栈:
class UserManagementStack(core.Stack):
de
我有一个接受JSON请求体的API Gateway POST端点。我打开了正文请求验证器,并添加了请求正文模型。但是,我得到的错误响应只是一些通用消息:网关响应中定义的"message": "Invalid request body"。我想知道是否有可能在响应中包含特定的验证错误?在日志里它特别写道
Request body does not match model schema for content type application/json:
[object has missing required properties (["property1
我使用jbuilder创建API视图,但许多方法共享相同的jbuilder文件:
module API
module V1
class DevicesController < ActionController::Base
respond_to :json
def create
...
respond_with @device, status: 201
end
def update
...
respond_with @device, status: 200
end
end
end
我目前正在尝试设置AWS Api Gateway,以代理到另一个api,该Api具有全功能的方法、响应内容、状态代码等。这非常容易设置,但我注意到,无论原始api响应什么,api网关总是返回200 OK。
Fx。如果有一个错误的请求(在源接口中)导致JSON和400 Bad Request中的错误消息,则Api网关将以完全相同的错误消息响应,但状态码为200 OK
如果我从API Gateway web界面中的Message Response中删除所有设置,则在API Gateway中会出现内部错误。是否必须在api网关中手动映射所有来自源Api的不同状态码?
我更倾向于让状态码(以及响应,目
以下是我的lambda函数:
@Override
public List<JobData> handleRequest(Map<String,String> searchFilters, Context context) {
List<JobData> jobs = new ArrayList<>();
if(searchFilters.get("job_title") != null){
// populate jobs list using a method.
我正试图从我的AWS Lambda获得1*1像素作为响应。
代码是这样的:
var imgHex = '47494638396101000100800000dbdfef00000021f90401000000002c00000000010001000002024401003b';
var imgBuffer = new Buffer(imgHex, 'hex');
context.succeed({header:"image/png",data:img});
我在API网关中映射了响应头。但是它没有给出1*1像素作为响应。
如何配置Amazon API Gateway和AWS Step功能?
客户端在api网关上调用api,Api网关===>步函数===>内部调用lambda =>,lambda返回响应,==>响应返回给api网关。
现在,我的Amazon API Gateway不是直接调用AWS步骤函数,而是调用一个lambda,该lambda调用步骤函数并检查其成功状态,然后向Amazon API Gateway返回response。