您正在查看 Apigee Edge 文档。
请查看 Apigee X 文档。
2017 年 1 月 25 日(星期三),我们发布了适用于私有云的新版 Apigee Edge。
自上一个私有云功能版本边缘发布以来,以下版本已经发生,并且已包含在此功能版本中:
请参阅关于版本编号,了解如何确定特定 Cloud 版本是否包含在您的私有云 Edge 版本中。
版本概览
此版本包含许多重要的功能,可帮助您更好地控制 API 并确保 API 的安全。
通过共享流程和流程钩子,您可以跨多个 API 代理创建一组可重复使用的政策和行为。
键值对映射 (KVM) 一直是边缘功能,用于长期保留键值对,现在则经过加密以增强数据安全性。
为了更灵活地控制开发者对您 API 的访问,边缘管理界面提供了更多选项,供您创建和管理 API 密钥和密钥(凭据)、撤消开发者应用,以及停用开发者。这些增强功能可让您更轻松地实现 API 密钥轮替等策略,并允许您通过撤消开发者应用(所有密钥均已停用)或停用开发者(开发者的所有应用和密钥均处于停用状态)来停用多个 API 密钥。
弃用创收功能的该功能已被弃用。
本主题的其余部分包含此版本中包含的所有新功能、更新和 bug 修复的详细信息。
弃用和退休
此版本弃用或弃用了以下功能。如需了解详情,请参阅 Edge 弃用政策。
已停用:创收限制(Cloud 16.10.26 界面)
创收管理限制功能已从管理界面中移除(管理 > 限制)。请参阅弃用通知了解详情,包括要使用的说明:http://docs.apigee.com/monetization/content/limit-feature-deprecation-notice。 (DEVRT-3259)
移除了对 RedHat/CentOS 6.5 版的支持
如果您目前使用的是 RedHat/CentOS 6.5 版,则必须将您的操作系统更新到 6.6 版或更高版本,然后再更新到 Edge 4.17.01。
新功能和更新
以下是此版本中的新功能和增强功能。除了以下增强功能之外,此版本还包含多项易用性、性能、安全性和稳定性增强功能。
如需更多详细信息和说明,请参阅“适用于私有云的 Edge”文档。
私有云
现在可以在 Edge 界面中显示意见征求横幅
您可以在用户首次访问 Edge 界面时显示意见征求横幅。意见征求横幅会显示 HTML 格式的文本和一个按钮,供用户选择继续使用登录屏幕。 如需了解详情,请参阅启用意见征求横幅。
API BaaS 支持多个数据中心
您现在可以在多个数据中心安装 API BaaS。如需了解详情,请参阅为 API BaaS 安装多个数据中心。
新的 API BaaS 安装配置参数
API BaaS 配置文件中新增了两个配置参数:
- BAAS_CASS_DC_LIST - 指定 BaaS 数据中心的区域名称。对于单个数据中心,请指定与 BAAS_CASS_LOCALDC 相同的值。
- BAAS_CLUSTER_SEEDS - 指定用于定义 BaaS 集群的种子的 BaaS 堆栈节点。
如需了解详情,请参阅将 Apigee Edge 4.16.09 更新为 4.17.01。
不再针对 API BaaS 使用“apigee-service 命令”运行“部署”选项
API BaaS 堆栈和门户不再支持 apigee-service 命令的 deploy 选项。而是改用 configure 和 restart 选项。如需了解详情,请参阅 API BaaS 安装。
API BaaS 的新端口要求
现在,所有 BaaS 堆栈节点都必须打开端口 2551,以便从所有其他 Stack 节点进行访问。如果您有多个 BaaS 数据中心,必须能从所有数据中心的所有堆栈节点访问该端口。
如需了解详情,请参阅 API BaaS 安装和安装要求。
开发者服务门户现在使用 Postgres 作为数据库,使用 Nginx 作为网络服务器
对于所有新安装的应用,门户都会使用 Postgres 作为其数据库,而不是 MySQL 和 MariaDB。从以前的版本升级到 4.17.01 的客户会继续使用 MySQL 或 MariaDB。
4.17.01 的新安装还会将 Nginx 作为网络服务器安装。从以前的版本升级到 4.17.01 的客户会继续使用 Apache。
默认情况下,开发者服务门户不再启用 SmartDocs
您必须在门户上启用 SmartDocs。如需详细了解 SmartDocs,请参阅使用 SmartDocs 记录 API。
开发者服务门户现已从每千次展示收入安装
4.17.01 版本的开发者服务门户是使用与 Edge 和 API BaaS 相同的代码库和工具从 RPM 安装的。如需了解详情,请参阅开发者服务门户安装。
基于 RPM 的安装和基于 .tar 的更新程序使用不同的组件:
基于每千次展示收入的安装 |
.tar 安装 |
|
---|---|---|
网络服务器 |
Nginx |
Apache |
网站根目录 |
/opt/apigee/apigee-drupal |
/var/www/html |
Port(端口) |
8079 |
80 |
数据库 |
PostgreSQL |
MySQL |
PHP |
php-fpm (FastCGI) |
mod_php(使用 Apache 进程中) |
Qpid 已升级到版本 1.35
此版本包含 Qpid 1.35 版。
Cassandra 已升级到版本 2.1.16
此版本包含 Cassandra 版本 2.1.16。
Play 已升级到版本 2.4
此版本包含 Play 2.4 界面框架。
新增了对 RedHat/CentOS 7.3 版的支持
Edge 现在支持 RedHat/CentOS 7.3 版。
Beta 版监控信息中心更新
Beta 版 Monitoring 信息中心 Beta 已更新为:
- 添加了新的 Cassandra、Zookeeper、OpenLDAP、Postgres 和 Qpid 信息中心。
- 将 4.16.09 版本中的 Inflowx 从 0.11 版升级到 1.0.2 版。
- 添加了许多稳定性修复。
如需了解详情,请参阅 Apigee Monitoring 信息中心 Beta 版概览。
现在可以在安装配置文件中设置 Postgres 密码
使用 PG_PWD 属性在安装配置文件中设置 Postgres 密码。 如需了解详情,请参阅 Edge 配置文件参考。
启用 EPEL 代码库
您必须启用适用于企业 Linux(或 EPEL)的 extra 软件包,才能安装或更新 Edge。如需了解详情,请参阅安装要求。
您使用的命令取决于您的 RedHat/CentOS 版本:
- 对于 RedHat/CentOS 7.x:
> wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm; rpm -ivh epel-release-latest-7.noarch.rpm - 对于 RedHat/CentOS 6.x:
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm; rpm -ivh epel-release-latest-6.noarch.rpm
使用 NSCD(名称服务缓存守护程序)时,在 IPv6 上停用 DNS 查找
如果您已安装并启用 NSCD(名称服务缓存守护程序),则消息处理器会执行两次 DNS 查找:一个用于 IPv4,另一个用于 IPv6。使用 NSCD 时,您必须停用 IPv6 上的 DNS 查找。如需了解详情,请参阅安装要求。
如需在 IPv6 上停用 DNS 查找,请执行以下操作:
- 在每个消息处理器节点上,修改 /etc/nscd.conf。
- 设置以下属性:
enable-cache host no
API 服务
用于实现 API 代理的共享流程和流程钩子 (Cloud 16.09.21)
通过新的“共享流”功能,您可以将 API 代理中的功能付诸使用。通过将条件式政策和资源组合到共享流中,您可以从任何 API 代理引用该资源,以执行可重复使用的单源逻辑。例如,共享流程可能会验证 API 密钥、防止峰值激增和记录数据。
您可以在管理界面 (API > 共享流) 中定义共享流,然后通过两种不同的方式引用这些流:
- 通过 API 代理中的新流程调用程序政策
或 -
有了一个名为“流程钩子”的新工件,这些工件位于以下位置:
通过这些连接点,您可以在各个代理的主要流程点之前或之后执行操作逻辑。您可以在管理界面中为这些流程钩子位置分配共享流(API > 环境配置 > 流程钩子)。
- 请求:在 ProxyEndpoint PreFlow 之前、TargetEndpoint PostFlow 之后
- 响应:在 TargetEndpoint PreFlow 之前、ProxyEndpoint PostFlow 之后
如需了解详情,请参阅可重复使用的共享流和使用流程钩子附加共享流。
加密的键值对映射 (Cloud 16.09.21)
您可以创建加密的键值对映射 (KVM),用于存储凭据或 PII/HIPAA 数据等敏感信息。此功能与现有的 Edge 安全存储区(保险柜)不同,因为保险柜值只能通过 Management.js(以及 Management API)访问。您可以使用 Node.js 或键值对映射操作政策访问加密的 KVM 值。
创建加密的 KVM
- 使用现有的 KVM Management API。创建 KVM 时,如果您在载荷定义中包含
“encrypted”: “true”
,Edge 会生成与 KVM 具有相同范围的加密密钥,并使用该密钥加密 KVM。 - 您无法使用键值对映射操作政策来创建加密的 KVM。您必须先使用 KVM 管理 API 创建加密的 KVM,然后才能在政策中使用它。
- 您无法加密现有的未加密 KVM。
使用加密的 KVM
- 使用键值对映射操作政策来获取和更新加密的 KVM 值。
- 获取加密的键值对时,请在变量中添加前缀“key”。例如
<Get assignTo="private.secretVar">
。该private.secretVar
变量用于存放解密的值。 - 使用政策更新值时,您无需执行任何特殊操作。该值将在加密的 KVM 中自动加密。
- 您还可以使用 Node.js 代码中的 apigee-access 模块来访问解密的值。使用函数
getKeyValueMap()
根据名称和范围检索 KVM。返回的对象上有两个函数:用于获取键名数组的getKeys(callback)
和用于获取特定键的值的get(key, callback)
。例如,以下命令会获取一个名为VerySecureKVM
的apiproxy
范围的 KVM,并检索key1
的加密值:var apigee = require('apigee-access'); var encryptedKVM = apigee.getKeyValueMap('VerySecureKVM', 'apiproxy'); encryptedKVM.get('key1', function(err, secretValue) { // use the secret value here });
如需了解详情,请参阅使用键值对映射和在 Node.js 中访问键值对映射。
(APIRT-1197)
在界面中创建加密的键值对映射(16.10.26 界面)
在管理界面中(API > 环境配置 > 键值对映射)创建环境范围的键值对映射 (KVM) 时,可以通过新建的加密复选框创建加密的 KVM。将密钥添加到 KVM 后,已加密的值在管理界面中会显示为星号 (*****)。您可以将密钥/值添加到已加密的 KVM 中,就像添加未加密的 KVM 一样。Cloud 版本 160921 已全面支持加密的 KVM。(EDGEUI-764)
API 代理元数据中包含的 OpenAPI 规范网址 (Cloud 16.09.21)
当您根据 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)
为 SOAP 代理生成 CloudAPI 规范(Cloud 16.10.05 界面)
当您创建基于 WSDL 的“REST to SOAP to REST”代理时,Edge 会根据代理资源自动生成托管的 OpenAPI 规范。您可以访问 http(s)://[edge_domain]/[proxy_base_path]/openapi.json
查看该规范。但是,转换并非总是准确无误,因为并非所有 XML 架构的规则都可以用 OpenAPI 规范表示 (EDGEUI-718)。
适用于边缘 SOAP 代理的边缘托管 WSDL(Cloud 16.10.05 界面)
当您创建基于 WSDL 的“直通式 SOAP”代理时,Edge 会托管该 WSDL 并在该代理中创建一个数据流,以便您访问它。您可以通过 http(s)://[edge_domain]/[proxy_base_path]?wsdl
访问托管的 WSDL,这是通过代理调用 SOAP 服务的客户端的新服务端点网址。(EDGEUI-718)
API 代理向导中的新示例股票报价 WSDL (Cloud 16.08.24.01)
使用 API 代理向导创建 SOAP 服务 API 时,您可以在示例中找到替换股票报价 WSDL:https://ws.cdyne.com/delayedstockquote/delayedstockquote.asmx?WSDL。 (EDGEUI-655)
开发者服务
开发者界面中的优秀应用管理 (Cloud 16.10.05 UI)
边缘应用中的开发者应用管理更强大,并提供多项增强功能:
- 您可以在新的“应用状态”字段中撤消和批准应用(在修改模式下)。在视图模式下,该字段还会显示当前的应用状态。如果应用被撤消,其 API 密钥都将对 API 调用无效。它们本身不会被撤消,并且在开发者重新获得批准后仍可再次使用。当应用处于已撤消状态时,API 密钥的“已批准”标签会以删除线显示。
- API 密钥失效日期现已显示在“开发者应用详情”页面上,而密钥在失效日期则位于“凭据”部分中。例如,一个没有有效期的密钥会显示在一组关联的 API 产品中,而一个密钥有效期为 90 天的密钥会显示在另一个密钥组及其关联的产品中。您无法更改现有凭据的有效期。
- 利用开发者应用修改模式下的新“添加凭据”按钮,您可以生成具有特定到期时间或日期(或没有到期日期)的 API 密钥。在创建凭据后(或之后),您可以向凭据中添加 API 产品。
此功能将取代“开发者应用详情”页面上的“重新生成密钥”按钮。该按钮已被移除。
这些增强功能在界面中添加了 Management API 中已有的功能。(EDGEUI-104)
在界面中启用/停用应用开发者(Cloud 16.10.05 界面)
您可以在边缘界面(“应用开发者详细信息”页面、“修改模式”“启用/停用”按钮)上更改应用开发者的状态。当开发者处于无效状态时,她的开发者应用 API 密钥或使用这些密钥生成的 OAuth 令牌在调用 API 代理时都无效。(EDGEUI-304)
界面中的无效开发者指示符(16.10.26 界面)
当应用开发者设置为“无效”时,开发者的应用和凭据即使处于“已批准”状态,也不再有效。现在,在管理界面中查看非活跃开发者的应用和凭据时,应用和凭据上的“已批准”状态标签会以带删除线的文本显示,而且该标签上会显示鼠标悬停提示,表明开发者处于非活跃状态。如果开发者恢复为“有效”状态,则她已获批准的应用和凭据会再次有效,并且“已批准”标签中带删除线的文本会被移除。 (EDGEUI-728)
Google Analytics(分析)服务
重命名了“错误代码分析”信息中心(16.10.26 界面)
“错误分析”信息中心已重命名为“错误代码分析”。信息中心包含 API 调用(HTTP 状态代码为 4xx 和 5xx)。(EDGEUI-738)
代理信息中心上的 TPS 数据(16.10.26 界面)
主代理流量信息中心新增了每秒平均事务数据(平均 TPS)数据。此外,将鼠标悬停在“代理流量”和“代理性能”图表上的单个数据点上时,提示中会显示该时间间隔的 TPS。 (EDGEUI-668)
Google Analytics(分析)错误显示界面(16.10.26 界面)
当分析信息中心收到 500 错误时,无论出现什么错误,管理界面都会显示“报告超时”。为了提供更好的问题排查功能,界面现在会显示实际错误。(EDGEUI-753)
已修复 Bug
此版本中修复了以下 Bug。此列表主要供用户检查其支持服务工单中的问题是否已修复,并非旨在为所有用户提供详细信息。
适用于私有云 4.17.01 的 Edge
问题 ID | 说明 |
---|---|
APIBAAS-1990 | 当 smtp.auth 为 false 时,API BaaS 堆栈不再尝试向 SMTP 进行身份验证 |
APIRT-3032 |
现在,运行“apigee-service baas-usergrid restart”命令也会运行“configure” 您无需再针对 BaaS 堆栈运行“apigee-service baas-usergrid configuration”,然后运行“apigee-service baas-usergrid restart”。 |
APIRT-3032 |
如果主机名是 IP 地址,请勿执行 DNS 查找。 |
DOS-4070 |
“apigee-all -version”现在会显示 Edge-mint-* 每千次展示收入的版本 |
DOS-4359 |
添加了“pdb”选项以仅安装 Postgres 数据库。 仅在安装开发者服务门户时使用。请参阅开发者服务门户安装。 |
Cloud 16.10.26 (UI)
问题 ID | 说明 |
---|---|
EDGEUI-768 | 使用 StockQuote WSDL 创建代理失败 |
Cloud 16.09.21_9
问题 ID | 说明 |
---|---|
MGMT-3674 | 无法为启用了 HIPAA 的组织创建加密的 KVM 或保险柜 |
MGMT-3647 | 如果用户遇到使用大写字母的电子邮件地址,系统会抛出 403 角色 |
Cloud 16.09.21
问题 ID | 说明 |
---|---|
APIRT-3507 | JavaScript 服务宣传信息的间歇性错误(例如 SNI 错误) |
APIRT-3408 | MP 版本 160817 apigee-aacc analytics 模块以不同方式处理消息 |
APIRT3390 |
刷新访问令牌政策返回的错误响应发生变化 |
APIRT-3389 | |
APIRT-3381 | 客户生产代理的延迟时间较长 |
APIRT-3366 | 无法在所有新的试用组织遵循 JavaScript 政策 |
APIRT3363 | 网址解析无效,应用返回了 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 利用率达到 100%,并停止处理流量 |
APIRT-3064 | 路由器 - 来自路由器的自定义 503 错误消息 |
APIRT2620 | 针对某些阻塞步骤拆分线程池,以改进负载处理 |
CORESERV-774 | 使用包含无效 APIproduct 引用的有效密钥的访问会导致内部服务器错误 |
Cloud 16.10.05 (UI)
问题 ID | 说明 |
---|---|
EDGEUI-697 | “报告”页面导出按钮 “自定义报告”按钮已从自定义报告首页中移除。每个自定义报告页面上都有报告导出功能。 |
Cloud 16.08.24.01
问题 ID | 说明 |
---|---|
EDGEUI-663 | 为 Weather.wsdl 的 WeatherHttpGet 端口生成的代理运行时失败,并显示 500 错误 为 SOAP 服务生成 API 代理时,API 代理向导中不会再显示没有 SOAP 协议绑定的 WSDL 端口。这是设计行为,因为向导只会生成 SOAP 请求。 |
EDGEUI-658 | SOAP WSDL 透传操作名称问题 |
EDGEUI-653 | 选择“启用 Cors”选项时创建 node.js API 代理时出错 |
EDGEUI-648 | 在界面中发起通话(超时时间为 2 到 3 分钟) |
EDGEUI-623 | 组织历史记录“更改日期”按钮在 Firefox 上不起作用 |