Skip to content

Commit 421c0d0

Browse files
authored
Allow lazy function invocation to target version/alias (#679)
* Allow lazy function invocation to target version/alias * Updating test to properly mock function ARN
1 parent 208992c commit 421c0d0

File tree

3 files changed

+3
-1
lines changed

3 files changed

+3
-1
lines changed

slack_bolt/adapter/aws_lambda/handler.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ def handle(self, event, context):
5656
# https://docs.aws.amazon.com/lambda/latest/dg/python-context.html
5757
aws_lambda_function_name = context.function_name
5858
bolt_req.context["aws_lambda_function_name"] = aws_lambda_function_name
59+
bolt_req.context["aws_lambda_invoked_function_arn"] = context.invoked_function_arn
5960
bolt_req.context["lambda_request"] = event
6061
bolt_resp = self.app.dispatch(bolt_req)
6162
aws_response = to_aws_response(bolt_resp)

slack_bolt/adapter/aws_lambda/lazy_listener_runner.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def start(self, function: Callable[..., None], request: BoltRequest) -> None:
2323
headers["x-slack-bolt-lazy-function-name"] = request.lazy_function_name # not an array
2424
event["method"] = "NONE"
2525
invocation = self.lambda_client.invoke(
26-
FunctionName=request.context["aws_lambda_function_name"],
26+
FunctionName=request.context["aws_lambda_invoked_function_arn"],
2727
InvocationType="Event",
2828
Payload=json.dumps(event),
2929
)

tests/adapter_tests/aws/test_aws_lambda.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ class LambdaContext:
2525

2626
def __init__(self, function_name: str):
2727
self.function_name = function_name
28+
self.invoked_function_arn = f'arn:aws:lambda:us-east-1:account-id:function:{self.function_name}'
2829

2930

3031
class TestAWSLambda:

0 commit comments

Comments
 (0)