0

I already have a simple stored procedure in cosmos db container which has partition.

function helloWorld() {
            var context = getContext();
            var response = context.getResponse();
            response.setBody("Hello World");
}

I am calling it from Azure function.

const { response } = await container.scripts.storedProcedure("helloWorld").execute("1001831197");
console.log(response)

The response gives undefined even though my partition key is correct.

José Pedro
  • 1,097
  • 3
  • 14
  • 24
sap
  • 1

1 Answers1

0

execute is async function, if you want to get this function's response , you need use Promise. You can refer this question's answer:How to "await" for a callback to return?

The code you can refer this answer:How to execute the cosmos db stored procedure in nodejs?

I create a http trigger for test and it can work fine:

import { AzureFunction, Context, HttpRequest } from "@azure/functions"

const httpTrigger: AzureFunction = async function (context: Context, req: HttpRequest): Promise<void> {
    context.log('HTTP trigger function processed a request.');
    const name = (req.query.name || (req.body && req.body.name));
    
    const response = await executeSprocInternal("getData", "success");
    console.log(response);

    const responseMessage = name
        ? "Hello, " + name + ". This HTTP triggered function executed successfully."
        : "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response";

    context.res = {
        // status: 200, /* Defaults to 200 */
        body: responseMessage
    };
    console.log("over")
};

Console: enter image description here

Steve Johnson
  • 8,057
  • 1
  • 6
  • 17