Paquetes precompilados para AWS Lambda
Selenio en PhantomJs. De hecho, una herramienta preparada para el raspado web. Por ejemplo, la demostración ahora abre una página aleatoria en Wikipedia y envía su encabezado. (PhantomJS al mismo tiempo se disfraza de un navegador normal, sabe cómo iniciar sesión, hacer clic y completar formularios) también agregó solicitudes, por lo que puede realizar solicitudes de API para diferentes recursos para descartar / quitar la información.
Útil para pruebas web y raspado.
La demostración actual abre una página aleatoria de wiki (https://en.wikipedia.org/wiki/special:random) e imprime el título.
git clone https://github.com/ryfeus/lambda-packs.git
cd lambda-packs/Selenium_PhantomJS/source/
serverless deploy
serverless invoke --function main --log
También puede ver los resultados del punto final API Gateway en un navegador web.
https://selenium-python.readthedocs.io/
¿Qué tiene que ver el Lambda con eso? En pocas palabras en AWS en una región, puede ejecutar simultáneamente 200 lambdas (más si escribe para apoyar). Lambda trabaja en 11 regiones. Por lo tanto, puede ejecutar en paralelo a más de 2000 lambdas, cada uno de los cuales realizará pruebas de carga de su servicio. Cinco minutos de tales pruebas costarán solo un dólar.
La demostración en este paquete intenta enviar solicitudes a GitHub.com durante 5 segundos con 1 conexión y también realizar una prueba de ficción PyrestTest.
https://github.com/wg/wrk
https://github.com/svanoort/pyresttest
Paquete para analizar páginas HTML estáticas. La diferencia aquí es que funciona más rápido y consume menos memoria que PhantomJS, pero es limitado en términos sitios web que puede analizar y otras características.
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/
Biblioteca de código abierto para la inteligencia de la máquina. Básicamente revolucionó la IA y la hizo más accesible. El uso de TensorFlow en Lambda no es tan malo como puede parecer: para algunos modelos simples es la forma más simple y barata de implementar.
Como Hello World Code, utilicé el reconocimiento de imágenes entrenadas en ImageNet (https://www.tensorflow.org/tutorials/image_recognition). Dado el precio de Lambda One Run (reconocimiento de una imagen) costará $ 0.00005. Por lo tanto, por un dólar puede reconocer 20,000 imágenes. Es mucho más barato que casi cualquier alternativa, aunque completamente escalable (200 funciones se pueden ejecutar en paralelo) y se pueden integrar fácilmente en la infraestructura de la nube. La demostración actual descarga la imagen del enlace 'imageLink' de la fuente de eventos (si está vacía, luego descarga https://s3.amazonaws.com/ryfeuslambda/tensorflow/imagenet/cropped_panda.jpg)
TensorFlow 1.4.0
https://www.tensorflow.org/tutorials/image_recognition
El archivo de la versión nocturna tiene más de 50 MB de tamaño, pero todavía es elegible para usar con AWS Lambda (aunque necesita cargar el paquete a través de S3). Para más lea aquí:
https://hackernoon.com/exploring-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
para 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.shpara 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.shNota: Recuerde que debe configurar
python3.6para el entorno de función AWS Lambda.
ARN: AWS: Lambda: US-East-1: 339543757547: Capa: TensorFlow-Pack
Paquete para los fanáticos del aprendizaje automático, la construcción de modelos y similares. Dudo que haya una forma más conveniente de implementar el modelo en el mundo real.
http://scikit-learn.org/
Paquete de herramientas de procesamiento de imágenes, y no solo para el estilo de imagen, sino también un gran conjunto de algoritmos de visión por computadora.
Actualmente hay dos paquetes con cremallera disponibles, paquete.zip y pack_nomatplotlib.zip, probablemente desee usar pack_nomatplotlib.zip. Consulte #5 para obtener más información.
Scikit-Image 0.12.3
http://scikit-image.org/
Otro paquete de herramientas de procesamiento de imágenes, y no solo para el estilo de imagen, sino también un gran conjunto de algoritmos de visión por computadora.
https://pillow.readthedocs.io/
http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_tutorials.html
Paquete para fanáticos de estadísticas, científicos de datos e ingenieros de datos. RAM en Lambda es 1.5 gigabytes, y el tiempo de funcionamiento máximo: 5 minutos. Estoy seguro de que eso será suficiente para la mayoría de las tareas.
Pandas 0.19.0
http://pandas.pydata.org/
Biblioteca OpenSource para el procesamiento del lenguaje natural en Python.
https://spacy.io/
Código de ejemplo Carga el modelo de lenguaje de S3 y lo usa para analizar la oración.
Biblioteca OCR (Reconocimiento de caracteres ópticos) para el reconocimiento de texto de la imagen.
https://github.com/tesseract-ocr/tesseract
El código "Hello World" en el paquete crea un ejemplo de cada documento. Básicamente, estas libs son de baja memoria (menos de 128 MB) y alta velocidad (menos de 0.5 segundos), por lo que es algo así como ~ 1 millones de documentos generados por 1 $ en términos de precios de AWS Lambda.
AWS Lambda Pack en Python para procesar imágenes satelitales. Básicamente, permite implementar el código Python de una manera fácil y barata para procesar imágenes o polígonos satelitales. En el código "Hello World" del paquete, descarto bandas Red, Green, Blue Landsat 8 de AWS, haga una verdadera imagen en color y la subo a S3. Se necesitan 35 segundos y 824 MB de RAM para, por lo que se pueden procesar ~ 2500 escenas por 1 $.
Pytorch con sede en Python 3.6
# You need `docker` before run
./build-with-docker.sh