This repository provides an example of how to load data into an AWS ElasticSearch cluster, using SQS and Lambda.
- elasticsearch-indexer-lambda/ : AWS Lambda written in Python, adds documents to ElasticSearch
- terraform/ : configuration files for creating AWS infrastructure (ElasticSearch, SQS queue, Lambda)
- docker-compose.yml : for running and testing locally
install-lambda-dependencies.sh
docker-compose up -d elasticsearch kibana
./docker-invoke-lambda.sh
docker-compose run terraform-runner apply
aws sqs send-message --queue-url $QUEUE_URL --message-body "Howdy, world"
aws logs filter-log-events --log-group-name '/aws/lambda/elasticsearch_indexer_lambda'
To delete all of the AWS resources:
docker-compose run terraform-runner destroy