Vorkompilierte Pakete für AWS Lambda
Selen auf Phantomjs. In der Tat - ein fertiges Tool für Web -Scraping. Zum Beispiel öffnet die Demo nun eine zufällige Seite in Wikipedia und sendet ihren Kopfball. (Phantomjs gleichzeitig verkleidet sich selbst als normaler Browser und weiß, wie man sich anmeldet, auf Formulare klickt und ausfüllt.) Auch Anfragen, sodass Sie API -Anfragen nach verschiedenen Ressourcen durchführen können, um die Informationen zu verwerfen / wegzunehmen.
Nützlich für Webtests und Kratzen.
Die aktuelle Demo öffnet eine zufällige Seite von Wiki (https://en.wikipedia.org/wiki/special:random) und druckt den Titel.
git clone https://github.com/ryfeus/lambda-packs.git
cd lambda-packs/Selenium_PhantomJS/source/
serverless deploy
serverless invoke --function main --log
Sie können auch die Ergebnisse des API -Gateway -Endpunkts in einem Webbrowser sehen.
https://selenium-python.readthedocs.io/
Was hat die Lambda damit zu tun? Kurz gesagt, Sie können in einer Region gleichzeitig 200 Lambdas ausführen (mehr, wenn Sie zur Unterstützung schreiben). Lambda arbeitet in 11 Regionen. Sie können also parallel mehr als 2000 Lambdas laufen, von denen jedes Lasttest Ihres Dienstes durchführt. Fünf Minuten solcher Tests kosten nur einen Dollar.
Demo in diesem Paket versucht, Anfragen für 5 Sekunden mit 1 Verbindung an Github.com zu senden und auch Pyrestest Dummy -Test durchzuführen.
https://github.com/wg/wrk
https://github.com/svanoort/pyrestest
Paket zum Parsen statischer HTML -Seiten. Der Unterschied besteht darin, dass es schneller funktioniert und weniger Speicher als Phantomjs verbraucht, aber in Bezug auf Websites, die sie analysieren können, und andere Funktionen begrenzt sind.
serverless install -u https://github.com/ryfeus/lambda-packs/tree/master/Lxml_requests/source -n lxml-requests
cd lxml-requests
serverless deploy
serverless invoke --function main --log
wget https://github.com/ryfeus/lambda-packs/blob/master/Lxml_requests/buildPack.sh
docker pull amazonlinux:latest
docker run -v $(pwd):/outputs --name lambdapackgen -d amazonlinux:latest tail -f /dev/null
docker exec -i -t lambdapackgen /bin/bash /outputs/buildPack.sh
LXML 3.7.1
http://lxml.de/
Open Source -Bibliothek für Machine Intelligence. Grundsätzlich revolutionierte KI und machte sie zugänglicher. Die Verwendung von Tensorflow auf Lambda ist nicht so schlimm, wie es klingen mag - für einige einfache Modelle ist es der einfachste und billigste Weg zum Bereitstellen.
Als Hello World Code habe ich die Erkennung von Bildern verwendet, die auf ImageNet trainiert wurden (https://www.tensorflow.org/tutorials/image_recognition). Angesichts des Preisschilds kostet Lambda One Run (Erkennung eines Bildes) 0,00005 USD. Daher können Sie für einen Dollar 20.000 Bilder erkennen. Es ist viel billiger als fast alle Alternativen, obwohl vollständig skalierbar (200 Funktionen können parallel ausgeführt werden) und leicht in die Cloud -Infrastruktur integriert werden können. Aktuelle Demo lädt das Bild aus dem Link 'Imagelink' aus der Ereignisquelle herunter (falls leer - dann https://s3.amazonaws.com/ryfeuslambda/tensorflow/imagenet/cropped_panda.jpg) heruntergeladen
Tensorflow 1.4.0
https://www.tensorflow.org/tutorials/image_recognition
Das Nacht -Versionsarchiv hat mehr als 50 MB, aber es ist immer noch zur Verwendung mit AWS Lambda (obwohl Sie Pack über S3 hochladen müssen). Weitere Lektüre hier:
https://hackernoon.com/exploring-the-aws-lambdadeployment-limits-9a8384b0bec3
serverless install -u https://github.com/ryfeus/lambda-packs/tree/master/tensorflow/source -n tensorflow
cd tensorflow
serverless deploy
serverless invoke --function main --log
für Python2:
wget https://raw.githubusercontent.com/ryfeus/lambda-packs/master/Tensorflow/buildPack.sh
wget https://raw.githubusercontent.com/ryfeus/lambda-packs/master/Tensorflow/index.py
docker pull amazonlinux:latest
docker run -v $( pwd ) :/outputs --name lambdapackgen -d amazonlinux:latest tail -f /dev/null
docker exec -i -t lambdapackgen /bin/bash /outputs/buildPack.shfür Python3:
wget https://raw.githubusercontent.com/ryfeus/lambda-packs/master/Tensorflow/buildPack_py3.sh
wget https://raw.githubusercontent.com/ryfeus/lambda-packs/master/Tensorflow/index_py3.py
docker pull amazonlinux:latest
docker run -v $( pwd ) :/outputs --name lambdapackgen -d amazonlinux:latest tail -f /dev/null
docker exec -i -t lambdapackgen /bin/bash /outputs/buildPack_py3.shHinweis: Denken Sie daran, Sie sollten
python3.6für die AWS Lambda -Funktionsumgebung festlegen.
ARN: AWS: Lambda: US-East-1: 339543757547: Schicht: TensorFlow-Pack
Paket für Fans von maschinellem Lernen, Erstellen von Modellen und dergleichen. Ich bezweifle, dass es eine bequemere Möglichkeit gibt, ein Modell für die reale Welt bereitzustellen.
http://scikit-learn.org/
Paket von Image -Verarbeitungswerkzeugen und nicht nur zum Stil von Image, sondern auch zu einem großen Satz von Computer -Vision -Algorithmen.
Derzeit sind zwei Reißverschlusspakete erhältlich, pack.zip und pack_nomatplotlib.zip. Sie möchten wahrscheinlich pack_nomatplotlib.zip verwenden. Weitere Informationen finden Sie in #5.
Scikit-Image 0.12.3
http://scikit-image.org/
Ein weiteres Paket von Image -Verarbeitungswerkzeugen und nicht nur zum Stil von Images, sondern auch für einen großen Satz von Computer -Vision -Algorithmen.
https://pillow.readthedocs.io/
http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_tutorials.html
Paket für Lüfter von Statistiken, Datenwissenschaftlern und Dateningenieuren. Der RAM bei Lambda beträgt 1,5 Gigabyte und die maximale Betriebszeit - 5 Minuten. Ich bin sicher, das wird für die meisten Aufgaben ausreichen.
Pandas 0.19.0
http://pandas.pydata.org/
OpenSource -Bibliothek für die Verarbeitung natürlicher Sprache in Python.
https://spacy.io/
Beispiel Code lädt das Sprachmodell von S3 und analysiert den Satz.
OCR -Bibliothek (optische Charaktererkennung) zur Texterkennung aus dem Bild.
https://github.com/tesseract-ocr/tesseract
Der Code "Hello World" im Paket erstellt ein Beispiel für jedes Dokument. Grundsätzlich sind diese LIBs ein niedriger Speicher (weniger als 128 MB) und hohe Geschwindigkeit (weniger als 0,5 Sekunden), daher sind es ungefähr ~ 1 M -Dokumente, die pro 1 $ in Bezug auf die AWS -Lambda -Preise generiert werden.
AWS Lambda Pack in Python zur Verarbeitung von Satellitenbildern. Grundsätzlich können Python -Code auf einfache und billige Weise für die Verarbeitung von Satellitenbildern oder Polygonen bereitgestellt werden. In "Hello World" -Code des Pakets lade ich rote, grüne, blaue Landsat -8 -Bands von AWS herunter, machen Sie es aus dem Farbbild und laden Sie es auf S3 hoch. Es dauert 35 Sekunden und 824 MB RAM, sodass ~ 2500 Szenen für 1 $ verarbeitet werden können.
Python 3.6 Basis Pytorch
# You need `docker` before run
./build-with-docker.sh