4.17.01 - 用于私有云的 Edge 版本说明

您正在查看 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 界面时显示意见征求横幅。意见征求横幅会显示 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 选项。而是改用 configurerestart 选项。如需了解详情,请参阅 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 查找,请执行以下操作:

  1. 在每个消息处理器节点上,修改 /etc/nscd.conf
  2. 设置以下属性:
    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)。例如,以下命令会获取一个名为 VerySecureKVMapiproxy 范围的 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 上不起作用