On premises micro service to manage keys in AWS -- 2
Budget: €18 – €36 EUR
Goal
- Develop a Web API and Worker capability to transcribe audio using AWS Beanstalk, AWS Cognito, AWS Aurora and AWS S3
Components
- An authentication layer that enables users to authenticate using OAuth
- A Web API that allows users to issue transcription orders, check their status and get their results
- A message bus that will queue and distribute transcription jobs for workers
- A storage unit that will store audios and transcription text files
- A Worker unit that will transcribe audios and store the results in the storage unit
- A SQL database that keeps track of status of all jobs and the location of the results
Programming Language and Frameworks
- Python 3.11
- FastAPI
- OpenAPI
General Workflow
1. A client authenticates and requests an audio transcription by providing access to an audio file URI or uploading an audio file
2. The API will store the file in a local temporary S3 bucket and send a message to a Worker using the message bus (AWS SQS)
3. The worker will pick up the audio file, run the transcription and store the results in a text file in an S3 bucket
4. The client will poll the API from time to time to check for the job status
5. Once the job is completed the API will provide the S3 URI for the transcription file
6. The client will then consume the file
More information to be found in the attached file
- Develop a Web API and Worker capability to transcribe audio using AWS Beanstalk, AWS Cognito, AWS Aurora and AWS S3
Components
- An authentication layer that enables users to authenticate using OAuth
- A Web API that allows users to issue transcription orders, check their status and get their results
- A message bus that will queue and distribute transcription jobs for workers
- A storage unit that will store audios and transcription text files
- A Worker unit that will transcribe audios and store the results in the storage unit
- A SQL database that keeps track of status of all jobs and the location of the results
Programming Language and Frameworks
- Python 3.11
- FastAPI
- OpenAPI
General Workflow
1. A client authenticates and requests an audio transcription by providing access to an audio file URI or uploading an audio file
2. The API will store the file in a local temporary S3 bucket and send a message to a Worker using the message bus (AWS SQS)
3. The worker will pick up the audio file, run the transcription and store the results in a text file in an S3 bucket
4. The client will poll the API from time to time to check for the job status
5. Once the job is completed the API will provide the S3 URI for the transcription file
6. The client will then consume the file
More information to be found in the attached file