繁体   English   中英

在 GKE 的 pubsub 订阅中创建通知过滤器

[英]Create a notification filter in pubsub subscription in GKE

如何在 pubsub 订阅 select 中创建通知过滤器 JSON 日志中的特定消息部分。

例如:

  • 你有一个 JSON 日志:

{ 
 "incident_type": Bla bla",
 "incident_state": "Open",
 "message": GKE Cluster upgradinging, Can't perform update operation",
 "run": "Unsuccessful"

}

试过这个https://cloud.google.com/kube.netes-engine/docs/how-to/cluster-notifications


也许你可以使用订阅过滤器

如果提供了过滤器语法,订阅者将只会收到与过滤器匹配的消息。

戈兰

import (
        "context"
        "fmt"
        "io"

        "cloud.google.com/go/pubsub"
)

func createWithFilter(w io.Writer, projectID, subID, filter string, topic *pubsub.Topic) error {
        filter := "attributes.author=\"unknown\""
        client, err := pubsub.NewClient(ctx, projectID)
        if err != nil {
                return fmt.Errorf("pubsub.NewClient: %v", err)
        }
        defer client.Close()

        sub, err := client.CreateSubscription(ctx, subID, pubsub.SubscriptionConfig{
                Topic:  topic,
                Filter: filter,
        })
        if err != nil {
                return fmt.Errorf("CreateSubscription: %v", err)
        }
        fmt.Fprintf(w, "Created subscription with filter: %v\n", sub)
        return nil
}

参考: 谷歌文档

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM