Ich habe Node.js und Python beim Erstellen eines Miniaturbilds mit AWS Lambda verglichen

Ich habe untersucht, welches Framework, Node.js oder Python, für die Erstellung von Miniaturansichten mit AWS Lambda besser geeignet ist.

TL;DR

Experimentelles Szenario

  1. Laden Sie Fotos von S3 herunter
  2. Korrigieren Sie die Drehung, indem Sie den Orientierungswert von Exif betrachten.
  3. Ermitteln Sie die Werte für Breite und Höhe nach der Rotationskorrektur
  4. Ändern Sie die Größe auf 50% und laden Sie sie auf S3 hoch

Bild eingeben

Ausgabebild

Lambda-Funktionsspezifikationen

Versuchsergebnis

Ergebnisse der jeweils fünfmaligen Ausführung auf der AWS-Konsole

Node.js Python
Verarbeitungszeit(ms) 10500 - 12375 3214 - 3727

Infolgedessen hat Python eine überwiegend kürzere Verarbeitungszeit. Die maximal verwendete Speichergröße war in Python ebenfalls kleiner.

Wenn Sie also mit AWS Lambda Miniaturansichten erstellen möchten, ist es anscheinend besser, Python als Node.js zu verwenden.

Erstellen von Miniaturansichten in Python

ImageMagick (GraphicMagicks) war von Anfang an für Node.js verfügbar, und es gibt viele Beispielprogramme und Artikel, aber Python verfügt nicht über viele Informationen. Als ich Pillow, eine Bildverarbeitungsbibliothek in Python, auf EC2 unter Bezugnahme auf Folgendes erstellte, war es überraschend einfach, mit Lambda Miniaturansichten zu erstellen.

Der in diesem Experiment verwendete Code befindet sich unter hier. Das vorgefertigte Kissen ist auch im Repository enthalten. Dies kann hilfreich sein, wenn Sie mit AWS Lambda x Python schnell ein Miniaturbild erstellen möchten.

Recommended Posts

Ich habe Node.js und Python beim Erstellen eines Miniaturbilds mit AWS Lambda verglichen
[Python] Ich habe eine REST-API mit AWS API Gateway und Lambda geschrieben.
[Python] Scraping in AWS Lambda
Ich habe Java und Python verglichen!
Zusammenfassung bei Verwendung von AWS Lambda (Python)
Schreiben Sie die AWS Lambda-Funktion in Python
[AWS] Verwenden von INI-Dateien mit Lambda [Python]
Hinweise zur Verwendung von cChardet und python3-chardet in Python 3.3.1.
Ich habe Python3 Standard Argparse und Python-Fire verglichen
Einfache Serverüberwachung mit AWS Lambda (Python) und Ergebnisbenachrichtigung mit Slack
Ich habe Dash und Streamlit in der Docker-Umgebung anhand von B-League-Daten verglichen
Ich habe versucht, Web-Scraping mit Python und Selen
Unterschiede zwischen queryStringParameters und multiValueQueryStringParameters in AWS Lambda
Ich habe versucht, Objekte mit Python und OpenCV zu erkennen
Erstellen eines Nummerierungsprozesses mit Python im lokalen DynamoDB-Nummerierungsprozess
Python: Ich konnte in Lambda rekursieren
Ich habe eine Klasse in Python3 und Java geschrieben
Ich habe "Python Dictionary Type" und "Excel Function" verglichen.
Amazon API Gateway und AWS Lambda Python-Version
Versuchen Sie, die ChatWork-API und die Qiita-API in Python zu verwenden
Ich habe die Referenzgeschwindigkeit überprüft, wenn ich Python-Liste, Wörterbuch und Set-Typ verwendet habe.
Entwickeln, Ausführen und Bereitstellen von AWS Lambda remote mit dem Lambda-Uploader
Dynamische HTML-Seiten mit AWS Lambda und Python
Grundlagen des Eingabe- / Ausgabebildschirms mit tkinter in python3
Ich habe versucht, Google Test und CMake in C zu verwenden
Versuchen Sie, eine komprimierte Datei mit Python und zlib zu erstellen
[AWS IoT] Registrieren Sie Dinge in AWS IoT mithilfe des AWS IoT Python SDK
Ich habe versucht, TradeWave zu verwenden (BitCoin-Systemhandel in Python)
Ich habe Selen und kopfloses Chrom in AWS Lambda gegeben. (Hinweise unter Win10-Umgebung usw.)
Überprüfen Sie types_map, wenn Sie Mimetypen mit AWS Lambda (Python) verwenden.
Ich habe die Geschwindigkeit der Referenz des Pythons in der Liste und die Referenz der Wörterbucheinbeziehung aus der In-Liste verglichen.
Ich habe versucht, mit AWS Lambda einen AMI zu erhalten
Ich möchte Lambda mit Python auf Mac AWS!
Lesen und schreiben Sie NFC-Tags mit Python mit PaSoRi
[Python] Memo zur erneuten Verarbeitung (Exponential Backoff) in AWS Lambda
AWS Lambda unterstützt jetzt Python, also habe ich es versucht
Machen Sie mit AWS Lambda und Python gewöhnliche Tweets flottenartig
Python: Kann in Lambda wiederholt werden
Ich habe Python more-itertools 2.5 → 2.6 verglichen
Ich habe den Dollar-Yen mit der k-medoids-Methode in Python geclustert und die richtige Antwortrate gefunden.
Ich habe versucht, mit Python Modebilder und Textsätze zu [kratzen].
Versuchen Sie es mit GUI, PyQt in Python
Ich habe einen Fehler in vim oder zsh in der Python 3.7-Serie
Ich habe einen schnellen Feed-Reader mit Feedparser in Python erstellt
Was ich über KI / maschinelles Lernen mit Python gelernt habe (4)
Ein Hinweis beim Erstellen eines gerichteten Diagramms mit Graphviz in Python
Sammeln Sie Tweets mit tweepy in Python und speichern Sie sie in MongoDB
Ich habe versucht, den Chi-Quadrat-Test in Python und Java zu programmieren.
Ich habe eine Klasse in Python erstellt und versucht, Enten zu tippen
Prognostizieren Sie das Geschlecht anhand des Namens mithilfe der Gender-API und von Pykakasi in Python
Zeichnen Sie Zeitreihendaten in Python mit Pandas und Matplotlib
Ich habe eine Stoppuhr mit tkinter mit Python gemacht
Erstellen Sie mit AWS SAM schnell eine API mit Python, Lambda und API Gateway
Ich habe Chatbot mit LINE Messaging API und Python erstellt
Site-Überwachung und Alarmbenachrichtigung mit AWS Lambda + Python + Slack
Ich habe Python auf Japanisch geschrieben
Generieren Sie in Python ein abgerundetes Miniaturbild
Web Scraping mit AWS Lambda