The integration is real now — the function runs, reaches DynamoDB, and fails there, because existing doesn't mean permitted.
The integration is real now, so API Gateway actually invokes the function — and the function runs, reaches the line that reads DynamoDB, and fails there. A Lambda function's own existence doesn't grant it anything; the only permissions it has are whatever its execution role was actually given.
Locked
This exercise builds on Fixing a Mock integration — run synth & validate there until every assertion passes, then this code will unlock.
Go to Fixing a Mock integration