Pacotes pré -compilados para AWS Lambda
Selênio em fantasmas. De fato - uma ferramenta pronta para raspar a web. Por exemplo, a demonstração agora abre uma página aleatória na Wikipedia e envia seu cabeçalho. (Phantomjs, ao mesmo tempo, se disfarça como um navegador normal, sabe como fazer login, clicar e preencher os formulários) também adicionou solicitações, para que você possa fazer solicitações de API para diferentes recursos para descartar / retirar as informações.
Útil para testes e raspagem na Web.
A demonstração atual abre a página aleatória do wiki (https://en.wikipedia.org/wiki/special:random) e imprime o título.
git clone https://github.com/ryfeus/lambda-packs.git
cd lambda-packs/Selenium_PhantomJS/source/
serverless deploy
serverless invoke --function main --log
Você também pode ver os resultados do endpoint da API Gateway em um navegador da web.
https://selenium-python.readthedocs.io/
O que o Lambda tem a ver com isso? Em poucas palavras na AWS, em uma região, você pode executar simultaneamente 200 lambdas (mais se escrever para suporte). Lambda trabalha em 11 regiões. Assim, você pode executar em paralelo mais de 2000 lambdas, cada um dos quais realizará testes de carga do seu serviço. Cinco minutos desses testes custarão apenas um dólar.
A demonstração deste pacote tenta enviar solicitações ao github.com por 5 segundos com 1 conexão e também realizar o teste dummy pyresttest.
https://github.com/wg/wrk
https://github.com/svanoort/pyresttest
Pacote para analisar páginas HTML estáticas. A diferença aqui é que ele funciona mais rápido e consome menos memória que os fantasmas, mas é limitado em termos de sites que ele pode analisar e outros recursos.
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 aberto para inteligência de máquina. Basicamente revolucionou a IA e a tornou mais acessível. O uso do TensorFlow no Lambda não é tão ruim quanto pode parecer - para alguns modelos simples, é a maneira mais simples e mais barata de implantar.
Como Hello World Code, usei o reconhecimento de imagens treinadas no ImageNet (https://www.tensorflow.org/tutorials/image_recognition). Dado o preço do Lambda One Run (reconhecimento de uma foto) custará US $ 0,00005. Portanto, por um dólar, você pode reconhecer 20.000 imagens. É muito mais barato do que quase todas as alternativas, embora completamente escalável (200 funções possam ser executadas em paralelo) e podem ser facilmente integradas à infraestrutura da nuvem. A demonstração atual downloads de imagem do link 'ImageLink' da fonte do evento (se vazio - depois baixará https://s3.amazonaws.com/ryfeuslambda/tensorflow/imageNet/cropped_panda.jpg)
Tensorflow 1.4.0
https://www.tensorflow.org/tutorials/image_recognition
O arquivo de versão noturna tem mais de 50 MB de tamanho, mas ainda é elegível para usar com a AWS Lambda (embora você precise fazer upload do pacote no S3). Para mais leitura aqui:
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: Lembre -se de que você deve definir
python3.6para o ambiente da função da AWS Lambda.
ARN: AWS: Lambda: EUA-East-1: 339543757547: Camada: Tensorflow-Pack
Pacote para fãs de aprendizado de máquina, modelos de construção e similares. Duvido que exista uma maneira mais conveniente de implantar o modelo no mundo real.
http://scikit-learn.org/
Pacote de ferramentas de processamento de imagens, e não apenas para estilizar a imagem, mas também um grande conjunto de algoritmos de visão computacional.
Atualmente, existem dois pacotes com zíper disponíveis, pack.zip e pack_nomatplotlib.zip, você provavelmente deseja usar pack_nomatplotlib.zip. Consulte #5 para obter mais informações.
Scikit-Image 0,12.3
http://scikit-image.org/
Outro pacote de ferramentas de processamento de imagem, e não apenas para estilizar a imagem, mas também um grande conjunto de algoritmos de visão computacional.
https://pillow.readthedocs.io/
http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_tutorials.html
Pacote para fãs de estatísticas, cientistas de dados e engenheiros de dados. A RAM em Lambda é de 1,5 gigabytes e o tempo de operação máximo - 5 minutos. Tenho certeza de que isso será suficiente para a maioria das tarefas.
Pandas 0,19.0
http://pandas.pydata.org/
OpenSource Biblioteca para processamento de linguagem natural em Python.
https://spacy.io/
Exemplo de código carrega o Modelo de Idioma do S3 e o usa para analisar a frase.
Biblioteca OCR (Optical Caractering Reconhecimento) para reconhecimento de texto da imagem.
https://github.com/tesseract-ocr/tesseract
O código "Hello World" no pacote cria um exemplo de cada documento. Basicamente, esses LIBs são baixa memória (menos de 128 MB) e alta velocidade (menos de 0,5 segundos), por isso é algo como ~ 1M de documentos gerados por 1 $ em termos de preços da AWS Lambda.
AWS Lambda Pack em Python para processar imagens de satélite. Basicamente, ele permite implantar código Python de maneira fácil e barata para processar imagens de satélite ou polígonos. No código “Hello World” do pacote, baixo as bandas vermelhas, verdes e azuis de 8 bandas da AWS, faço uma verdadeira imagem colorida e carrego para S3. Demora 35 segundos e 824 MB de RAM, para que ~ 2500 cenas podem ser processadas por 1 $.
Python 3.6 baseado em Pytorch
# You need `docker` before run
./build-with-docker.sh