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

在AWS Glue Schema Registry中导入自定义Protobuf包遇错求助

解决AWS Glue Schema Registry上传Protobuf依赖报错的问题

1. 先创建依赖的Type.proto Schema

你的Message.proto依赖未上传的Type.proto,必须先将这个依赖Schema上传到Glue Schema Registry:

  • 编写完整的Type.proto定义(根据实际枚举值调整):
syntax = "proto3";

package com.my_repo.message.event.enums;

enum Type {
  TYPE_UNSPECIFIED = 0; // Protobuf枚举必须包含0值作为默认选项
  TYPE_WARNING = 1;
  TYPE_ERROR = 2;
  // 补充你的其他枚举值
}
  • 登录AWS Glue控制台,进入Schema Registry,选择目标Registry(无则新建)
  • 点击Add schema,输入Schema名称(建议设为com.my_repo.message.event.enums.Type,与包名+枚举名对应,便于识别)
  • 数据格式选择PROTOBUF,粘贴上述Type.proto内容,完成创建

2. 上传主Message.proto Schema

确认Type.proto的Schema创建成功后,再上传你的主Schema:

  • 回到Schema Registry的Add schema页面,输入Schema名称(比如com.my_repo.message.event.Message)
  • 数据格式选择PROTOBUF,粘贴你的Message.proto内容
  • 提交后,Glue会自动解析import语句,在同一个Registry内查找已创建的Type依赖Schema,即可成功创建

关键注意事项

  • 所有存在依赖关系的Protobuf Schema必须放在同一个Registry中,Glue默认仅在当前Registry内查找依赖
  • Protobuf的package声明、import路径、Schema名称需保持逻辑一致:比如import "com/my_repo/message/event/enums/Type.proto"对应包com.my_repo.message.event.enums下的Type枚举,只要该枚举的Schema已存在就能被正确识别
  • 确保Protobuf定义符合语法规范(如枚举必须包含0值、字段编号唯一等)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 15:00:21