访问配置数据

本页面适用于 ApigeeApigee Hybrid

查看 Apigee Edge 文档。

API 代理开发者通常使用一个或多个 Apigee 数据持久性机制来存储配置数据,以便以后可在 API 代理中访问配置数据。本主题介绍如何根据您的使用场景选择合适的持久性机制。

持久性机制

下表简要说明了 Apigee 中提供的持久性机制:
机制 用途
键值映射 键值映射 (KVM) 为可能会定期更改的数据提供常规运行时存储。例如:用户会话数据、购物车等。KVM 条目可以加密。 另请参阅使用键值映射
属性集 属性集非常适合存储不经常更改的配置数据。 另请参阅使用属性集
Kubernetes Secret (仅限 API Hybrid)使用 Secret 存储敏感数据,例如用户凭据。 另请参阅在 Kubernetes Secret 中存储数据

持久性机制的范围

每个可用的持久性机制都有一个特定的范围,它决定了您可以访问其存储数据的位置。下表汇总了每种持久性机制的可用范围。如需详细了解范围,请参阅关于持久性范围属性集范围

组织 环境 API 代理
键值映射
属性集
Kubernetes Secret

决定使用哪种持久性机制

本部分介绍了每种持久性机制的使用场景,以帮助您确定哪种机制最适合用来存储配置数据。

何时使用键值映射

Apigee 不提供用于存储、更新或删除 KVM 数据的 API。您必须使用 KeyValueMapOperations 政策执行这些任务。该政策可让您在执行代理时在运行时执行 KVM 操作。

在以下情况下,请考虑使用 KVM:

  • 您有数千个、数十万或数百万个键值映射条目(不超过记录的 KVM 大小限制的任意数目)。
  • 您在设计时有未知条目。

例如,使用 KVM 在用户登录时存储用户会话数据,并在用户退出登录时删除这些数据。

何时使用属性集

在以下情况下,请考虑使用属性集:

  • 键和值在设计时已知。运行中的 API 代理无法更改属性集值。它们在代理流中以只读变量的形式提供。
  • 您有几个甚至几百个键(总大小不到 110 KB)。属性集键和值始终存储在内存中以供快速访问。
  • 您希望让管理员更改某个环境中的属性集而无需重新部署 API 代理。

例如,属性集非常适合用于存储路由规则。路由规则是键/值对,其中值是目标端点网址。这些值通常因环境而异,并且可由一个环境中部署的多个 API 代理共享。属性集也非常适合用来存储公钥和证书。

何时使用 Kubernetes Secret

此选项仅适用于 Apigee Hybrid。它允许 API 代理访问存储在 Kubernetes Secret 中的数据。此选项类似于属性集,其中存储的数据以执行代理中的消息流变量的形式提供。但是,数据始终保留在运行时层面中;在 Apigee Cloud 中绝不会被设为管理层面。

在以下情况下,请考虑使用 Kubernetes Secret:

  • 您需要存储您从不希望存储在管理层面的敏感信息。例如,您可以使用 Kubernetes Secret 来存储访问外部系统所需的私钥或凭据。
  • 您需要与部署在同一环境中的多个 API 代理共享存储的数据。