1.3. apicurio Registry 新功能


apicurio Registry 2.4 包括以下新功能:

Apicurio Registry 核心新功能

工件参考改进
  • 工件参考完整性规则 :您现在可以应用新的特定于工件的规则和全局规则,以便在创建或更新工件时强制实施工件引用的完整性。对于所有工件类型,该规则会检测重复的工件引用,并防止引用不存在的工件。对于工件类型的子集(Apache Avro、Google Protobuf、OpenAPI 和 AsyncAPI),该规则可确保所有工件引用都已映射。
  • Maven 插件中的自动工件引用检测 :对于工件类型的子集(Apache Avro、Google Protobuf 和 JSON Schema),在创建或更新工件时,Maven 插件现在可以自动识别并配置给定工件的所有工件引用。
  • Web 控制台中的工件引用 的视觉化:您可以在新的 References 选项卡中查看工件版本的入站和出站引用。REST API 现在支持检索入站和出站引用。在以前的版本中,REST API 只检索出站引用,Web 控制台不会显示引用。
  • 工件引用现在被视为内容 :此版本现在在计算内容哈希和 ID 时考虑工件引用,并在检查工件版本的兼容性时考虑工件引用。如果您上传具有不同引用的同一模式内容,您可以创建一个新的工件版本。
OpenAPI 的客户端 SDK 生成
此发行版本添加了一个新的 Web 控制台功能,以便用户从 OpenAPI 工件生成客户端 SDK。此功能使用 Microsoft 中的 Kiota 生成 SDK。该功能仅在浏览器中运行,无法使用 API 自动执行。如需更多信息,请参阅 https://github.com/microsoft/kiota
工件版本删除
此发行版本在 web 控制台中添加了新的 REST API 操作和新的 Delete 工件版本 设置,以便您通过使用 REST API 删除工件版本。在以前的版本中,工件版本不可变;您可以弃用或禁用它们,但不能删除它们。但是,有时需要删除工件版本,尽管语义有意义。例如,出于规范或策略的原因,您可能需要删除工件版本。
Core Registry REST API 的改进
  • 版本注释 API :您现在可以使用 REST API 向工件版本添加注释。Web 控制台中还不能使用管理注释。
  • export API 支持 Accept 标头中的 application/json :您现在可以在调用 /admin/export API 端点中发送 application/json 作为 Accept 标头的值。在以前的版本中,返回 application/json 格式的响应的唯一方法是使用 forBrowser 查询参数。现在,您可以使用查询参数或 Accept 标头。
  • 组管理 :您现在可以使用 REST API 直接管理工件组,而不是隐式作为工件创建的一部分。
Confluent 兼容性 REST API 的改进
  • 更新了对 Confluent 兼容性 API 的支持:添加了对 Confluent Schema Registry API 的版本 7 的支持。Apicurio Registry 现在支持不同端点上的 v6 和 v7。
  • 可自定义的最多主题数 :现在,您可以使用 registry.ccompat.max-subjects 动态配置属性来自定义 ccompat API 返回的最大主题数量。
  • 为组自定义添加了标头 :在使用 Confluent Schema Registry API v7 时,您现在可以使用 X-Registry-GroupId 标头来指定工件组。如果不使用此标头,则假定所有工件都位于默认组中。
支持在 Microsoft Azure Active Directory 中进行身份验证
添加了对在 Microsoft Azure 中使用 Active Directory 身份验证的支持,以访问 Core Registry REST API 和 web 控制台。如需了解更多详细信息,请参阅使用 Azure Active Directory 保护 Apicurio Registry 2.4.x 的 Apicurio 博客文章
支持 HTTPS 透传入口

提供配置变量以避免在使用带有 HTTPS 透传入口部署 Apicurio Registry 时重定向问题:

  • REGISTRY_URL_OVERRIDE_HOST - 覆盖用于生成外部访问 URL 的主机名。
  • REGISTRY_URL_OVERRIDE_PORT - 覆盖用于生成外部访问 URL 的端口。

    当使用 HTTPS passthrough ingress 或 route 部署 Apicurio Registry 时,这些主机和端口覆盖很有用。在这些情况下,重复使用重定向的请求 URL 和端口不属于客户端使用的实际外部 URL,因为请求被代理。然后,重定向会失败,因为目标 URL 无法访问。

