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
질문됨 일 년 전404회 조회
1개 답변
1
수락된 답변

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
전문가
답변함 일 년 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