您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档。 信息
2016 年 8 月 30 日,星期二,我们发布了适用于公有云的新版 Apigee Edge。
新功能和更新
以下是此版本中的新功能和更新:
“分配消息”和“引发故障”中的 JSON 载荷
使用此增强功能时,无需采取任何变通措施来确保 JSON 消息格式设置正确无误,而且可以使用大括号指定变量,而不会创建无效的 JSON。例如,以下代码会在 JSON 消息中插入 message.content 的值:
<Payload contentType="application/json">{"message" : "{message.content}"}</Payload>
如果您使用了变通方案,代码将继续照常运行。您也可以使用 variablePrefix 和 variableSuffix (而不是大括号)来指示变量。
请参阅分配消息政策和引发故障政策参考文档中的 <Set><Payload> 元素。(APIRT-1160)
从 XML 到 JSON 的政策增强功能
通过以下功能增强了“从 XML 到 JSON”政策。您可以将政策配置为:
- 在转换过程中将一些 XML 元素视为数组,这会在 JSON 文档中将值置于方括号“[ ]”中。
- 在最终 JSON 文档中剥离或删除 XML 文档层次结构的级别。
如需了解详情,请参阅有关从 XML 到 JSON 的政策。(APIRT-1144)
API 产品资源路径中存在多个通配符
在 API 产品中定义资源路径时,您可以在资源路径中的多个位置添加通配符。例如,/team/*/invoices/**
允许在 /team
之后使用任何一个值以及 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 调用程序 JAR 版本检查
将 Java JAR 资源上传到 API 代理时,如果 Java 资源的版本与 Edge 支持的 Java 版本(列在支持的软件和支持的版本中)不兼容,系统会返回 HTTP 400 状态代码(而不是 500)。(MGMT-3420)
API 代理资源验证
如果您在环境或组织范围内存储 API 代理资源文件(例如 JavaScript 或 Java JAR),验证框架不再需要在代理软件包中也包含 API 代理级别的这些资源以通过验证。现在,资源验证是在部署时(而不是导入时)进行的。(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 上配置的方式相同。但是,Message Logging TLS/SSL 仅支持 TCP 协议。(APIRT-1858)
已修复 Bug
此版本中修复了以下 Bug。此列表主要供用户检查其支持服务工单中的问题是否已修复,并非旨在为所有用户提供详细信息。
问题 ID | 说明 |
---|---|
SECENG-609 | 在删除关联的信任库期间或信任库中的有效证书被删除期间,运行时调用不会失败 |
MGMT-3404 | 查看/检索 Node.js 日志和部署代理的速度非常缓慢 |
MGMT-3400 | 如果执行调用的用户的名字中带有“+”符号,则调用 /userroles Management API 会失败 |
MGMT-3368 | java.lang.ArrayIndexOutOfBoundsException: 1(导入包含 resources/node/resources 目录的 API 代理软件包时) |
MGMT-3364 | OAuthV2:redirect_uri 检查 |
MGMT-3319 | 列出保险柜中其中一个条目具有 null 值的条目不适用于组织(CPS 和非 CPS) |
MGMT-3226 | 在组织/环境级别进行查询不应拉取导致 API 失败的所有数据 Release_160302 存在一个 bug:当资源的累计大小超过 16MB 时,无法列出组织级别/环境级别的资源,此修复会解决此问题。 |
AXAPP-2429 | 使用 request_status_code 的 Google Analytics(分析)API 返回数据访问错误 |
AXAPP-2386 | 解决 Google Analytics(分析)每日电子邮件报告中空白的报告内容的问题 |
AXAPP-2347 | 未收到每日分析摘要电子邮件 |
APIRT-3141 | 在调用新的 ExecutionResult() 时,Java 调用程序会失败,因为构造函数已变为私有状态 |
APIRT-3140 | ServiceCallout 政策在 HEAD API 调用中不起作用 |
APIRT-3131 | 通过外部身份验证提供方创收时,API 代理的 createdBy 不正确 |
APIRT-3121 | 对组织资源文件做出的更改并非 100% 有效 |
APIRT-3117 | MP 的 CPU 利用率达到 100% 并停止处理流量 |
APIRT-3016 | 部署中的路由器“调用超时”错误 |
APIRT-2975 | 上传证书文件包失败 |
APIRT-2955 | 无法遮盖 FHIR-complaint Content-Type 标头“application/json+fhir”的 JSON 响应数据的某些属性 |
APIRT-2946 | OAuthV2-RefreshToken 政策,即使 display 设置为 false 也不隐藏属性 |
APIRT-2908 | 在虚拟主机上更新 TLS1.2 后,必须为内部 API 调用强制使用 TLS1.2 |
APIRT-2901 | 从缓存返回的经过压缩的响应被双重压缩 |
APIRT-2873 | 删除产品/开发者/代理后,MP 会抛出与 VerifyAPIKey 相关的 NullPointerException |
APIRT-2871 | IO 密集型政策在 Trace 中出现两次 |
APIRT-2825 | 访问令牌错误响应中的语法错误 |
APIRT-2750 | 特定组织中的流量失败情况较高 |
APIRT-2685 | 抛出未知错误,流量无法流动 |
APIRT-2647 | nonprod/dev 出现“底层输入流返回零字节”错误 |
APIRT-2630 | 尝试从缓存读取值时出现间歇性问题 |
APIRT-2620 | 为某些阻塞性步骤单独的线程池 |
APIRT-2610 | 具有响应缓存政策的 java.lang.ClassCastException |
APIRT-2608 | 响应缓存政策中的 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 | 在创建会话的超时后,DEBUG c网址 调用未停止 |
APIRT-1495 | XML 威胁防护未捕获到 Content-Type |
APIRT-347 | XSL 政策在导入时未得到正确验证(不按照记录的那样将结果分配给输出变量) |