其他更改
  • 为基本身份验证配置客户端凭证流范围 : Apicurio Registry 使用客户端凭证流代表用户请求访问令牌,在使用基本身份验证时。此功能允许用户配置 scope 请求参数。
  • serializer/deserializer 工件解析和内容哈希的解析 :SerDe 类现在可以使用 schema 的内容哈希解析工件协调。
  • Maven 插件选项为 minify Avro: 当使用 Maven 插件注册 Avro 模式时,您现在可以在注册前减去内容。
community-only :自定义工件类型

用户可以根据自己的自定义工件类型扩展 Apicurio Registry,并删除对现有类型的支持。此功能仅适用于 Apicurio Registry 的社区版本,且不被支持。

注意

为了提供此功能,REST API 中的 ArtifactTypeenum 改为一个简单的 字符串。如果您使用 REST API 客户端进行自定义集成,则可能需要在升级到较新的客户端后编辑代码。

Apicurio Registry Operator 新功能

对 HTTPS 的 Operator 支持
添加了对在 OpenShift 集群中配置 HTTPS 连接的支持。您可以分别创建包含证书和私钥的 Secret,名为 tls.crttls.key,并通过在 ApicurioRegistry 自定义资源定义(CRD)文件中设置 spec.configuration.security.https.secretName 字段来引用 Secret。然后 Apicurio Registry Operator 可以在 Apicurio Registry Service 资源上配置 HTTPS 端口。如果启用了 HTTPS,您可以通过将 spec.security.https.disableHttp 设置为 true 来禁用 HTTP 连接。
支持手动管理的 OpenShift 资源

现在,您可以禁用某些资源类型,以确保 Apicurio Registry Operator 不会创建和管理这些资源,以便您可以手动配置它们。使用 Apicurio Registry Operator 当前不支持的功能,手动配置为您提供了更大的灵活性。如果您禁用资源类型,则其现有实例将被删除。如果启用资源类型,Apicurio Registry Operator 会尝试使用 app 标签(如 app=example-apicurioregistry)查找资源,并开始管理它。否则,Apicurio Registry Operator 会创建一个新实例。您可以以这种方式禁用以下资源类型:

  • 入口
  • NetworkPolicy
  • PodDisruptionBudget
改进了日志级别配置
现在,您可以使用 ApicurioRegistry CRD 文件中的 spec.configuration.registryLogLevel 字段,更轻松地为 Apicurio Registry 和 Apicurio Registry Operator 设置日志级别。这个新字段设置 Apicurio 应用程序组件的日志级别(不包括非Apicurio 组件和库),这与 spec.configuration.logLevel 字段(适用于非Apicurio 组件和库)不同。现在,您可以通过在 Operator Deployment 资源中设置 LOG_LEVEL 环境变量,为 Apicurio Registry Operator 设置日志级别。有效的 LOG_LEVEL 值是 debuginfowarnerror
CORS 允许的源

服务器可以使用 Cross-Origin Resource Sharing (CORS)机制来控制响应是否与请求的来源共享。Apicurio Registry Operator 现在根据 ApicurioRegistry CRD 文件中的 spec.deployment.hostspec.configuration.security.keycloak.url 字段设置 CORS_ALLOWED_ORIGINS 环境变量。此环境变量控制 Apicurio Registry 发送的 Access-Control-Allow-Origin 标头。

如果使用自定义 Ingress (例如,配置 HTTPS),您可以通过将 spec.deployment.managedResources.disable Ingress 字段设置为 true 来禁用 Operator 管理的 Ingress,仍然将 spec.deployment.host 字段设置为适当的值。如果要配置完全自定义的 CORS 策略,您可以使用 spec.deployment.env 字段手动设置 CORS_ALLOWED_ORIGINS 环境变量。

使用 pod 模板配置 Apicurio Registry 部署

ApicurioRegistry CRD 文件现在包含 spec.deployment.podTemplateSpecPreview 字段作为技术预览功能。spec.deployment.podTemplateSpecPreview 字段的结构与 OpenShift Deployment 资源( PodTemplateSpec struct)中的 spec.template 字段相同。通过一些限制,Apicurio Registry Operator 将来自此字段的数据转发到 Apicurio Registry Deployment 资源中的对应字段。此功能提供更大的灵活性,而无需 Apicurio Registry Operator 原生支持每个用例。

重要

技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

apicurio Registry 用户文档和示例

文档库已更新,使用版本 2.4 中的新功能:

开源演示应用程序也已更新:

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部