博客网站
联系方式 | [email protected]
这不是一个生产就绪的代码,而是一个高级的 POC。
出于可访问性的原因,我使用它将博客的文本转换为音频。
它将 /text 文件夹中的任何文本文件上传到 S3,将它们转换为 .mp3 文件并将它们发送回电子邮件地址。
电子邮件地址硬编码在 service/logic/email.py 文件中并且可以更改。
以下是对设计的深入探讨:https://www.ranthebuilder.cloud/post/serverless-empowers-accessibility-convert-text-to-speech-with-amazon-polly
重要提示:确保您启用 SES 将电子邮件发送到您选择的电子邮件地址 https://docs.aws.amazon.com/ses/latest/dg/creating-identities.html
在看到 Johannes Koch 和 Jimmy Dahlqvist 的这段精彩的 YouTube 视频后,我受到启发,为自己设计了一个解决方案。
有关服务设计和更多信息,请查看我的博客文章。
事件流程:
这绝对是一个改进,但这只是一个快速的 POC,用于自动化我的个人需求并为博客文章提供代码示例。
在生产代码中,您应该使用等待任务完成的步进函数状态机。
根据我的需要,我想将 mp3 文件上传到我的网站并将其从我的个人 AWS 账户中删除。您可以根据需要改变行为。
poetry config --local virtualenvs.in-project true
以便所有依赖项都安装在项目“.venv”文件夹中。make dev
poetry install
通过运行make deploy
创建 cloudformation 堆栈。
CDK destroy 可以与make destroy
一起运行。
运行make pr
。此命令将运行所有必需的检查、预提交挂钩、linter、代码格式、flake8 和测试,因此您可以确保 GitHub 的管道将通过。
该命令会自动为您修复代码中的错误。
如果预提交阶段出现错误,它会自动修复。但是,需要再次运行make pr
,以便继续进行下一阶段。
请务必提交make pr
为您所做的所有更改。
CDK 需要 requests.txt 才能创建包含 Lambda 层依赖项的 zip 文件。它基于项目的诗歌.lock 文件。
``make deploy` 命令会自动为你生成它。
在 GitHub CI 期间使用此文件来安装所有必需的 Python 库,而无需使用诗歌。
文件内容是根据 Pipfile.lock 创建的。
make deploy
make deps
命令自动生成它。
将文本文件 (.txt) 放入 /text 文件夹中。使用“make deploy”命令部署 CDK 堆栈。
它将上传到 S3 存储桶并转换为 mp3 文件通过电子邮件发送给您。
电子邮件地址是硬编码的,可以在 service/logic/email.py 文件中找到。
添加新文件时:您可以直接上传到存储桶,也可以将它们添加到 /text 文件夹并运行“make deploy”。
欢迎贡献代码。阅读本指南。
请在此处阅读我们的行为准则。
该库根据 MIT 许可证获得许可。请参阅许可证文件。