tocdepth

2

Что делать, если при использовании триггера APIG функция возвращается с кодом ошибки 500?

Проверьте, был ли ответ функции на вызов API Gateway заключен в структуру, содержащую body(String)statusCode(int)headers(Map) или isBase64Encoded(boolean).

Ниже приведен пример ответа, возвращенного функцией Node.js, использующая триггер APIG.

exports.handler = function (event, context, callback) {
 const response = {
     'statusCode': 200,
     'isBase64Encoded': false,
     'headers': {
         "Content-type": "application/json"
     },
     'body': 'Hello, FunctionGraph with APIG',
 }
 callback(null, response);
}

Ниже приведен пример ответа, возвращенного функцией Java, использующая триггер APIG.

import java.util.Map;

public HttpTriggerResponse index(String event, Context context){
        String body = "<html><title>FunctionStage</title>"
                + "<h1>This is a simple APIG trigger test</h1><br>"
                + "<h2>This is a simple APIG trigger test</h2><br>"
                + "<h3>This is a simple APIG trigger test</h3>"
                + "</html>";
        int code = 200;
        boolean isBase64 = false;
        Map<String, String> headers = new HashMap<String, String>();
        headers.put("Content-Type", "text/html; charset=utf-8");
        return new HttpTriggerResponse(body, headers, code, isBase64);
    }


class HttpTriggerResponse {
    private String body;
    private Map<String, String> headers;
    private int statusCode;
    private boolean isBase64Encoded;
    public HttpTriggerResponse(String body, Map<String,String> headers, int statusCode, boolean isBase64Encoded){
        this.body = body;
        this.headers = headers;
        this.statusCode = statusCode;
        this.isBase64Encoded = isBase64Encoded;
    }
}
Запустили Evolution free tier
для Dev & Test
Получить