Packages précompilés pour AWS Lambda
Sélénium sur Phantomjs. En fait - un outil prêt à l'emploi pour le grattage Web. Par exemple, la démo ouvre désormais une page aléatoire dans Wikipedia et envoie son en-tête. (Phantomjs en même temps se déguise comme un navigateur normal, sait comment se connecter, cliquer et remplir les formulaires) Ajout de demandes, afin que vous puissiez faire des demandes d'API pour différentes ressources pour éliminer / enlever les informations.
Utile pour les tests Web et le grattage.
La démo actuelle ouvre la page aléatoire de Wiki (https://en.wikipedia.org/wiki/Special:random) et imprime le titre.
git clone https://github.com/ryfeus/lambda-packs.git
cd lambda-packs/Selenium_PhantomJS/source/
serverless deploy
serverless invoke --function main --log
Vous pouvez également voir les résultats du point de terminaison de l'API Gateway dans un navigateur Web.
https://selenium-python.readthedocs.io/
Qu'est-ce que la Lambda a à voir avec cela? En un mot sur AWS dans une région, vous pouvez simultanément exécuter 200 lambdas (plus si vous écrivez pour prendre en charge). Lambda travaille dans 11 régions. Vous pouvez donc exécuter en parallèle plus de 2000 lambdas, chacun effectuera des tests de charge de votre service. Cinq minutes de tels tests ne coûteront qu'un dollar.
La démonstration de ce package essaie d'envoyer des demandes à github.com pendant 5 secondes avec 1 connexion et également effectuer un test factice Pyresttest.
https://github.com/wg/wrk
https://github.com/svanoort/pyresttest
Package pour analyser des pages HTML statiques. La différence ici est qu'il fonctionne plus rapidement et consomme moins de mémoire que PhantomJS mais est limité en termes de sites Web qu'il peut analyser et d'autres fonctionnalités.
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/
Bibliothèque open source pour l'intelligence machine. Fondamentalement, une IA a révolutionné et l'a rendue plus accessible. L'utilisation de TensorFlow sur Lambda n'est pas aussi mauvaise que cela peut le paraître - pour certains modèles simples, c'est le moyen le plus simple et le plus cher de déployer.
Comme Hello World Code, j'ai utilisé la reconnaissance des images formées sur ImageNet (https://www.tensorflow.org/tutorial/image_recognition). Étant donné que le prix Lambda One Run (reconnaissance d'une image) coûtera 0,00005 $. Par conséquent, pour un dollar, vous pouvez reconnaître 20 000 images. Il est beaucoup moins cher que presque toutes les alternatives, bien que complètement évolutif (200 fonctions peuvent être exécutées en parallèle), et peuvent être facilement intégrées dans l'infrastructure cloud. La démo actuelle télécharge l'image à partir du lien 'ImageLink' à partir de la source de l'événement (si vide - puis télécharge https://s3.amazonaws.com/ryfeuslambda/tensorflow/imagenet/cropped_panda.jpg)
TensorFlow 1.4.0
https://www.tensorflow.org/tutorials/image_recognition
L'archive de version nocturne mesure plus de 50 Mo, mais elle est toujours éligible à l'utilisation avec AWS Lambda (bien que vous ayez besoin de télécharger le pack via S3). Pour plus de lecture ici:
https://hackernoon.com/exploration-the-aws-lambda-deployment-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
Pour 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.shPour 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.shRemarque: N'oubliez pas que vous devez définir
python3.6pour un environnement de fonction AWS Lambda.
ARN: AWS: Lambda: US-East-1: 339543757547: Couche: TensorFlow-Pack
Package pour les fans d'apprentissage automatique, de création de modèles et similaires. Je doute qu'il existe un moyen plus pratique de déployer le modèle dans le monde réel.
http://scikit-learn.org/
Paquet d'outils de traitement d'image, et non seulement pour styliser l'image, mais aussi un grand ensemble d'algorithmes de vision par ordinateur.
Il existe actuellement deux packs zippés disponibles, Pack.zip et Pack_nomatplotlib.zip, vous souhaitez probablement utiliser Pack_nomatplotlib.zip. Voir # 5 pour plus d'informations.
Scikit-Image 0.12.3
http://scikit-image.org/
Un autre paquet d'outils de traitement d'image, et non seulement pour styliser l'image, mais aussi un grand ensemble d'algorithmes de vision par ordinateur.
https://pillow.readthedocs.io/
http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_tutorials.html
Package pour les fans des statistiques, des scientifiques des données et des ingénieurs de données. La RAM à Lambda est de 1,5 gigaoctets et le temps de fonctionnement maximal - 5 minutes. Je suis sûr que ce sera suffisant pour la plupart des tâches.
Pandas 0,19.0
http://pandas.pydata.org/
OpenSource Library pour le traitement du langage naturel dans Python.
https://spacy.io/
L'exemple de code charge le modèle de langue de S3 et l'utilise pour analyser la phrase.
Bibliothèque OCR (Optical Character Reconntion) pour la reconnaissance de texte à partir de l'image.
https://github.com/tesseract-ocr/tesseract
Le code "Hello World" dans le package crée un exemple de chaque document. Fondamentalement, ces LIB sont de faible mémoire (moins de 128 Mo) et une vitesse élevée (moins de 0,5 seconde), c'est donc quelque chose comme ~ 1M des documents générés pour 1 $ en termes de tarification AWS Lambda.
AWS Lambda Pack en Python pour traiter l'imagerie satellite. Fondamentalement, il permet de déployer du code Python d'une manière facile et bon marché pour traiter l'imagerie satellite ou les polygones. Dans le code «Hello World» du pack, je télécharge des groupes Red, Green, Blue Landsat 8 de AWS, en fais de la véritable image couleur et téléchargez-la sur S3. Il faut 35 secondes et 824 Mo de RAM pour qu'il ~ 2500 scènes puissent être traités pour 1 $.
Pytorch basé sur Python 3.6
# You need `docker` before run
./build-with-docker.sh