可以使用Azure AD B2C中的GRAPH API批量创建或删除用户的任何方式

问题描述 投票:1回答:2

我正在尝试使用C#制作控制台应用程序,通过该控制台应用程序我要将超过100000个用户迁移到Azure AD B2C。

我们正在为此使用Graph API。

我目前的方法是每个API调用创建一个用户帐户,并且花费超过12个小时才能迁移约50000个用户。

减少总时间我想批量发送数据而不是一一发送使用API​​。但是,我找不到任何解决方案。

是否有API端点可用于批量创建用户。请帮助。

此外,如果我要批量删除这些用户。有可能这样做吗?

这是一些我用于实施解决方案的Microsoft文档参考。

https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-user-migration?tabs=applicationshttps://docs.microsoft.com/en-us/previous-versions/azure/ad/graph/api/users-operations#CreateLocalAccountUser

azure-ad-b2c azure-ad-graph-api createuser
2个回答
0
投票

您可以使用JSON batching在一个HTTP调用中组合多个请求。

这里是一个例子:

POST https://graph.microsoft.com/v1.0/$batch

{
    "requests": [{
            "id": "1",
            "method": "POST",
            "url": "/users",
            "body": {
                "accountEnabled": true,
                "displayName": "allentest01",
                "mailNickname": "allentest01",
                "userPrincipalName": "allentest01@{tenant}.onmicrosoft.com",
                "passwordProfile": {
                    "forceChangePasswordNextSignIn": true,
                    "password": "{password-value}"
                }
            },
            "headers": {
                "Content-Type": "application/json"
            }
        }, {
            "id": "2",
            "method": "POST",
            "url": "/users",
            "body": {
                "accountEnabled": true,
                "displayName": "allentest02",
                "mailNickname": "allentest02",
                "userPrincipalName": "allentest02@{tenant}.onmicrosoft.com",
                "passwordProfile": {
                    "forceChangePasswordNextSignIn": true,
                    "password": "{password-value}"
                }
            },
            "headers": {
                "Content-Type": "application/json"
            }
        }
    ]
}

您还可以使用它删除用户。 (使用DELETE方法)


0
投票

使用JSON批处理的方法似乎更合理,但上一次我们使用Parallel.ForEach循环通过Graph API将160,000个用户导入到Azure AD B2C,MaxDegreeOfParallelism为10。我们每次运行可提供40,000个用户。迁移40,000个用户花了30分钟。

© www.soinside.com 2019 - 2024. All rights reserved.