您正在查看 Apigee Edge 文档。
前往 Apigee X 文档。 信息
2016 年 8 月 30 日(星期二),我们发布了新版 Apigee Edge for Public Cloud。
新功能和更新
以下是此版本中的新功能和更新:
Assign Message 和 Raise Fault 中的 JSON 载荷
通过此增强功能,无需任何解决方法即可确保 JSON 消息格式正确,并且可以使用大括号指定变量,而不会创建无效的 JSON。例如,以下代码会将 JSON 消息中 message.content 的值插入到数据库中:
<Payload contentType="application/json">{"message" : "{message.content}"}</Payload>
如果您使用了解决方法,您的代码将继续正常运行。您还可以使用 variablePrefix 和 variableSuffix 而不是大括号来表示变量。
请参阅分配消息政策和 Raise Fault 政策参考文档中的 <Set><Payload> 元素。(APIRT-1160)
XML 到 JSON 政策增强功能
XML 到 JSON 政策已增强,具有以下功能。您可以配置政策,以实现以下目的:
- 在转换期间将某些 XML 元素视为数组,这会将值放在 JSON 文档的方括号“[]”中。
- 在最终 JSON 文档中剥离或消除 XML 文档层次结构级别。
如需了解详情,请参阅 XML 到 JSON 政策。(APIRT-1144)
API 产品资源路径中的多个通配符
在 API 产品中定义资源路径时,您可以在资源路径中的多个位置添加通配符。例如,/team/*/invoices/** 允许在 /team 之后包含任意一个值的 API 调用,以及在 invoices/ 之后包含任意资源路径的 API 调用。API 调用中允许的 URI 为 proxyBasePath/team/finance/invoices/company/a。
如果在此版本发布后,您现有的 API 产品资源路径无法按预期运行,请在组织中设置以下属性以恢复到之前的行为:features.enableStandardWildCardMatchForAPIProductResources = true
(MGMT-3273)
JavaScript 中的加密函数
一组新的高性能 JavaScript crypto 函数可用于创建、获取和更新以下哈希对象:MD5、SHA-1、SHA256、SHA512。
您还可以使用 crypto 对象以各种格式获取日期。如需了解详情,请参阅 JavaScript 对象模型。
(APIRT-2886)
Java Callout JAR 版本检查
如果 Java 资源的版本与 Edge 支持的 Java 版本(列在支持的软件和支持的版本中)不兼容,则在将 Java JAR 资源上传到 API 代理时,系统会返回 HTTP 400 状态代码(而不是 500)。(MGMT-3420)
API 代理资源验证
如果您在环境或组织范围内存储了 API 代理资源文件(例如 JavaScript 或 Java JAR),验证框架不再要求您在代理软件包中也包含这些资源,以便导入通过验证。资源验证现在在部署时进行,而不是在导入时进行。(MGMT-1430)
配置单个 API 代理的超时
您可以配置 API 代理,使其在指定时间后超时并返回 504 网关超时状态。主要用例是对于执行时间较长的 API 代理,Private Cloud 客户可以设置此属性。例如,假设您需要特定代理在 3 分钟后超时。您可以在 API 代理的配置中使用新的 api.timeout 属性。以下示例展示了如何使用 3 分钟的示例来完成此操作:
- 首先,确保将负载平衡器、路由器和消息处理器配置为在 3 分钟后超时。
- 然后,将相关代理配置为在 3 分钟后超时。以毫秒为单位指定该值。例如:
<ProxyEndpoint name="default"> <HTTPProxyConnection> <BasePath>/v1/weather</BasePath> <Properties> <!-- api.timeout is in milliseconeds --> <Property name="api.timeout">180000</Property> </Properties> ... - 但请注意,增加系统超时可能会导致性能问题,因为所有不具有 api.timeout 设置的代理都会使用新的、更长的负载平衡器、路由器和消息处理器超时。因此,请将无需更长超时的其他 API 代理配置为使用较短的超时。例如,以下命令将 API 代理设置为在 1 分钟后超时:
<Property name="api.timeout">60000</Property>
无法修改 Edge 超时的 Cloud 客户也可以配置 API 代理超时,前提条件是超时短于标准的 Edge 消息处理器超时,即 57 秒。
您无法使用变量填充值。此属性已在端点属性参考文档中介绍。(APIRT-1778)
消息日志记录政策的 TLS/SSL
可以在消息日志记录政策的 SSLInfo 配置中设置 <KeyStore> 和 <TrustStore>,从而允许使用日志记录服务进行单向和双向 TLS/SSL。您可以在消息日志记录政策中配置 SSLInfo,方式与在代理
TargetEndpoint 中相同。不过,消息日志记录 TLS/SSL 仅支持 TCP 协议。
(APIRT-1858)
已修复 Bug
此版本中修复了以下 Bug。此列表主要供用户检查其支持服务工单中的问题是否已修复,并非旨在为所有用户提供详细信息。
| 问题 ID | 说明 |
|---|---|
| SECENG-609 | 在删除关联的信任库期间或删除信任库中的有效证书时,运行时调用不会失败 |
| MGMT-3404 | 查看/检索 Node.js 日志和部署代理非常缓慢 |
| MGMT-3400 | 如果进行调用的用户的名称中包含“+”号,则对 /userroles 管理 API 的调用会失败 |
| MGMT-3368 | 导入包含 resources/node/resources 目录的 API 代理软件包时,出现 java.lang.ArrayIndexOutOfBoundsException: 1 |
| MGMT-3364 | OAuthV2:redirect_uri 检查 |
| MGMT-3319 | 对于组织(CPS 和非 CPS),保险库中某个条目具有 null 值的列表条目不起作用 |
| MGMT-3226 | 在组织/环境级别进行查询时不应拉取所有数据,以免导致 API 失败 Release_160302 存在一个 bug,如果资源的总大小超过 16MB,则在组织级/环境级列出资源会失败,此修复程序解决了该问题。 |
| AXAPP-2429 | 使用 response_status_code 的 Analytics API 返回数据访问错误 |
| AXAPP-2386 | 修复了分析每日电子邮件报告中的空白报告内容 |
| AXAPP-2347 | 收不到每日分析摘要电子邮件 |
| APIRT-3141 | 调用新的 ExecutionResult() 时,Java Callout 失败,因为构造函数已设为私有 |
| APIRT-3140 | ServiceCallout 政策在 HEAD API 调用中不起作用 |
| APIRT-3131 | 将创收功能与外部身份验证提供方搭配使用时,API 代理的 createdBy 显示不正确 |
| APIRT-3121 | 组织资源文件更改未完全生效 |
| APIRT-3117 | MP 达到 100% CPU 利用率并停止处理流量 |
| APIRT-3016 | 部署中的“调用超时”路由器错误 |
| APIRT-2975 | 上传证书包失败 |
| APIRT-2955 | 无法遮盖符合 FHIR 标准的 Content-Type 标头“application/json+fhir”的 JSON 响应数据的某些属性 |
| APIRT-2946 | 即使显示设置为 false,OAuthV2-RefreshToken 政策也不会隐藏属性 |
| APIRT-2908 | 在虚拟主机上更新 TLS1.2 后,必须强制执行内部 API 调用的 TLS1.2 |
| APIRT-2901 | 从缓存返回的 Gzip 压缩响应会被双重压缩 |
| APIRT-2873 | 在删除产品/开发者/代理后,MP 会抛出与 VerifyAPIKey 相关的 NullPointerException |
| APIRT-2871 | IOIntensive 政策在 Trace 中显示两次 |
| APIRT-2825 | 访问令牌错误响应中的语法错误 |
| APIRT-2750 | 特定组织的流量失败次数较多 |
| APIRT-2685 | 由于抛出未知错误,流量无法流动 |
| APIRT-2647 | 非正式版/开发版中出现“底层输入流返回了零字节”错误 |
| APIRT-2630 | 尝试从缓存读取值时出现间歇性问题 |
| APIRT-2620 | 为某些阻塞步骤使用单独的线程池 |
| APIRT-2610 | 使用 ResponseCache 政策时出现 java.lang.ClassCastException |
| APIRT-2608 | Response Cache 政策中的 Last-Modified 标头解析错误 |
| APIRT-2605 | 不应允许通过政策覆盖“组织”和“环境”变量 |
| APIRT-2566 | OAuthV2 政策返回格式错误的 WWW-Authenticate 标头 |
| APIRT-2491 | 由于管理与 mps 之间的 RPC 超时,TargetServer 更新失败 |
| APIRT-2386 | 在“允许的 OAuth 范围”为空的 API 产品中创建空字符串范围 |
| APIRT-2383 | XSL 转换政策在发生错误时似乎不会记录任何数据 |
| APIRT-2364 | OAuth 故障流程变量在出错时未更新 |
| APIRT-2216 | 服务器发送的事件 - 生产环境中的事件流存在问题 |
| APIRT-2079 | 调试 c网址 调用在创建的会话超时过期后未停止 |
| APIRT-1495 | XML 威胁防范未捕获 fhir Content-Type |
| APIRT-347 | 导入时未正确验证 XSL 政策(未按文档所述将结果分配给输出变量) |