16.09.21 - 适用于公有云的 Apigee Edge 版本说明

您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档
信息

2016 年 10 月 13 日(星期四),我们开始发布适用于公有云的新版 Apigee Edge。

新功能和更新

以下是此版本中的新功能和更新:

用于实现 API 代理的共享流和流钩子(仅限按请求测试的 Beta 版)

新的“共享流”功能可让您实现 API 代理中的功能。通过将条件化政策和资源合并到共享流中,您可以从任何 API 代理引用该流,以执行可重复使用的单一来源逻辑。例如,共享流可以验证 API 密钥、防止激增,以及记录数据。

您可以在管理界面(API > 共享流)中定义共享流,然后通过两种不同方式引用它们:

  • 在 API 代理中使用新的数据流调用方政策
  • 在名为 Flow Hooks 的新工件中,该工件位于以下位置:

    • 请求:ProxyEndpoint PreFlow 之前、TargetEndpoint PostFlow 之后
    • 响应:在 TargetEndpoint PreFlow 之前、ProxyEndpoint PostFlow 之后

    通过这些连接点,您可以在单个代理的主要流程点之前或之后执行操作逻辑。您可以在管理界面中将共享流分配给这些流钩子位置(API > 环境配置 > 流钩子)。

已加密的键值对映射

您可以创建加密的键值对映射 (KVM) 来存储敏感信息,例如凭据或个人身份信息/HIPAA 数据。此功能与现有的 Edge 安全存储(保险柜)不同,旨在取代该功能,因为保险柜值只能使用 Node.js(以及 Management API)来访问。您可以使用 Node.js 或键值对映射操作政策访问加密的 KVM 值。

创建加密 KVM

  • 使用现有的 KVM API。如果您在创建 KVM 时在载荷定义中添加 “encrypted”: “true”,Edge 会对 KVM 进行加密并生成与 KVM 具有相同范围的加密密钥。
  • 您无法使用键值对映射操作政策来创建加密的 KVM。
  • 您无法加密现有的未加密 KVM。

使用加密 KVM

  • 使用键值对映射操作政策可获取和更新加密的 KVM 值。
  • 获取加密的键值时,为变量添加前缀,以便将值保存为“私钥”。 例如 <Get assignTo="private.secretVar">。该 private.secretVar 变量保存解密后的值。
  • 使用政策更新值时,您无需执行任何特殊操作。该值将在加密的 KVM 中自动加密。
  • 您还可以使用 Node.js 代码中的 apigee-access 模块访问解密的值。使用函数 getKeyValueMap(),根据名称和范围检索 KVM。返回的对象提供了两个函数:getKeys(callback) 用于获取键名数组,而 get(key, callback) 用于获取特定键的值。例如:
    var apigee = require('apigee-access');
      var encryptedKVM = apigee.getKeyValueMap('VerySecureKVM', 'apiproxy'); 
      encryptedKVM.get('secret1', function(err, secretValue) { 
      // use the secret value here 
    });
    

(APIRT-1197)

API 代理元数据中包含的 OpenAPI 规范网址

当您根据 OpenAPI 规范创建 API 代理时,OpenAPI 规范的位置会存储在 API 代理元数据中。例如,如果您使用 Management API 获取代理修订版本的详细信息,则元数据将包含采用以下格式的 OpenAPI 规范路径:

"spec" : "https://raw.githubusercontent.com/apigee/api-platform-samples/master/default-proxies/helloworld/openapi/mocktarget.yaml"

此增强功能支持下一代 Edge,将 OpenAPI 规范链接到新的开发者门户中的 API 代理、API 产品和 API 参考文档。(MGMT-2913)

使用 Sense 控制客户端 IP 地址

在使用 Akamai 等路由产品时,为了更准确地控制在哪里查找 IP 地址以便进行 Sense 聊天机器人检测,Sense 允许您使用 additionalIPVars 变量来定义客户端 IP 的位置。例如,您可以将 additionalIPVars 设置为使用 true-client-ip 标头,该标头包含来自 Akamai 的正确 IP,以便在聊天机器人规则中进行评估。(APIRT-3332)

已修复 Bug

此版本中修复了以下 Bug。此列表主要供用户检查其支持服务工单中的问题是否已修复,并非旨在为所有用户提供详细信息。

问题 ID 说明
APIRT-3507 JavaScript 服务出价邀约出现间歇性错误(例如 SNI 错误)
APIRT-3408 MP 版本 160817 apigee-access 分析模块,以不同方式处理消息
APIRT-3390

刷新访问令牌政策返回的故障响应的变化

APIRT-3389
APIRT-3381 客户生产代理的延迟时间较长
APIRT-3366 所有新的试用组织中的 JavaScript 政策均失败
APIRT-3363 无效网址解析通过 ApplicationNotFound 返回 500 状态
APIRT-3356 “OAuth 令牌无效”消息
APIRT-3355 OAuth 代理出现间歇性 403 错误
APIRT-3285
APIRT-3261 对照生产环境中的其他开发应用验证凭据
APIRT-3234 Node.js 应用返回 NPE
APIRT-3223 Apigee 过时缓存问题
APIRT-3193 迁移到 ASG 后,Node.js 目标服务器挂起
APIRT-3152 cachedlogs 管理调用导致日志消息被分解
APIRT-3117 MP 的 CPU 利用率达到 100% 并停止处理流量
APIRT-3064 路由器 - 来自路由器的自定义 503 错误消息
APIRT-2620 为某些阻塞步骤单独的线程池,以提高负载处理能力
CORESERV-774 使用有效密钥和无效的 apiproduct 引用进行访问导致内部服务器错误