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

如何格式化google.protobuf.Any为JSON?解决Envoy转码报错问题

解决Envoy转码google.protobuf.Any字段的报错问题

错误原因

报错metadata: invalid value Invalid type URL, unknown type: metadata for type Any的核心问题是**@type字段的类型URL不完整**。google.protobuf.Any要求类型URL必须包含完整的protobuf全限定类型名(包名+消息名),你当前使用的type.googleapis.com/metadata仅指定了消息名,缺少对应的包名,导致Envoy无法识别该类型。

正确的JSON请求格式

根据你提供的proto定义,Metadata消息的全限定类型名为package.Metadata(包名package + 消息名Metadata),因此需要修正@type字段的值:

{
    "type": "create",
    "metadata": {
        "@type": "type.googleapis.com/package.Metadata",
        "credentials": {
            "username": "username",
            "password": "password"
        },
        "context": {
            "key": "value"
        }
    }
}

额外注意事项

  • 确保Envoy的转码配置已正确加载所有相关proto文件(credentials.proto、metadata.proto、service.proto),Envoy需要这些类型定义才能完成Any字段的解析与转码。
  • 类型URL对大小写敏感,必须与proto文件中定义的包名、消息名完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 09:35:14