API 正快速成为企业最重要的资产之一。让客户和开发人员能够在自己的应用程序和服务中使用 API,从而提供一个富有吸引力的创新和赢利系统。
IBM API Management提供了一种强大的机制来控制 API 访问,管理 API 的多个版本,设置速率限制,最终跟踪产品组合中每个 API 的性能指标和分析结果。与 Bluemix(IBM 最重要的平台即服务)相结合,我们实现了从任何地方对 API 的一站式购买和管理。
在 InterConnect 2015 ,IBM 在 Bluemix 上发布了 API Management 服务的一个 beta 版。自那以后,我们一直在勤勉工作,努力提高该服务的性能和稳定性,现在,我们将非常高兴地发布 Bluemix 上的 API Management 服务的通用版本。
已准备好试用 API Management ?
如果您不熟悉我们的 API Management 工具,此视频演示了本文的步骤:
或者如果您想自行试用它,本文将帮助您快速入门。以下是您将执行的步骤:
- 在 Bluemix 上配置 API Management 服务
- 创建和导入一个新的 API
- 将您的 API 发布到 Bluemix,并与其他 Bluemix 组织共享它们
- 使用来自 Bluemix 应用程序的 API。
本教程需要一个 Bluemix 帐户。如果您没有该帐户,请在此处注册!
第 1 步:配置 API Management 服务
- 打开Bluemix 控制台并登录。
- 导航到目录。
- 从左侧菜单中选择 Integration 过滤器,以减少显示的选项数,然后找到并单击 API Management 磁贴。
此时将会出现服务信息页。 - API Management 目前提供了一个“标准”计划。此计划包含每月 5,000 次免费 API 调用,1 个免费的非 Bluemix 开发人员门户帐户(Bluemix 用户始终拥有开发人员门户),如果您想收集调试信息和 API 分析结果,该计划还提供了 50MB 免费存储空间。
单击 Create 按钮来配置并启动 API Management 服务。
- 此时将会出现 Getting started 页面。如果不熟悉 API Management,我们建议您执行已列出的步骤。如果您知道如何做,可以直接跳到 API Manager。您随时可以单击 Learn more 来查阅相关文档。
第 2 步:创建您的第一个 API
API Manager 允许用户从头创建 API,或者导入基于 Swagger 或 WSDL 定义的现有 API。处于本教程的目的,我们将通过 swagger.io 导入 Pet Store 示例 API。
- 单击 Bluemix 中的 Getting started 页面中的 Import APIs, or compose a new one 链接。API Manager 将在一个新选项卡中打开,加载可能需要一些时间。
- 单击蓝色的 +API 按钮,然后选择 Import Swagger 。
- 接下来,我们可以上传一个 Swagger 文档或通过 URL 引用一个文档。出于教程目的,我们提供了将要导入的 URL。将以下 URL 粘贴到 Swagger URL 字段中: https://raw.githubusercontent.com/mhamann/apim-sample/master/petstore.json 。保留 Username 和 Password 字段为空,然后单击 Load 。
- API Manager 将列出 Swagger 文档中包含的所有 API 和资源。单击 Add 创建 API。
- 新 API 现在已显示在 API 列表中。单击 API 标题打开 API 编辑器。
API 编辑器允许修改各种 API 属性。我们可以更改名称、描述和路径,添加和删除资源,并调整身份验证和授权等选项。 - 单击 API 路径来编辑它。将它从 /v2 更改为 /petstore。
- 接下来单击 Security 选项卡。在选项“Identify Application Using”下,选择 Client ID and Client Secret 。设置此选项可提高您的 API 的安全性。
然后单击靠近页面右上角的 Save API 。
该 API 已成功创建。
第 3 步:创建一个计划
每个 API 都必须包含在计划中,然后才能发布和调用它们。API Management 使用计划来管理对 API 资源的访问,设置速率限制,并将 API 暂存到各种环境中(比如沙盒、测试、生产环境等)。一个计划可包含来自任意多个 API 的资源,以便支持访问具有不同速率限制的资源组。以后,我们将发布这些计划,以便在 Bluemix 中使用它们。
在这一步中,我们将创建一个新计划,将我们的 API 资源添加到其中,设置速率限制,然后部署它。
- 要打开 Plans 页面,可单击 API Manager 中的计划图标或返回到 Getting Started 页面并选择 Next Step。
- 单击 + Plan 按钮。
- 为计划输入一个名称并单击 Add 。
- 新计划将出现在列表中。单击该计划的标题打开计划编辑器。
- 首先,将来自 Pet Store API 的资源添加到计划中。单击 + Resource 按钮。
- API 列表将显示在左侧,API 的资源显示在右侧。如果尚未做出选择,请挑选 Swagger Petstore API,然后选择该 API 中的所有资源。随后单击 Add 。
选择的资源将会出现在计划编辑器的下半部分。 - 接下来我们将设置计划的速率限制。可以为每个资源单独设置速率限制,也可以为整个计划设置速率限制。如果在计划级别上应用速率限制,则会将该限制应用于该计划中的所有资源。
要设置计划的速率设置,可单击 Rate limit 部分的编辑图标。将速率限制设置为: 1 天 10,000 个请求。然后单击 Apply 。
- 单击页面右上角的 Save ,以便持久保存对计划的更改。
- 最后部署该计划。
单击 Deploy 图标显示部署菜单。等待 Sandbox 选项出现,然后选中它。
片刻之后,就会出现一个成功通知。
此刻,计划已部署并能够与其他人共享。
第 4 步:邀请其他人使用您的 API(可选)
API Management 的一个核心原则就是能够允许其他人使用您的 API。通过结合使用 API Management 与 Bluemix,API 可从一个 Bluemix 组织共享到另一个组织。如果您想与另一个组织共享某个 API,可执行以下步骤,否则可以跳到第 5 步。
- 打开 Developers 页面,方法是单击 API Manager 中的开发人员图标,或者返回到 Getting Started 页面并选择 Next Step。
- 单击 + Bluemix Organization 按钮邀请 Bluemix 用户将其组织与您的组织关联。这会使您能够在将来与此组织共享 API。
- 输入您希望与您共享 API 的人的电子邮件地址,然后单击 Invite 。
如果这个人已经是一名 Bluemix 用户,他必须在组织中拥有 Manager 或 Billing Manager 角色。如果这个人还没有 Bluemix 帐户,系统会提示他创建一个帐户,然后才能继续操作。 - 受邀用户的组织不会立即显示在开发人员组织列表中。该用户必须检查他的电子邮件并接受邀请,然后,新组织才会出现在列表中。
完成邀请过程后,前进到第 5 步。
第 5 步:将 API 发布到 Bluemix
- 打开 Management 页面,方法是单击 API Manager 中的管理图标,或者返回到 Getting Started 页面并选择最后一步。
此时将会显示已部署的计划列表。
- 单击 Pet Store – Gold plan 展开该计划,显示目前部署的版本列表。
- 单击该图标来启动计划发布向导:
- 确保选中了 Publish this version ,然后单击 Next 。
- 确保选择了 Select group of developer organizations and communities ,然后在下面的字段中输入或选择 Bluemix 。如果您在第 4 步中邀请了另一个 Bluemix 组织,那么还可以在这里输入他们的组织名称,使该 API 也可供他们使用。 (备注:如果没有立刻显示输入字段,请尝试单击选项“Select group of developer organizations and communities”旁边的蓝色 圆圈,即使已经选中了它。)
- 单击 Publish 。
片刻之后,会出现一个通知,表明已获得成功发布。
第 6 步:将 API 绑定到应用程序
我们已在 API Manager 中成功创建了我们的 API 并将它发布到 Bluemix。它现在将会显示在我的组织的 Bluemix 目录中。操作过程的最后一步是配置 API,将它绑定到一个应用程序,然后观察数据流!
出于本教程的目的,我们将创建一个新的 Node.js 应用程序,然后配置我们的 API 并将其绑定到该应用程序。 (可使用任何类型的应用程序来使用此 API,并不仅限于 Node.js。)
- 打开 Bluemix 仪表板并单击 Create an app 。
- 单击 Web 。
- 单击 SDK for Node.js ,然后单击 Continue 按钮。
>
为应用程序提供一个名称,然后单击 Finish 。 (此名称应是唯一的,所以请保持该名称是有创意的或者使用您的首字母。) - 创建应用程序后,单击 Overview 部分。
- 接下来单击 Add a service or API 。此时将会出现 Bluemix 目录。在左侧边栏上选择 Custom APIs 过滤器,然后单击 Swagger Petstore 磁贴来打开 API 详细信息。
此时将会显示 API 的详细信息,包括它提供的所有资源、参数、示例响应等。
- 您可以注意到,我们选择了我们创建的应用程序,所以只需按下 Create 按钮来配置该 API 并将它绑定到该应用程序。如果要求您重新载入该应用程序,请单击 Restage 。Swagger Petstore 现在已绑定到该应用程序。我们只需测试它,确保它能正常工作。
- 最后,让我们获取 API 凭证并进行测试。单击左侧的 Environment Variables 。
此时将会显示变量 VCAP_SERVICES,它包含 Swagger Petstore API 的详细信息。我们主要关注的是调用该 API 所需的凭证,包括客户端 ID、客户端密钥和 URL。
第 7 步:测试 API
可使用 Postman 等工具来测试该 API。我们将在这里演示此过程。
- 打开 Postman 实用程序或等效工具。
- 在 URL 字段中,输入类似这样的 URL:
<credentials.url>/pet/findByTags?tags=tag1&client_id=<credentials.client_id>&client_secret=<credentials.client_secret>
(将 < > 中的内容替换为来自您的环境变量的凭证的合适值。)
在 Postman 中,设置界面类似于下图:
-
单击 Send 执行该 API 请求。如果一切正常,输出应类似于下图:
恭喜您!您已设置了一个托管 API,通过计划发布了它,而且调用了它!
原文 http://www.ibm.com/developerworks/cn/websphere/zones/api_management/getting-started-bluemix-api-management-service/index.html?ca=drs-