本页面适用于 Apigee 和 Apigee Hybrid。
查看 Apigee Edge 文档。
API 产品可捆绑您的 API,并将其提供给应用开发者使用。如需简要了解 API 产品,请参阅什么是 API 产品?。
浏览“产品”概览页面
产品概览页面会显示您的所有 API 产品以及每个产品的一些详细信息。在此页面上,您可以创建新的 API 产品、删除产品或选择要查看或修改的产品。
如需访问产品概览,请执行以下操作:
- 如果您使用的是 Cloud 控制台中的 Apigee 界面:请选择分发 > API 产品。
- 如果您使用的是经典版 Apigee 界面,请选择发布 > API 产品。
通过“产品”界面,您可以执行以下常见任务:
下面各节内容对这些任务做出了说明。
创建 API 产品
本部分介绍了如何使用 Apigee 界面来创建 API 产品。
如需使用 Apigee 界面来创建 API 产品,请执行以下操作:
- 如果您使用的是 Cloud 控制台中的 Apigee 界面,请选择分发 > API 产品。如果您使用的是经典版 Apigee 界面,请选择发布 > API 产品。
- Apigee 会显示产品概览页面。
- 点击 + 创建 (+ Create)。此时将显示产品配置页面。
- 配置 API 产品。产品配置页面的各部分如下:
- 产品详细信息:有关 API 产品的基本信息,例如名称、访问权限级别(不公开、公开或内部)和 OAuth 范围。
- 操作:此 API 产品支持的 API 代理、资源路径和 HTTP 方法组。您还可以为每项操作定义配额限制。
- GraphQL 操作:此 API 产品支持的 API 代理、资源路径和 GraphQL 操作类型组。支持的 GraphQL 操作类型包括查询和变更。您可以指定查询或变更,也可以同时指定这两种类型。与基于 REST 的 API 代理一样,您可以定义每项操作的配额限制。
- gRPC 操作:指定此 API 产品支持的 gRPC API 代理和 gRPC 方法。与基于 REST 的 API 代理一样,您可以定义操作的配额限制。
- 自定义特性:可帮助您控制 API 代理执行的键值对。
以下几部分分别介绍了这些主要部分。
- 完成之后,点击保存。Apigee 会创建新的 API 产品。现在,您可以将该产品附加到开发者应用中。请参阅通过注册应用来控制对 API 的访问权限。如需查看其他示例,请参阅通过要求 API 密钥保护 API 和使用 OAuth 保护 API。
产品详情
在产品详情部分,输入新 API 产品的基本信息。下表介绍了此部分中的字段:
字段 | 是否必需? | 说明 |
---|---|---|
Name |
必填 |
定义 API 产品的内部名称。您可以在引用 API 产品的 Apigee API 中使用此值。 例如 |
Display name |
必填 |
定义 API 产品中用于 API 产品的名称。您可以随时修改 API 产品的显示名。
例如 |
Description |
可选 |
可帮助您记住 API 产品的用途或功能的字符串。说明可以包含特殊字符。 例如 |
Environment |
可选 |
标识 API 产品可以访问的环境。 如果未指定环境,则 API 产品将允许所有环境。 您在此字段中选择的环境会根据部署它们的位置来限制对 API 代理的访问。例如,如果将 API 代理 A 同时部署到 |
Access |
必填 | 为该 API 产品用户的访问权限级别。如需了解详情,请参阅访问权限级别。 |
Automatically approve access requests |
可选(默认选择) |
自动批准从任何应用向此 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 发送请求。例如,如果您将操作的来源设置为 在这种情况下,允许调用 请注意,如配置资源路径中所述,资源路径中有一些针对通配符的特殊规则。 |
Methods |
可选 |
在下拉列表中选择一个或多个 HTTP 请求方法。(这些方法有时称为 HTTP 动词。)Apigee 允许发送到 API 代理的请求仅与您选择的方法匹配。 默认设置为不选择,这允许使用任何 HTTP 方法发出请求。 如果您未选择至少一种方法,Apigee 会在您保存操作时插入 如需了解 HTTP 请求方法的功能,请参阅 HTTP 请求方法。 |
Quota |
可选 | 指定此操作的配额限制。如需详细了解如何计算配额,请参阅了解配额计数器。 |
Custom attributes |
可选 | 请参阅自定义特性。 |
GraphQL 操作
如需配置 GraphQL 操作详情,请点击 Graphql 操作部分中的 + 添加操作。此时将显示操作视图。另请参阅使用 GraphQL。
字段 | 是否必需? | 说明 |
---|---|---|
API proxy |
必填 |
选择要与此操作关联的 API 代理。 |
Operation name |
必填 |
指定操作的名称 |
Operation type |
可选 |
从下拉列表中选择一个或多个 GraphQL 操作类型。Apigee 仅允许向 API 代理发送与您选择的操作类型匹配的请求。 默认为“无选择”,即允许具有任何操作类型的请求。 如果您未选择至少一个类型,Apigee 会在您保存操作时插入 如需了解 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
且值为 true
或 false
的自定义属性。在 API 代理流中,您可以查看 API 产品的 deprecated
属性的值。如果其值为 true
,则您可以使用 RaiseFault 政策来抛出错误,因为您希望该操作就像被弃用并且不再受支持一样。
配额
定义 API 代理或操作范围内的配额设置。如果您定义了配额,则必须在 Quota
下指定三个字段:
第一个字段用于指定在指定的时间段内,允许开发者应用向 API 代理发送的请求数上限。
此字段对应于 Quota 政策中的
<Allow>
元素。第二个字段用于指定配额的重置频率(或时间间隔)。
此字段对应于配额政策中的
<Interval>
元素。第三个字段用于指定重置期类型(或时间单位),例如天、周或月。
此字段对应于配额政策中的
<TimeUnit>
元素。
以下示例设置每天向 API 代理发送 1,000 个 GET
、HEAD
和 TRACE
请求的限制(所有其他 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 产品,请执行以下操作:
- 如果您使用的是 Cloud 控制台中的 Apigee 界面,请选择分发 > API 产品。如果您使用的是经典版 Apigee 界面,请选择发布 > API 产品。
- 选择发布 > API 产品。
- 点击要编辑的 API 产品所在的行。 Apigee 显示 API 产品的详细信息。
- 点击修改。
-
根据需要修改 API 产品的设置。
您无法修改现有的 API 资源。如果要更改,您必须删除 API 资源,并添加带有更正值的新版本。
如果资源出现故障或需要更多开发资源,您可以将其删除。删除后,该资源将不再属于当前 API 产品。任何使用 API 产品的应用都无法再访问已删除的资源。删除的资源会从 API 产品中移除,但不会从系统中删除,因此其他 API 产品仍然可以使用这些资源。
- (可选)如果启用了 Apigee Monetization,请点击 Add rate plan 或 (经典版界面),为 API 产品创建费率方案。
-
点击保存。
您的更改将在一小段时间(大约五分钟)内生效。
删除 API 产品
如需删除 API 产品,您必须先取消注册/取消关联与该产品关联的任何开发者应用。您可以通过删除应用或撤销应用 API 密钥来实现此目的。
如需删除 API 产品,请执行以下操作:
- 如果您使用的是 Cloud 控制台中的 Apigee 界面,请选择分发 > API 产品。如果您使用的是经典版 Apigee 界面,请选择发布 > API 产品。
- 选择发布 > API 产品。
- 打开要删除的产品所在行中的操作菜单,然后选择删除。
- 确认删除操作后,删除操作将在一小段时间(大约五分钟)内生效。