gpt4 book ai didi

amazon-web-services - 如何为在 Cloudformation 中创建的 Lambda 设置 Cloudwatch 日志

转载 作者:行者123 更新时间:2023-12-04 08:19:31 26 4
gpt4 key购买 nike

在 Cloudformation 中创建 Lambda 函数后,我希望能够在同一 Cloudformation 脚本中设置 Cloudwatch Logs 过期时间。

例如:

MyLambdaRole:
Type: AWS::Iam::Role
...
Properties:
...
Policies:
-
PolicyName: "myPolicy"
PolicyDocument:
Version: "2012-10-17"
Statement:
-
Effect: "Allow"
Action:
- "logs:CreateLogGroup"
- "logs:CreateLogStream"
- "logs:PutLogEvents"
Resource: "arn:aws:logs:*:*:*"

MyLambda:
Type: AWS::Lambda::Function
Properties:
...
Role: !GetAtt [ MyLambdaRole, Arn ]

但是,CloudFormation 不允许修改/更新为 AWS 保留的日志:“以 AWS/开头的日志组为 AWS 保留。”

有解决办法吗?由于Lambda resource creation中无法设置日志名称,也许有某种方法可以在我找不到的角色定义中指定它。

最佳答案

尝试此操作并使用 RetentionInDays 属性更改日志在时间后过期

LogGroup:
Type: AWS::Logs::LogGroup
Properties:
LogGroupName: !Join ['/', ['/aws/lambda', !Ref MyLambda]]
RetentionInDays: 7 # days

注意:如果日志组名已经存在,就会出现LogGroup创建失败的问题(如果MyLambda已经存在,也会存在)。解决方法是删除并创建堆栈。

关于amazon-web-services - 如何为在 Cloudformation 中创建的 Lambda 设置 Cloudwatch 日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50382048/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com