You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Copy Activity以REST为Sink调用MS Graph API更新AD遇空负载错误

解决ADF Copy Activity对接MS Graph API作为Sink时的空Payload问题

核心问题

Copy Activity默认字段映射无法生成MS Graph API要求的标准JSON请求体,导致触发“Empty Payload. JSON content expected.”错误;Web Activity可正常构造请求是因为能直接生成符合格式的JSON,但Copy Activity需要调整源数据提取、Sink配置和映射逻辑来适配API要求。

解决步骤

1. 调整源数据输出结构

你的数据库返回结果包含嵌套的value数组,需确保Copy Activity仅提取数组内的用户数据:

  • 若为SQL源,直接用查询返回扁平用户记录:
    SELECT Id, FirstName, Middlename, LastName, DisplayName, Email, LocCountry, LocStreet, LocCity, LocState FROM [你的目标表]
    
  • 若为通用数据集,在Copy Activity的源设置中启用查询,过滤掉外层嵌套结构,只输出单条用户记录的集合。

2. 配置REST Sink的请求规则

MS Graph API(如更新用户的PATCH /users/{id}接口)要求请求体为扁平JSON对象,需调整Sink配置:

  • 请求方法选择PATCH(更新操作)或对应API要求的方法;
  • 请求体格式设为JSON,禁用批量请求(MS Graph批量API需特殊格式,不适合直接用Copy Activity);
  • 手动构造符合API规范的请求体,替代默认字段映射。例如在请求体的动态内容中输入:
    @json(concat('{
        "givenName": "', item().FirstName, '",
        "middleName": "', item().Middlename, '",
        "surname": "', item().LastName, '",
        "displayName": "', item().DisplayName, '",
        "mail": "', item().Email, '",
        "streetAddress": "', item().LocStreet, '",
        "city": "', item().LocCity, '",
        "state": "', item().LocState, '",
        "country": "', item().LocCountry, '"
    }'))
    
  • 动态替换API端点的用户ID:将Sink的基础URL设为https://graph.microsoft.com/v1.0/users/,然后在相对URL中用@concat('', item().Id)拼接用户ID,确保每条请求指向正确的用户资源。

3. 修正字段映射(可选)

若坚持使用字段映射而非手动构造JSON,需将源字段映射到MS Graph的标准属性名:

  • FirstName → givenName
  • Middlename → middleName
  • LastName → surname
  • DisplayName → displayName
  • Email → mail
  • LocStreet → streetAddress
  • LocCity → city
  • LocState → state
  • LocCountry → country
  • 同时在Sink设置中开启将映射字段合并为JSON对象,确保输出为单个JSON对象而非键值对列表。

4. 权限与格式校验

  • 确认ADF使用的服务主体拥有MS Graph API的User.ReadWrite.All权限;
  • 若源数据存在空值,需在动态内容中添加空值判断,避免生成无效JSON,例如:
    @json(concat('{
        "givenName": "', if(empty(item().FirstName), '', item().FirstName), '",
        ...
    }'))
    

内容的提问来源于stack exchange,提问作者Analyzing Tasks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 17:32:10