Created
August 5, 2020 23:08
-
-
Save troyready/9b262df23ad2c79b5bffa2ceed8768d6 to your computer and use it in GitHub Desktop.
Creating Test AWS Lambda via awscli
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
mkdir lambdatest && cd lambdatest | |
pip3 install elasticsearch requests_aws4auth -t ./ | |
touch __init__.py | |
touch packages/__init__.py | |
cat << EOF > lambdatest.py | |
from packages.elasticsearch import Elasticsearch, RequestsHttpConnection | |
from packages.requests_aws4auth import AWS4Auth | |
def handler(event, context): | |
print('invoked') | |
return 'invoked' | |
EOF | |
zip -r package.zip . -x "*.git*" | |
aws iam create-role \ | |
--role-name lambdatest \ | |
--assume-role-policy-document '{"Version": "2012-10-17", "Statement": [{"Effect": "Allow", "Principal": {"Service": "lambda.amazonaws.com"}, "Action": "sts:AssumeRole"}]}' | |
aws iam attach-role-policy \ | |
--role-name lambdatest \ | |
--policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole | |
aws lambda create-function \ | |
--region us-west-2 \ | |
--function-name lambdatest \ | |
--runtime python3.7 \ | |
--zip-file fileb://package.zip \ | |
--handler lambdatest.handler \ | |
--role arn:aws:iam::$(aws sts get-caller-identity --query 'Account' --output text):role/lambdatest | |
aws lambda invoke \ | |
--region us-west-2 \ | |
--function-name lambdatest \ | |
--payload '{ "foo": "bar" }' \ | |
/dev/stdout | |
aws lambda delete-function --region us-west-2 --function-name lambdatest | |
aws iam detach-role-policy \ | |
--role-name lambdatest \ | |
--policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole | |
aws iam delete-role --role-name lambdatest | |
aws logs delete-log-group \ | |
--region us-west-2 \ | |
--log-group-name '/aws/lambda/lambdatest' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment