管理 API 产品

本页面适用于 ApigeeApigee Hybrid

查看 Apigee Edge 文档。

API 产品可捆绑您的 API,并将其提供给应用开发者使用。如需简要了解 API 产品,请参阅什么是 API 产品?

浏览“产品”概览页面

产品概览页面会显示您的所有 API 产品以及每个产品的一些详细信息。在此页面上,您可以创建新的 API 产品、删除产品或选择要查看或修改的产品。

如需访问产品概览,请执行以下操作:

通过“产品”界面,您可以执行以下常见任务:

下面各节内容对这些任务做出了说明。

创建 API 产品

本部分介绍了如何使用 Apigee 界面来创建 API 产品。

如需使用 Apigee 界面来创建 API 产品,请执行以下操作:

  1. 如果您使用的是 Cloud 控制台中的 Apigee 界面,请选择分发 > API 产品。如果您使用的是经典版 Apigee 界面,请选择发布 > API 产品
  2. Apigee 会显示产品概览页面。
  3. 点击 + 创建 (+ Create)。此时将显示产品配置页面。
  4. 配置 API 产品。产品配置页面的各部分如下:
    • 产品详细信息:有关 API 产品的基本信息,例如名称、访问权限级别(不公开、公开或内部)和 OAuth 范围。
    • 操作:此 API 产品支持的 API 代理、资源路径和 HTTP 方法组。您还可以为每项操作定义配额限制。
    • GraphQL 操作:此 API 产品支持的 API 代理、资源路径和 GraphQL 操作类型组。支持的 GraphQL 操作类型包括查询和变更。您可以指定查询或变更,也可以同时指定这两种类型。与基于 REST 的 API 代理一样,您可以定义每项操作的配额限制。
    • gRPC 操作:指定此 API 产品支持的 gRPC API 代理和 gRPC 方法。与基于 REST 的 API 代理一样,您可以定义操作的配额限制。
    • 自定义特性:可帮助您控制 API 代理执行的键值对。

    以下几部分分别介绍了这些主要部分。

  5. 完成之后,点击保存。Apigee 会创建新的 API 产品。现在,您可以将该产品附加到开发者应用中。请参阅通过注册应用来控制对 API 的访问权限。如需查看其他示例,请参阅通过要求 API 密钥保护 API使用 OAuth 保护 API

产品详情

产品详情部分,输入新 API 产品的基本信息。下表介绍了此部分中的字段:

字段 是否必需? 说明
Name 必填

定义 API 产品的内部名称。您可以在引用 API 产品的 Apigee API 中使用此值。Name 字段的值可以包含字母数字字符、空格和以下各项:_ - . # $ %

例如 My API Productmy-product

Display name 必填

定义 API 产品中用于 API 产品的名称。您可以随时修改 API 产品的显示名。

Display name 可以包含特殊字符。

例如 <My> API Product!!!

Description 可选

可帮助您记住 API 产品的用途或功能的字符串。说明可以包含特殊字符。

例如 The one where I let dev apps read but not write to the "/accounts" endpoints.

Environment 可选

标识 API 产品可以访问的环境。 如果未指定环境,则 API 产品将允许所有环境。

您在此字段中选择的环境会根据部署它们的位置来限制对 API 代理的访问。例如,如果将 API 代理 A 同时部署到 testprod 环境,但 API 产品仅选择了 test 环境,则 API 调用将仅允许访问 test 环境中部署的 API 代理 A。 如需详细了解环境,请参阅环境和环境组简介

Access 必填 为该 API 产品用户的访问权限级别。如需了解详情,请参阅访问权限级别
Automatically approve access requests 可选(默认选择)

自动批准从任何应用向此 API 产品发出的密钥请求。如需要求手动批准密钥,请停用此选项。

默认值处于选中状态,这表示此 API 产品会自动批准密钥请求。

如果您选择手动密钥审批,则必须批准来自使用此 API 产品的任何应用的密钥请求。要手动批准密钥,请执行以下操作:

  • 界面:依次选择发布 > 应用,再选择该应用并对其进行修改。然后点击批准
  • API:使用开发者应用密钥 API

如需了解详情,请参阅注册应用和管理 API 密钥

Quota 可选

定义对此 API 产品允许的请求数的限制。此值适用于此 API 产品的所有操作请求的总和。

此值会替换为您为 API 产品所定义操作设置的更具体的配额限制。

输入配额值不会自动对可通过 API 产品进行的调用数量施加限制。您还必须将Quota 政策添加到 API 产品引用的 API 代理中。

如需了解详情,请参阅配额

Allowed OAuth scope 可选 如果要将 OAuth 用于 API 产品,请输入您想让 API 产品允许的 OAuth 范围列表(例如 Read 或应用通过其 API 调用发送的其他范围),该列表以英文逗号分隔。如需了解详情,请参阅 OAuth 范围

运维

指定在基于 HTTP 的 API 代理上允许的操作,包括资源路径、HTTP 方法和配额。借助各项操作,您可以控制哪些 REST 方法可以访问 API 产品中的哪些资源路径,以及可以发起多少此类调用(利用配额实现)。

如需配置操作详情,请点击操作部分中的 + 添加操作。此时将显示操作视图。

字段 是否必需? 说明
API proxy 必填

选择要与此操作关联的 API 代理。

Path 必填

输入操作的资源路径。

您可以使用操作路径允许或禁止向特定 URI 发送请求。例如,如果您将操作的来源设置为 music API 代理(基本路径为 /music),则 API 产品允许调用 /music 下的所有子路径。但是,如果您希望 API 产品仅允许访问 URI 为 /music/venuesvenues 资源路径,请将 /venues 添加为操作的路径。您可以对所有操作或特定操作执行此操作。

在这种情况下,允许调用 /music/venues?name=paramount,但对 /music/artists?name=Jack%Johnson 的调用会被阻止。

请注意,如配置资源路径中所述,资源路径中有一些针对通配符的特殊规则。

Methods 可选

在下拉列表中选择一个或多个 HTTP 请求方法。(这些方法有时称为 HTTP 动词。)Apigee 允许发送到 API 代理的请求仅与您选择的方法匹配。

默认设置为不选择,这允许使用任何 HTTP 方法发出请求。

如果您未选择至少一种方法,Apigee 会在您保存操作时插入 ALL 作为此字段的值。

如需了解 HTTP 请求方法的功能,请参阅 HTTP 请求方法

Quota 可选 指定此操作的配额限制。如需详细了解如何计算配额,请参阅了解配额计数器
Custom attributes 可选 请参阅自定义特性

GraphQL 操作

如需配置 GraphQL 操作详情,请点击 Graphql 操作部分中的 + 添加操作。此时将显示操作视图。另请参阅使用 GraphQL

字段 是否必需? 说明
API proxy 必填

选择要与此操作关联的 API 代理。

Operation name 必填

指定操作的名称

Operation type 可选

从下拉列表中选择一个或多个 GraphQL 操作类型。Apigee 仅允许向 API 代理发送与您选择的操作类型匹配的请求。

默认为“无选择”,即允许具有任何操作类型的请求。

如果您未选择至少一个类型,Apigee 会在您保存操作时插入 ALL 作为此字段的值。

如需了解 GraphQL 操作类型的功能,请参阅查询和变更

Quota 可选 指定此操作的配额限制。此配额会取代在 API 产品上设置的配额。请参阅配额
Custom attributes 可选 请参阅自定义特性

gRPC 操作

如需配置 gRPC 操作详情,请点击 gRPC 操作部分中的 + 添加操作。此时将显示操作视图。另请参阅创建 gRPC API 代理

字段 是否必需? 说明
API proxy 必填

选择要与此操作关联的 API 代理。

Service name 必填

指定操作的名称。

对于当前版本,没有提供目标服务器名称的选项。(服务名称和目标服务器相同)。

gRPC methods in service 可选

输入可用的 gRPC 方法,以英文逗号分隔多个方法的列表。

Quota 可选 为这些操作指定配额限制。此配额会取代在 API 产品上设置的配额。请参阅配额
Custom attributes 可选 请参阅自定义特性

自定义属性

自定义属性是可通过多种方式(包括帮助控制 API 代理执行)使用的键值对。

一个 API 产品总共最多可以有 18 个自定义属性,其中包括对操作设置的属性。

例如,您可以创建一个名为 deprecated 且值为 truefalse 的自定义属性。在 API 代理流中,您可以查看 API 产品的 deprecated 属性的值。如果其值为 true,则您可以使用 RaiseFault 政策来抛出错误,因为您希望该操作就像被弃用并且不再受支持一样。

配额

