AWS::Logs::SubscriptionFilter
AWS::Logs::SubscriptionFilter
资源指定订阅筛选器并将其与指定的日志组关联。订阅筛选器允许您订阅实时日志事件流并将其传递到特定目标。目前,支持的目标是:
-
与订阅筛选器属于同一账户的 Amazon Kinesis 数据流,用于同一账户的交付。
-
属于不同账户的逻辑目标,用于实现跨账户交付。
-
与订阅筛选器属于同一账户的 Amazon Kinesis Firehose 交付流,用于同一账户的交付。
-
与订阅筛选器属于同一账户的 AWS Lambda 函数,用于同一账户的交付。
一个日志组只能有一个关联的订阅筛选器。
语法
要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:
JSON
{ "Type" : "AWS::Logs::SubscriptionFilter", "Properties" : { "DestinationArn" :
String
, "FilterPattern" :String
, "LogGroupName" :String
, "RoleArn" :String
} }
YAML
Type: AWS::Logs::SubscriptionFilter Properties: DestinationArn:
String
FilterPattern:String
LogGroupName:String
RoleArn:String
属性
DestinationArn
-
目标的 Amazon 资源名称 (ARN)。
必需:是
类型:字符串
最低:
1
Update requires: Replacement
FilterPattern
-
限制提交到目标 AWS 资源的内容的筛选表达式。有关筛选器模式语法的更多信息,请参阅筛选器和模式语法。
必需:是
类型:字符串
Update requires: Replacement
LogGroupName
-
要与订阅筛选器关联的日志组。将筛选上传到此日志组的所有日志事件,并将与筛选器模式匹配的日志事件提交到指定的 AWS 资源。
必需:是
类型:字符串
最低:
1
最高:
512
模式:
[\.\-_/#A-Za-z0-9]+
Update requires: Replacement
RoleArn
-
IAM 角色的 ARN,该角色授予 CloudWatch Logs 权限以将提取的日志事件传递到目标流。处理跨账户交付的逻辑目标时,无需提供 ARN。
必需:否
类型:字符串
最低:
1
Update requires: Replacement
返回值
Ref
在将此资源的逻辑 ID 传递给内部 Ref
函数时,Ref
返回 资源名称。
For more information about using the Ref
function, see Ref.
示例
创建订阅筛选器
以下示例将与 Root
用户关联的日志事件发送到 Kinesis 数据流。
JSON
"SubscriptionFilter" : { "Type" : "AWS::Logs::SubscriptionFilter", "Properties" : { "RoleArn" : { "Fn::GetAtt" : [ "CloudWatchIAMRole", "Arn" ] }, "LogGroupName" : { "Ref" : "LogGroup" }, "FilterPattern" : "{$.userIdentity.type = Root}", "DestinationArn" : { "Fn::GetAtt" : [ "KinesisStream", "Arn" ] } } }
YAML
SubscriptionFilter: Type: AWS::Logs::SubscriptionFilter Properties: RoleArn: Fn::GetAtt: - "CloudWatchIAMRole" - "Arn" LogGroupName: Ref: "LogGroup" FilterPattern: "{$.userIdentity.type = Root}" DestinationArn: Fn::GetAtt: - "KinesisStream" - "Arn"