Blogs-Website
Kontaktdaten | [email protected]
Dies ist kein produktionsbereiter Code, sondern eher ein fortgeschrittener POC.
Aus Gründen der Barrierefreiheit verwende ich es, um den Text meines Blogs in Audio umzuwandeln.
Es lädt alle Textdateien im Ordner /text in S3 hoch, wandelt sie in MP3-Dateien um und sendet sie an eine E-Mail-Adresse zurück.
Die E-Mail-Adresse ist in der Datei service/logic/email.py fest codiert und kann geändert werden.
Hier ist ein tiefer Einblick in das Design: https://www.ranthebuilder.cloud/post/serverless-empowers-accessibility-convert-text-to-speech-with-amazon-polly
Wichtig: Stellen Sie sicher, dass Sie SES aktivieren, um E-Mails an die von Ihnen gewählte E-Mail-Adresse zu senden: https://docs.aws.amazon.com/ses/latest/dg/creating-identities.html
Ich wurde inspiriert, eine Lösung für mich selbst zu entwerfen, nachdem ich dieses hervorragende YouTube-Video von Johannes Koch und Jimmy Dahlqvist gesehen hatte.
Für das Service-Design und weitere Informationen schauen Sie sich hier meinen Blog-Beitrag an.
Ablauf der Ereignisse:
Das ist definitiv eine Verbesserung, aber dies war nur ein kurzer POC, um meine persönlichen Bedürfnisse zu automatisieren und ein Codebeispiel für einen Blog-Beitrag bereitzustellen.
In einem Produktionscode sollten Sie eine Schrittfunktions-Zustandsmaschine verwenden, die wartet, bis die Aufgabe abgeschlossen ist.
Für meine Zwecke möchte ich die MP3-Datei auf meine Website hochladen und aus meinem persönlichen AWS-Konto entfernen. Sie können das Verhalten nach Ihren Wünschen ändern.
poetry config --local virtualenvs.in-project true
ausführen, damit alle Abhängigkeiten im Projektordner „.venv“ installiert werden.make dev
auspoetry install
Erstellen Sie einen Cloudformation-Stack, indem Sie make deploy
ausführen.
CDK destroy kann mit make destroy
ausgeführt werden.
Führen Sie make pr
aus. Dieser Befehl führt alle erforderlichen Prüfungen, Pre-Commit-Hooks, Linters, Codeformate, Flake8 und Tests aus, sodass Sie sicher sein können, dass die GitHub-Pipeline erfolgreich ist.
Der Befehl behebt Fehler im Code automatisch für Sie.
Wenn in der Pre-Commit-Phase ein Fehler auftritt, wird dieser automatisch behoben. Es ist jedoch erforderlich, make pr
erneut auszuführen, damit mit den nächsten Schritten fortgefahren werden kann.
Stellen Sie sicher, dass Sie alle Änderungen übernehmen, die make pr
für Sie vornimmt.
CDK benötigt eine „requirements.txt“-Datei, um eine ZIP-Datei mit den Lambda-Layer-Abhängigkeiten zu erstellen. Es basiert auf der Datei „poetry.lock“ des Projekts.
Der Befehl „makeploy“ generiert es automatisch für Sie.
Diese Datei wird während GitHub CI verwendet, um alle erforderlichen Python-Bibliotheken zu installieren, ohne Poesie zu verwenden.
Dateiinhalte werden aus Pipfile.lock erstellt.
make deploy
make deps
-Befehle generieren es automatisch.
Legen Sie eine Textdatei (.txt) im Ordner /text ab. Stellen Sie den CDK-Stack mit dem Befehl „makeploy“ bereit.
Es wird in einen S3-Bucket hochgeladen und in eine MP3-Datei umgewandelt, die Ihnen per E-Mail zugesandt wird.
Die E-Mail-Adresse ist fest codiert und kann in der Datei service/logic/email.py gefunden werden.
Wenn Sie eine neue Datei hinzufügen: Sie können sie entweder direkt in den Bucket hochladen oder sie zum Ordner /text hinzufügen und „makeploy“ ausführen.
Kodexbeiträge sind willkommen. Lesen Sie diesen Leitfaden.
Lesen Sie hier unseren Verhaltenskodex.
Diese Bibliothek ist unter der MIT-Lizenz lizenziert. Siehe die LICENSE-Datei.