Change into our working directory:
$ mkdir -p myworkdir/src
$ cd myworkdir
Create a virtual env:
virtualenv -p python3 .venv
source .venv/bin/activate
Change into the src directory:
$ cd src
Our function:
$ cat lambda_function.py
import elasticsearch
def lambda_handler(event, context)
es_version = elasticsearch.__version__
print(es_version)
return {"statusCode": 200, "body": json.dumps(body)}
Install the dependencies locally:
$ pip install elasticsearch -t .
Now our working directory will look like this:
$ tree .
.
├── lambda_function.py
├── elasticsearch
│ ├── __init__.py
....
1 directory, 2 files
Zip up the deployment package:
$ zip -r deployment_package.zip *
Update the lambda function code:
$ aws --profile dev lambda update-function-code --function-name $fn --zip-file fileb://deployment_package.zip