I have simple lambda function that is located under following endpoint:
https://******.execute-api.eu-west-2.amazonaws.com/lambda/add?x=1&y=2
AWS Chalice was used for adding simple endpoints here.
@app.route('/{exp}', methods=['GET'])
def add(exp):
app.log.debug("Received GET request...")
request = app.current_request
app.log.debug(app.current_request.json_body)
x = request.query_params['x']
y = request.query_params['y']
if exp == 'add':
app.log.debug("Received ADD command...")
result = int(x) + int(y)
return {'add': result}
Basically, it checks if the path
is equal to add
and sums two values from query_params
.
Now, I am trying to invoke this lambda in another lambda.
My question:
How I can pass the path
and query_params
to my original lambda function using boto3 lambda client?
What I have tried so far:
I added two lines to policy.json
file that allow me to invoke original function.
I saw a lot of similar question on StackOverflow, but most of them pass payload as a json.
@app.route('/')
def index():
lambda_client = boto3.client('lambda')
invoke_response = lambda_client.invoke(
FunctionName="function-name",
InvocationType="RequestResponse"
)
app.log.debug(invoke_response['Payload'].read())
Thank you in advance!