AWS::Logs::SubscriptionFilter - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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 权限以将提取的日志事件传递到目标流。

必需:否

类型:字符串

最低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"