首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何配置警报中心将警报发布到PubSub主题?

如何配置警报中心将警报发布到PubSub主题?
EN

Stack Overflow用户
提问于 2022-11-16 20:48:16
回答 1查看 35关注 0票数 1

我正在构建一个通知系统,当员工采取触发DLP规则的操作时,该系统将通知员工。

我想要达到的理想流程是:

Employee采取行动>规则触发>警报发布到PubSub主题>触发器云函数,该函数呈现松弛消息并将其发送给用户。

我陷入困境的关键是让API警报中心发布警报到PubSub主题。我以前用Gmail做过类似的事情,当一个特定的帐户收到一封电子邮件时,我会发布到这个主题。还有一个观看请求将帐户配置为发布到主题。

我查阅了Alert Center的API文档,没有发现一个手表请求或任何类似的东西。

有办法做到这一点吗?还是说这是不可能的?

我在Google中心API参考和Alert Center控制台中搜索到任何将发布配置为公共主题或web钩子的选项。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-16 21:55:29

经过几个小时的反复试验,我找到了解决这个问题的方法。

我们必须通过have和updateSetting更新设置,并在正文中发送一个设置对象。

下面是一些python代码,可以使用具有域范围委托的服务帐户来实现这一点:

代码语言:javascript
复制
from google.oauth2 import service_account
from googleapiclient.discovery import build
import json

def main():

    # Authenticate the service account
    scopes = ['https://www.googleapis.com/auth/apps.alerts']
    admin_to_impersonate = '******'
    credentials = service_account.Credentials.from_service_account_file(
        'client_secrets.json', scopes=scopes, subject=admin_to_impersonate
        )
    
    # Build the service
    service = build('alertcenter', 'v1beta1', credentials=credentials)

    settings = {
        'notifications': [
            {
                'cloudPubsubTopic': {
                    'topicName': '<YOUR TOPIC NAME>',
                    'payloadFormat': 'JSON'
                }
            }
        ]
    }

    # Execute a updateSetting request
    response = service.v1beta1().updateSettings(body=settings).execute()
    print(response)

if __name__ == '__main__':
    main()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74467033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档