【Azure Developer】分享一段Python代码调用Graph API创建用户的示例

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
性能测试 PTS,5000VUM额度
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 分享一段Python代码调用Graph API创建用户的示例

问题描述

在Azure门户(Create new user - Microsoft Azure 由世纪互联运营)中添加新用户,如果想通过代码来实现,有没有示例代码参考呢?

问题解答

示例代码


from azure.identity import AzureAuthorityHosts
from azure.identity.aio import ClientSecretCredential
from kiota_authentication_azure.azure_identity_authentication_provider import AzureIdentityAuthenticationProvider
from msgraph import GraphServiceClient, GraphRequestAdapter
from msgraph.generated.models.password_profile import PasswordProfile
from msgraph.generated.models.user import User
tenant_id = 'xxxxxxxxxxxxxxxxx'
client_id = 'xxxxxxxxxxxxxxxxx'
client_secret = 'xxxxxxxxxxxxxxxxx'
credential = ClientSecretCredential(
    tenant_id=tenant_id,
    client_id=client_id,
    client_secret=client_secret,
    authority=AzureAuthorityHosts.AZURE_CHINA
)
scopes = ['https://microsoftgraph.chinacloudapi.cn/.default']
auth_provider = AzureIdentityAuthenticationProvider(credential, scopes=scopes)
request_adapter = GraphRequestAdapter(auth_provider)
request_adapter.base_url = "https://microsoftgraph.chinacloudapi.cn/v1.0/"
graph_client = GraphServiceClient(request_adapter=request_adapter)
request_body = User(
    account_enabled = True,
    display_name = "test",
    mail_nickname = "test",
    user_principal_name = "xxxxxxxx@xxxxxxxxxxxxxxxxxx",
    password_profile = PasswordProfile(
       force_change_password_next_sign_in = True,
       password = "xxxxxxxxxxxxxxxxxxxxx",
    ),
)
async def create_user():
    result = await graph_client.users.post(request_body)
    return result
import asyncio
asyncio.run(create_user())

注意:

1:指定  ClientSecretCredential 中 authority=AzureAuthorityHosts.AZURE_CHINA

2:指定 scopes = ['https://microsoftgraph.chinacloudapi.cn/.default']

3:在中国区Azure上创建User,所以必须重新定义Base_url 为 https://microsoftgraph.chinacloudapi.cn/v1.0/

 

参考资料

Microsoft Graph API Create User :  https://learn.microsoft.com/zh-cn/graph/api/user-post-users?view=graph-rest-1.0&tabs=python#request-body

 



当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

相关文章
|
4月前
|
API 网络架构
【Azure Developer】使用Microsoft Graph API 批量创建用户,先后遇见的三个错误及解决办法
【Azure Developer】使用Microsoft Graph API 批量创建用户,先后遇见的三个错误及解决办法
|
3月前
|
Kubernetes API 开发工具
【Azure Developer】通过SDK(for python)获取Azure服务生命周期信息
需要通过Python SDK获取Azure服务的一些通知信息,如:K8S版本需要更新到指定的版本,Azure服务的维护通知,服务处于不健康状态时的通知,及相关的操作建议等内容。
48 18
|
4月前
|
API 开发工具 网络架构
【Azure Developer】如何通过Azure Portal快速获取到对应操作的API并转换为Python代码
【Azure Developer】如何通过Azure Portal快速获取到对应操作的API并转换为Python代码
|
4月前
|
SQL 关系型数据库 MySQL
Python DB-API
【8月更文挑战第22天】
49 11
|
4月前
|
API 开发工具 网络架构
【Azure Developer】使用Python SDK去Azure Container Instance服务的Execute命令的疑问解释
【Azure Developer】使用Python SDK去Azure Container Instance服务的Execute命令的疑问解释
【Azure Developer】使用Python SDK去Azure Container Instance服务的Execute命令的疑问解释
|
4月前
|
API 开发工具 数据安全/隐私保护
【Azure Developer】Python 获取Micrisoft Graph API资源的Access Token, 并调用Microsoft Graph API servicePrincipals接口获取应用ID
【Azure Developer】Python 获取Micrisoft Graph API资源的Access Token, 并调用Microsoft Graph API servicePrincipals接口获取应用ID
|
4月前
|
JSON Java API
【Azure API 管理】通过Java APIM SDK创建一个新的API,如何为Reqeust的Representation设置一个内容示例(Sample)?
【Azure API 管理】通过Java APIM SDK创建一个新的API,如何为Reqeust的Representation设置一个内容示例(Sample)?
|
4月前
|
API 数据安全/隐私保护
【Azure Developer】使用 Microsoft Graph API 获取 AAD User 操作示例
【Azure Developer】使用 Microsoft Graph API 获取 AAD User 操作示例
|
4月前
|
存储 API 开发工具
【Azure Developer】使用 Python SDK连接Azure Storage Account, 计算Blob大小代码示例
【Azure Developer】使用 Python SDK连接Azure Storage Account, 计算Blob大小代码示例
|
4月前
|
Java 开发工具 Windows
【Azure Developer】调用SDK的runPowerShellScript方法,在Azure VM中执行PowerShell脚本示例
【Azure Developer】调用SDK的runPowerShellScript方法,在Azure VM中执行PowerShell脚本示例