如何对AAD租户中所有服务主体的导出进行分区?

时间:2019-01-15 02:04:53

标签: microsoft-graph

我们需要定期导出有关AAD租户的所有服务主体的信息。我们希望数量很大,因此我们需要对出口进行分区。从Microsoft Graph导出用户时,我们可以使用mailNickname作为过滤器,基于startswith(mailNickname, '<letter>')的首字母进行分区,但是在appIdid上尝试使用ServicePrincipals进行错误提示,并以{ {1}}。我们还有其他方法可以用来并行化数据导出吗?

根据要求:Request_UnsupportedQuery

1 个答案:

答案 0 :(得分:1)

您要尝试的操作与我在此处共享的方法类似(可以随意尝试该代码):

https://github.com/piotrci/Microsoft-Graph-Efficient-Operations/blob/master/Microsoft-Graph-Efficient-Operations/ScenarioImplementations/UserScenarios.cs

图表资源通常不支持对ID进行过滤。经过短暂的实验,我可以使用servicePrincipal的displayName对集合进行分区。

但是请注意,这种方法不能保证统一分区。另外,在您的情况下(定期完全导出),是否需要进行此优化?

建议:考虑使用Graph的增量查询执行一次完整的导出,然后仅获取增量更改。如果您希望获得高容量,但对资源的流失量有限,这可能是更好的优化方法。

https://graph.microsoft.com/beta/servicePrincipals/delta

https://docs.microsoft.com/en-us/graph/delta-query-overview