部落格網站
聯絡方式 | [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 許可證獲得許可。請參閱許可證文件。