Validation error in Lambda

0

Hi there,

in a step function tutorial by AWS (https://docs.aws.amazon.com/step-functions/latest/dg/tutorial-get-started-parallel-tasks.html) I am asked to create a Lambda function in Node.js 16.x with this code:

const ssnRegex = /^\d{3}-?\d{2}-?\d{4}$/; const emailRegex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/;

class ValidationError extends Error { constructor(message) { super(message); this.name = "CustomValidationError"; } }

exports.handler = async (event) => { const { ssn, email } = event; console.log(SSN: ${ssn} and email: ${email});

const approved = ssnRegex.test(ssn) && emailRegex.test(email);

if (!approved) {
    throw new ValidationError("Check Identity Validation Failed");
}

return {
    statusCode: 200,
    body: JSON.stringify({
        approved,
        message: `Identity validation ${approved ? 'passed' : 'failed'}`
    })
}

};

The test returns an error though:

Response { "errorType": "CustomValidationError", "errorMessage": "Check Identity Validation Failed", "trace": [ "CustomValidationError: Check Identity Validation Failed", " at Runtime.exports.handler (/var/task/index.js:21:15)", " at Runtime.handleOnceNonStreaming (file:///var/runtime/index.mjs:1085:29)" ] }

Can someone help me?

Moe
gefragt vor einem Jahr376 Aufrufe
1 Antwort
0

Test with these sample values, it should work -

ssn - 111-11-1111 email - fname.lname@domain.com

AWS
beantwortet vor einem Jahr
  • thank you. I don't get where to put the sample values though, sorry. Are sample values necessary to test a lambda function?

  • Yes, they're required. When you test the Lambda function from AWS console, you'll have to pass a test event, the event should look like this -

    { ssn: "111-11-1111", email:"fname.lname@domain.com" }

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