问题描述
我有很多 Lambda,我想在 AWS Cloudformation 中使用 AWS::Logs::LogGroup 为所有这些设置日志保留策略,但我看到的唯一示例为每个设置了 LogGroupName。是否可以使用通配符或无需指定每个 Lambda 函数为所有 Lambdas 日志设置保留策略?
我试过了:
LambdaLogGroup:
Type: AWS::Logs::LogGroup
Properties:
LogGroupName: '/aws/lambda/*'
RetentionInDays: 14
然而,这不出所料地无法部署(堆栈失败)并出现以下错误:"Model validation failed (#/LogGroupName: failed validation constraint for keyword [pattern])"。
我也试过:
LambdaLogGroup:
Type: AWS::Logs::LogGroup
Properties:
LogGroupName: /aws/lambda/
RetentionInDays: 14
然而,这只为顶层设置策略,而不是为任何单个 Lambda 设置。
解决方法
遗憾的是,它在普通 CFN 中不可能。您必须使用 CloudFormation 中的 custom resource 来完成。