L’interface RequestStreamHandler RequestStreamHandler
La deuxième interface qui peut être implémentée par une fonction Lambda en Java est RequestStreamHandler. Sa particularité consiste dans le fait que, sa méthode handleRequest() prend un flux d’entrée, permettant de lire les valeurs à traiter, et un flux de sortie permettant d’écrire les résultats du traitement. Contrairement à cette dernière, la méthode homologue de la classe RequestHandler prend comme paramètres directement les valeurs d’entrée à passer à la fonction pour traitement et renvoie en retour le résultat de ce traitement.
Notre projet Java servant à illustrer ce chapitre contient également une fonction Lambda qui implémente cette interface. En voici le listing :
package fr.simplex_software.aws.lambda.functions;
import com.amazonaws.services.lambda.runtime.*;
import javax.json.bind.*;
import java.io.*;
import java.nio.charset.*;
import java.util.*;
public class Chapter3StreamFunction implements RequestStreamHandler
{
@Override
public void handleRequest(InputStream inputStream, OutputStream
outputStream, Context context) throws IOException
{
LambdaLogger logger = context.getLogger();
Jsonb jsonb = JsonbBuilder.create(new JsonbConfig().withFormatting(true));
try...