是的,Azure AD Graph API支持对用户进行批处理。请参阅this code sample,检查代码示例中的CreateUsersTest
函数。为了使该样品的工作,你需要添加Read and write directory data
应用同意您的客户端应用程序:
另一种方法是使用PowerShell中使用批量导入过程中添加多个用户:
首先创建与像的相应属性的CSV文件:
然后你可以安装Azure ActiveDirectory Powershell (MSOnline)。从csv文件
PS C:\WINDOWS\system32> connect-msolservice
导入用户:
连接服务
$users = Import-Csv E:\a.csv
与New-MsolUser
命令来创建用户。
$users | ForEach-Object {New-MsolUser -UserPrincipalName $_.UserName -FirstName $_.FirstName -LastName $_.LastName –DisplayName $_.DisplayName -Title $_.JobTitle -Department $_.Department -Country $_.Country}
更新:
请参考文献:https://msdn.microsoft.com/en-us/library/azure/ad/graph/howto/azure-ad-graph-api-batch-processing
的图形API支持由OData的规范中定义的功能的子集:
A s单个批次最多可以包含五个查询和/或更改组合。
更改集最多可包含一个源对象修改,最多可包含20个组合的添加链接和删除链接操作。变更集中的所有操作必须位于单个来源实体上。
在你的情况下,单一的源实体是指一个用户的实体,您可以创建一个用户,修改变化组的用户,但在一个变化集不能创建两个用户,因为他们”两个实体。
似乎没有这样的文件列表限制批处理的速度,但我已经测试了使用上面的代码创建2000+用户,它工作正常。
谢谢!代码示例和powershell命令在这里有帮助。我不确定是否包含多个用户更新请求的变更集(/ users/,/ users/ ....)被认为是一个有效的变更集 此外,这带来了我的另一个问题 - 即使使用这个批处理,我一次只能更新5个用户 如果我正在更新5000个用户,那仍然是1000批量请求是否有一些速率限制可能会阻止我这样做?如果是这样,我在哪里可以获得这些信息? –
sdworld
@sdworld,我已更新我的回答以回复您的问题,请让我知道是否有帮助。 –
谢谢澄清,这有助于! – sdworld