К сожалению, подстановочные знаки здесь невозможны.
Определение потоков как лямбда-входа в Serverless приводит к CloudFormation, который выглядит следующим образом:
"MyLambdaEventSourceMappingDynamodbOrdersTable": {
"Type": "AWS::Lambda::EventSourceMapping",
"DependsOn": "MyLambdaIamRoleLambdaExecution",
"Properties": {
"BatchSize": 10,
"EventSourceArn": {
"Fn::GetAtt": [
"OrdersTable",
"StreamArn"
]
},
"FunctionName": {
"Fn::GetAtt": [
"MyLambdaLambdaFunction",
"Arn"
]
},
"StartingPosition": "TRIM_HORIZON",
"Enabled": "True",
"MaximumBatchingWindowInSeconds": 60
}
},
Ресурс типа AWS::Lambda::EventSourceMapping
использует свойство EventSourceArn
для указания одного источника согласно документации .
Вы можете добавить новые сопоставления источника событий программным путем, написав другую функцию Lambda, которая принимает CloudWatch событие в качестве входных данных при создании новой таблицы, а затем добавляет EventSourceMapping для этой таблицы в вашу лямбда-функцию.
Это, вероятно, будет иметь пределы масштабирования, поскольку число отображений источника событий на лямбду, скорее всего, ограничено (хотя Я не мог найти номер).