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

ADF数据流任务中调用Azure Maps地理编码API转换经纬度时遇到类型不匹配及字段不存在错误

ADF数据流任务中调用Azure Maps地理编码API转换经纬度时遇到类型不匹配及字段不存在错误

嗨,我来帮你排查这个问题~ 你遇到的两个错误(字段不存在+类型不匹配)大概率是因为API返回的结构没正确解析,或者字段路径写错了,咱们一步步来解决:

  • 先确认字段路径是否正确
    你写的body.results1.position.lon里的results1可能是个笔误?Azure Maps地理编码API的默认返回结构里,结果是放在results数组里的,不是results1。另外,哪怕只有一个匹配地址,results也是数组类型,不能直接取position,得先指定数组索引,比如取第一个结果的话应该是body.results[0].position.lon。
    建议你在数据流里先预览API调用后的输出数据,看看实际的层级结构,确认字段的正确路径——比如是不是你把API输出的数据集别名改成了results1?如果是,那路径应该是body.results1[0].position.lon哦。

  • 解决类型不匹配问题
    当路径正确后,如果还是报类型不匹配,那可能是API返回的经纬度是字符串类型,或者存在null值的情况。你可以用条件判断+类型转换的组合来处理:

    iif(isNull(body.results[0].position.lon), null(), toDecimal(body.results[0].position.lon))
    

    这样既处理了null值的情况,也确保只有有效数据才会被转换成Decimal类型。

  • 额外检查:API调用是否成功返回数据
    有时候如果API调用返回了错误(比如地址无法解析),那results数组可能是空的,这时候取results[0]也会报错。你可以先判断数组是否为空:

    iif(length(body.results) == 0, null(), toDecimal(body.results[0].position.lon))
    

    这样能避免因无匹配结果导致的报错。

备注:内容来源于stack exchange,提问作者Artosu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 10:23:04