You need to enable JavaScript to run this app. GCP Label Detection对接AEM资产调用返回400错误问题求助
优惠活动
大模型
产品
解决方案
定价
更多

GCP Label Detection对接AEM资产调用返回400错误问题求助

Google Cloud Vision标签检测400错误排查方案
  • 校验请求features字段配置
    人脸检测和标签检测需要指定不同的feature类型,人脸检测对应FACE_DETECTION,标签检测对应LABEL_DETECTION。检查构造标签检测请求时,是否正确配置了features数组,是否存在类型拼写错误、字段漏传、数组为空的问题。正确的features配置参考:
    "features": [{"type": "LABEL_DETECTION", "maxResults": 10}]
    
  • 排查InputStream重复消费问题
    InputStream是单向只读流,如果你先使用该InputStream调用了人脸检测服务,流指针会移动到末尾,后续调用标签检测时读取到的内容为空,会被Google服务判定为未上传图片。解决方案:
    1. 每次调用Vision服务前,重新从AEM Rendition处获取新的InputStream
    2. 首次获取流时就转为字节数组缓存,后续调用直接使用缓存的字节数组:
    AssetManager assetMgr = resolver.adaptTo(AssetManager.class);
    Asset myAsset = assetMgr.getAsset(payload);
    Rendition myRen = myAsset.getRendition(payload + Constants.originalRendition);
    InputStream is = myRen.getStream();
    // 缓存为字节数组重复使用
    byte[] imageBytes = org.apache.commons.io.IOUtils.toByteArray(is);
    
  • 校验图片字段配置
    检查构造请求时,图片内容是否放在了正确的字段下:使用本地文件流调用时需要将图片的Base64编码内容放在image.content字段下,如果错填为仅用于Google Cloud Storage路径的image.source字段,也会被判定为未指定图片。
  • 打印完整请求校验格式
    在调用接口前打印完整的请求JSON字符串,和官方要求的请求结构对比,确认无字段缺失、格式错误、拼写错误。官方标准标签检测请求结构参考:
    {
      "requests": [
        {
          "image": {
            "content": "图片Base64编码内容"
          },
          "features": [
            {
              "type": "LABEL_DETECTION",
              "maxResults": 10
            }
          ]
        }
      ]
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 00:09:04