Create a simple REST API with these endpoints:
| Method | Path | Purpose |
|---|---|---|
POST | /upload-url | Generate a pre-signed S3 upload URL |
POST | /jobs | Create a processing job after upload |
GET | /jobs/{jobId} | Retrieve job status and result |
The upload URL Lambda should:
jobId.uploads/.Example response:
{
"jobId": "job-20260512-001",
"uploadUrl": "https://s3-presigned-url-example",
"s3Key": "uploads/job-20260512-001/sample.txt"
}
The create job Lambda should:
UPLOADED.jobId and current status.Example response:
{
"jobId": "job-20260512-001",
"status": "UPLOADED",
"message": "Processing workflow started"
}
The result Lambda should:
COMPLETED, return the report location or report content.FAILED, return the failure reason.Use a transcript file first because it avoids audio transcription variables:
aws s3 cp sample_conversation.txt s3://<bucket-name>/uploads/job-test/sample_conversation.txt
Then create a manual DynamoDB test item or trigger the /jobs API and confirm that the job appears in the table.