2.3. 使用 Protobuf Schemas


通过 Data Grid REST API 创建和管理 Protobuf 模式 .proto 文件。

2.3.1. 创建 Protobuf Schemas

使用 POST 请求在 Data Grid 集群中创建 Protobuf 模式,该请求在有效负载中包含 protobuf 文件的内容。

POST /rest/v2/schemas/{schemaName}
Copy to Clipboard Toggle word wrap

如果架构已存在,Data Grid 会返回 HTTP 409 (Conflict)。如果因为语法错误,架构无效,或者由于缺少某些依赖项,Data Grid 存储模式并在响应正文中返回错误。

Data Grid 使用架构名称和任何错误做出响应。

{
  "name" : "users.proto",
  "error" : {
    "message": "Schema users.proto has errors",
    "cause": "java.lang.IllegalStateException:Syntax error in error.proto at 3:8: unexpected label: messoge"
  }
}
Copy to Clipboard Toggle word wrap
  • name 是 Protobuf 模式的名称。
  • 对于有效的 Protobuf 模式,错误null。如果 Data Grid 无法成功验证架构,它会返回错误。

如果操作成功完成,服务会返回 201 (Created)

2.3.2. 读取 Protobuf Schemas

使用 GET 请求从 Data Grid 检索 Protobuf 模式。

GET /rest/v2/schemas/{schemaName}
Copy to Clipboard Toggle word wrap

2.3.3. 更新 Protobuf Schemas

使用有效负载中包含 protobuf 文件内容的 PUT 请求修改 Protobuf 模式。

重要

当您更改现有的 Protobuf 模式定义时,您必须更新或重建索引模式。如果更改涉及修改现有字段,则必须重建索引。当您添加新字段时,您可以更新索引模式,而不是重建它。

PUT /rest/v2/schemas/{schemaName}
Copy to Clipboard Toggle word wrap

如果因为语法错误,架构无效,或者由于缺少某些依赖项,Data Grid 会更新该模式,并在响应正文中返回错误。

{
  "name" : "users.proto",
  "error" : {
    "message": "Schema users.proto has errors",
    "cause": "java.lang.IllegalStateException:Syntax error in error.proto at 3:8: unexpected label: messoge"
  }
}
Copy to Clipboard Toggle word wrap
  • name 是 Protobuf 模式的名称。
  • 对于有效的 Protobuf 模式,错误null。如果 Data Grid 无法成功验证架构,它会返回错误。

2.3.4. 删除 Protobuf Schemas

使用 DELETE 请求从 Data Grid 集群中删除 Protobuf 模式。

DELETE /rest/v2/schemas/{schemaName}
Copy to Clipboard Toggle word wrap

如果操作成功完成,服务会返回 204 (不内容)

2.3.5. 列出 Protobuf Schemas

使用 GET 请求列出所有可用的 Protobuf 模式。

GET /rest/v2/schemas/
Copy to Clipboard Toggle word wrap

Data Grid 使用集群中所有可用的模式列表进行响应。

[ {
  "name" : "users.proto",
  "error" : {
    "message": "Schema users.proto has errors",
    "cause": "java.lang.IllegalStateException:Syntax error in error.proto at 3:8: unexpected label: messoge"
  }
}, {
  "name" : "people.proto",
  "error" : null
}]
Copy to Clipboard Toggle word wrap
  • name 是 Protobuf 模式的名称。
  • 对于有效的 Protobuf 模式,错误null。如果 Data Grid 无法成功验证架构,它会返回错误。

2.3.6. 列出 Protobuf 类型

使用 GET 请求列出所有可用的 Protobuf 类型。

GET /rest/v2/schemas?action=types
Copy to Clipboard Toggle word wrap

Data Grid 使用集群中所有可用的类型列表进行响应。

["org.infinispan.Person", "org.infinispan.Phone"]
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat