【发布时间】:2018-10-23 12:02:54
【问题描述】:
这个问题是关于O365 Activity Management API
我们正在使用 API 从多个渠道(AzureAD、Outlook、SharePoint 等)为超大型租户检索审核日志通知,这意味着我们需要在相对较短的时间跨度内检索数百万条通知。
O365 将审核通知收集到一系列“blob”中,然后其中包含许多单独的通知(JSON 消息)。据我了解,这部分来自与 API 开发人员的通信。来自reading the docs 的团队和来自reading the docs 的这些blob 应该包含一个“相当多”数量的通知,以便在执行实际Web 请求时充当一种批处理方法。
在我们的方法中,我们每隔一小时请求 blob URL,然后对单个 blob 进行请求。
但是,我们已经对许多不同的租户和不同的 PublisherIdentifiers 进行了测试,但无论“等待”获取的通知总数如何,平均每个 blob 似乎只能收到大约 2.5 条消息。
这对于较大的租户来说是一个主要问题,因为需要的请求数量很多,这会给运行 fetcher 逻辑(Python 服务)的 SIEM 解决方案带来压力,而且它还给我们带来了 API 本身的限制问题.
实际上,我们根本无法以足够快的速度获取审核通知以跟上 - 在保留期内。如果 blob 每个 blob 包含更多通知,我们会很好 - 因为数据总量(以 MB 为单位)并没有那么大。
“有趣”的是,如果我们使用租户管理中心内的可视化查询工具,它会非常快速地搜索和检索通知。
我的问题
- 有没有人遇到过这个问题,或者可能有更好的“批处理性能”?
- 有没有人知道我们可以尝试什么来获得更好的性能?
如前所述,我们一直与雷德蒙德的开发团队和项目经理保持直接联系。他们对我们遇到的其他问题非常有帮助,但他们向我们推荐了对这个特定问题的支持——他们又将我们推荐给了论坛/社区。我们目前无法获得高级支持...
一个小时的内容 blob 请求示例
https://manage.office.com/api/v1.0/{tenantid}/activity/feed/subscriptions/content?contentType=Audit.Exchange&PublisherIdentifier={pub.id}&startTime=2017-12-03T10:31:24&endTime=2017-12-03T11:31:24
在检索单个 blob 时,我们只使用上述请求提供给我们的 URL。
【问题讨论】:
标签: office365api