将Serverless中的AWS Lambda事件配置应用于特定的Lambda版本



如果我发送了错误的代码,我想让自己能够回滚我的SQS事件触发的Lambda。

为此,我希望serverless.yml中的SQS事件配置应用于特定lambda版本,而不是默认的$LATEST。我想"固定"一个事件触发到的特定版本的lambda。

这可能吗?基本上,我希望能够做一些类似的事情

myLambda:
handler: src/handler.myLambda
events:
- sqs:
arn: arn:my:sqs:queue
targetVersion: 12 <-- Specific Lambda Version that the event configuration applies to
batchSize: 100
maximumBatchingWindow: 30

我在Serverless事件文档中没有看到类似的内容,但这是非常关键的,它必须存在——对吧?

您可以使用lambda创建一个事件源映射,其中SQS作为事件源。来自文档:

FunctionName
The name of the Lambda function.
FunctionName
The name of the Lambda function.
Name formats
Function name – MyFunction.
Function ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
Version or Alias ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.
Partial ARN – 123456789012:function:MyFunction.
The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 140.
Pattern: (arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-d{1}:)?(d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:($LATEST|[a-zA-Z0-9-_]+))?
Required: Yes

链接到文档:https://docs.aws.amazon.com/lambda/latest/dg/API_CreateEventSourceMapping.html

因此,在函数名称中,您可以将其固定到特定版本的

最新更新