定义 API 代理或操作范围内的配额设置。如果您定义了配额,则必须在 Quota 下指定三个字段:

  1. 第一个字段用于指定在指定的时间段内,允许开发者应用向 API 代理发送的请求数上限。

    此字段对应于 Quota 政策中的 <Allow> 元素。

  2. 第二个字段用于指定配额的重置频率(或时间间隔)。

    此字段对应于配额政策中的 <Interval> 元素。

  3. 第三个字段用于指定重置期类型(或时间单位),例如天、周或月。

    此字段对应于配额政策中的 <TimeUnit> 元素。

以下示例设置每天向 API 代理发送 1,000 个 GETHEADTRACE 请求的限制(所有其他 HTTP 请求均会被忽略):

向操作添加新配额

以下示例设置每 3 分钟向 /mypath 资源发送 42 个请求的限制(无论 HTTP 方法如何):

向操作添加新配额

为操作定义配额时,您必须在配额部分中输入这三个字段的值。

您无法针对同一操作为多个 HTTP 方法定义不同的配额。如需实现此目的,您需要创建多个 API 产品,并为每个产品定义特定于方法的配额。

如果您在配额政策和 API 产品中设置这些值(在此处所述的界面中或通过 API Products API),则 API 产品界面/API 设置的优先级更高。

配置资源路径

请注意资源路径的以下规则:

  • /:表示支持基本路径及其所有子路径。
  • /**:表示支持基本路径的所有子路径(但不支持基本路径)。
  • /*:表示仅支持基本路径的下一级 URI。
  • 在 API 产品或其操作中指定的资源路径适用于添加到 API 产品的所有 API 代理。
  • 更广泛、较不具体的资源路径优先于更具体的资源路径。例如,如果添加 //**,则 / 资源路径优先,/** 资源路径会被忽略。

下表显示了 API 产品针对不同资源路径的默认行为。在此示例中,API 代理的基本路径为 /v1/weatherapikey。API 产品资源路径适用于基本路径后面的路径后缀。

请求 URI / 允许 /* 允许 /** 允许 /*/2/** 允许 /*/2/* 允许
/v1/weatherapikey
/v1/weatherapikey/
/v1/weatherapikey/1
/v1/weatherapikey/1/
/v1/weatherapikey/1/2
/v1/weatherapikey/1/2/
/v1/weatherapikey/1/2/3/
/v1/weatherapikey/1/a/2/3/

默认情况下,API 产品中的资源路径 / 支持基本路径和所有子路径。例如,如果 API 代理的基本路径为 /v1/weatherapikey,则该 API 产品支持对 /v1/weatherapikey 以及任何子路径(例如 /v1/weatherapikey/forecastrss/v1/weatherapikey/region/CA 等)的请求。

对于 API 产品,您可以更改此默认值,以使 / 的资源路径仅对应于 API 代理的基本路径。这意味着,API 产品将不允许访问位于 / 之后的任何 URI。如果您进行此项更改,则上表中的“允许 /”下只允许前两行。

如需了解其他信息,请参阅了解 API 产品配置

修改 API 产品

如需修改 API 产品,请执行以下操作:

  1. 如果您使用的是 Cloud 控制台中的 Apigee 界面,请选择分发 > API 产品。如果您使用的是经典版 Apigee 界面,请选择发布 > API 产品
  2. 选择发布 > API 产品
  3. 点击要编辑的 API 产品所在的行。 Apigee 显示 API 产品的详细信息。
  4. 点击修改
  5. 根据需要修改 API 产品的设置。

    您无法修改现有的 API 资源。如果要更改,您必须删除 API 资源,并添加带有更正值的新版本。

    如果资源出现故障或需要更多开发资源,您可以将其删除。删除后,该资源将不再属于当前 API 产品。任何使用 API 产品的应用都无法再访问已删除的资源。删除的资源会从 API 产品中移除,但不会从系统中删除,因此其他 API 产品仍然可以使用这些资源。

  6. (可选)如果启用了 Apigee Monetization,请点击 Add rate plan添加(经典版界面),为 API 产品创建费率方案。
  7. 点击保存

您的更改将在一小段时间(大约五分钟)内生效。

删除 API 产品

如需删除 API 产品,您必须先取消注册/取消关联与该产品关联的任何开发者应用。您可以通过删除应用撤销应用 API 密钥来实现此目的。

如需删除 API 产品,请执行以下操作:

  1. 如果您使用的是 Cloud 控制台中的 Apigee 界面,请选择分发 > API 产品。如果您使用的是经典版 Apigee 界面,请选择发布 > API 产品
  2. 选择发布 > API 产品
  3. 打开要删除的产品所在行中的操作菜单,然后选择删除
  4. 确认删除操作后,删除操作将在一小段时间(大约五分钟)内生效。