put_function_recursion_config¶
Operation¶
put_function_recursion_config
async
¶
put_function_recursion_config(input: PutFunctionRecursionConfigInput, plugins: list[Plugin] | None = None) -> PutFunctionRecursionConfigOutput
Sets your function's recursive loop detection configuration.
When you configure a Lambda function to output to the same service or resource that invokes the function, it's possible to create an infinite recursive loop. For example, a Lambda function might write a message to an Amazon Simple Queue Service (Amazon SQS) queue, which then invokes the same function. This invocation causes the function to write another message to the queue, which in turn invokes the function again.
Lambda can detect certain types of recursive loops shortly after they
occur. When Lambda detects a recursive loop and your function's
recursive loop detection configuration is set to Terminate, it stops
your function being invoked and notifies you.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
input
|
PutFunctionRecursionConfigInput
|
An instance of |
required |
plugins
|
list[Plugin] | None
|
A list of callables that modify the configuration dynamically. Changes made by these plugins only apply for the duration of the operation execution and will not affect any other operation invocations. |
None
|
Returns:
| Type | Description |
|---|---|
PutFunctionRecursionConfigOutput
|
An instance of |
Input¶
PutFunctionRecursionConfigInput
dataclass
¶
Dataclass for PutFunctionRecursionConfigInput structure.
Attributes¶
function_name
class-attribute
instance-attribute
¶
function_name: str | None = None
The name or ARN of the Lambda function.
Name formats
-
Function name --
my-function. -
Function ARN --
arn:aws:lambda:us-west-2:123456789012:function:my-function. -
Partial ARN --
123456789012:function:my-function.
The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.
recursive_loop
class-attribute
instance-attribute
¶
recursive_loop: RecursiveLoop | None = None
If you set your function's recursive loop detection configuration to
Allow, Lambda doesn't take any action when it detects your function
being invoked as part of a recursive loop. We recommend that you only
use this setting if your design intentionally uses a Lambda function to
write data back to the same Amazon Web Services resource that invokes
it.
If you set your function's recursive loop detection configuration to
Terminate, Lambda stops your function being invoked and notifies you
when it detects your function being invoked as part of a recursive loop.
By default, Lambda sets your function's configuration to Terminate.
Warning
If your design intentionally uses a Lambda function to write data back to the same Amazon Web Services resource that invokes the function, then use caution and implement suitable guard rails to prevent unexpected charges being billed to your Amazon Web Services account. To learn more about best practices for using recursive invocation patterns, see Recursive patterns that cause run-away Lambda functions in Serverless Land.
Output¶
PutFunctionRecursionConfigOutput
dataclass
¶
Dataclass for PutFunctionRecursionConfigOutput structure.
Attributes¶
recursive_loop
class-attribute
instance-attribute
¶
recursive_loop: RecursiveLoop | None = None
The status of your function's recursive loop detection configuration.
When this value is set to Allowand Lambda detects your function being
invoked as part of a recursive loop, it doesn't take any action.
When this value is set to Terminate and Lambda detects your function
being invoked as part of a recursive loop, it stops your function being
invoked and notifies you.