React aws-sdk invokeWithResponseStream

0

Hello, I'm trying to invoke a lambda with ResponseStream using this code, but I get the error following the code:

runStreamLambda(param) {
        try {
            const lambda = new AWS.Lambda();
            const params = {
                Payload: JSON.stringify({ param }),
                FunctionName: 'streamResponse'
            };
            return lambda.invokeWithResponseStream(params).promise();
        } catch (error) {
            throw error;
        }
    }

ERROR
Can't find variable: payload

The interesting part is that if I do this, I get the response just fine:

runStreamLambda(param) {
        try {
            const lambda = new AWS.Lambda();
            const params = {
                Payload: JSON.stringify({ param }),
                FunctionName: 'streamAnswerQuery'
            };
            return lambda.invoke(params).promise(); // invoke instead of invokeWithResponseStream
        } catch (error) {
            throw error;
        }
    }

And if I call the streaming lambda in other ways, it works fine as well (for example calling the Lambda Function URL directly.

Carlo
gefragt vor einem Jahr403 Aufrufe
1 Antwort
1
Akzeptierte Antwort

This is a difference between API URI requests and language-specific AWS SDKs

you are using AWS SDK for Javascript but the invokeWithResponseStreammethod is for WS API URi request.

https://docs.aws.amazon.com/lambda/latest/dg/API_InvokeWithResponseStream.html

profile picture
EXPERTE
beantwortet vor einem Jahr

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen