本教程介绍如何使用 Apigee 代理向导创建具有集成目标的代理。代理利用现有集成中的 API 触发器引用来启动集成中的一系列步骤。
以下步骤介绍了如何配置集成目标代理,以在代理被调用时运行成功的集成。
准备工作
- 确认您的 Apigee 登录凭据和组织详细信息。在 Apigee 界面中,需要此信息才能访问 Application Integration 功能和代理向导。
- 创建并发布具有 API 触发器和至少一个任务的集成。
- 如果您尚未创建使用 API 触发器的集成,请按照检索 API 载荷并发送电子邮件中的步骤进行操作。
- 记下您创建的集成或要使用的现有集成的名称,稍后会用到。
- 在创建了 Apigee 组织的同一 Google Cloud 项目中创建一个 Google 服务账号,然后执行以下操作:
- 将 Application Integration Invoker 角色
(roles/integrations.applicationIntegrationInvokerRole)
分配给服务账号。如需了解预定义的 Application Integration 角色,请参阅预定义的 IAM 角色。 - 允许您的用户账号(主账号)使用
iam.serviceAccounts.actAs
权限将服务账号附加到资源。如需了解服务账号权限,请参阅服务账号身份验证角色。
部署 API 代理时,您必须提供此服务账号。
- 将 Application Integration Invoker 角色
- 如果您想在没有任何限制的情况下使用 Application Integration,则可以为集成付费。Application Integration 可以作为订阅的插件服务提供。如果您已购买 Application Integration 权益,并且想要启用您的 Google Cloud 项目或 Apigee 组织的权益,请与 Apigee 支持团队联系。但是,如果您想购买 Application Integration 权益,请与 Apigee 销售人员联系。为您启用 Application Integration 后,执行以下任务:
- 启用以下 API:
- Apigee API (apigee.googleapis.com)
- Application Integration API (integrations.googleapis.com)
- Secret Manager API (secretmanager.googleapis.com)
- Connectors API (connectors.googleapis.com)
如需了解如何启用 API,请参阅启用服务。
- 为您的 Apigee 组织启用集成和连接器插件。
如果您要创建新组织以用于集成,请运行以下命令:
curl -H "Authorization: Bearer $TOKEN" -X POST -H "content-type:application/json" -d '{"name":"${ORG_ID}", "analyticsRegion":"us-west1", "authorized_network":"${NETWORK_ID}", "runtimeType":"CLOUD", "runtimeDatabaseEncryptionKeyName":"${ENCRYPTION_KEY_NAME}", "addonsConfig": {"integrationConfig": {"enabled": true}, "connectorsPlatformConfig":{"enabled":true}}}' "https://apigee.googleapis.com/v1/organizations?parent=projects/${PROJECT_ID}"
如果您要使用现有组织,请运行以下命令:
curl -H "Authorization: Bearer $TOKEN" -H "content-type:application/json" "https://apigee.googleapis.com/v1/organizations/${ORG_ID}:setAddons" -XPOST -d '{"addonsConfig":{"integrationConfig":{"enabled":true},"connectorsPlatformConfig":{"enabled":true}}}'
- 使用以下命令验证插件是否已成功启用:
curl -H "Authorization: Bearer $TOKEN" -H "content-type:application/json" "https://apigee.googleapis.com/v1/organizations/${ORG_ID}"
运行该命令时,系统应会显示如下所示的消息:
{ "name": "Test....", "createdAt": "1615483867669", "lastModifiedAt": "1615483873468", …... "addonsConfig": { "integrationConfig": { "enabled": true, "connectorsPlatformConfig": { "enabled": true } } }
- 将以下 IAM 角色分配给您的默认 Apigee 服务账号 (
service-PROJECT_NUMBER@gcp-sa-apigee.iam.gserviceaccount.com
):- Application Integration Invoker (
roles/integrations.applicationIntegrationInvokerRole
)
如需了解如何向服务账号授予其他角色或权限,请参阅授予、更改和撤消访问权限。
- Application Integration Invoker (
- 启用以下 API:
创建 Application Integration 目标代理
执行以下操作,在 Apigee 界面中创建集成目标代理:
- 转到 Apigee 界面并登录。
- 使用界面左上角的下拉菜单选择您的组织。
- 在主视图中点击 API 代理。
或者,您也可以在左侧导航菜单中依次选择开发 > API 代理。
- 从环境下拉列表中选择要在其中创建新的 API 代理的环境。
- 点击新建。
- 在显示的代理类型中选择集成目标。
此时将启动“创建代理”向导。
- 在代理详情配置页面中,提供以下详细信息:
- 名称:输入代理的名称。
代理名称可以包含字母数字字符、短划线和下划线。
- 基本路径:系统会根据代理名称自动填充。
基本路径是用于向 API 发出请求的网址的一部分。Apigee 使用该网址来匹配传入的请求并将其路由到相应的 API 代理。
- 说明:(可选)输入代理的简要说明。
例如
Proxy test for Application Integration
。 - 集成区域:从下拉列表中选择集成区域。
- 集成目标:从下拉列表中选择集成目标的名称。请注意,集成目标列表会根据所选的集成区域填充。
- 触发器:从下拉列表中选择与集成关联的 API 触发器。
- 端点类型:选择同步。
- 名称:输入代理的名称。
- 点击下一步。
- 在常用政策配置页面中,保留默认选项,然后点击下一步。
- 在摘要页面中,点击创建。
集成目标代理将成功创建。
部署代理
执行以下步骤以部署新创建的代理:
- 在 Apigee 界面中,依次选择开发 > API 代理。
界面会显示 API 代理及其部署状态的列表。
- 从环境下拉列表中,选择要将 API 代理部署到的环境。
点击要部署的最近创建的代理。默认情况下,界面会显示概览页面。
- 如需部署更改,请先点击部署以显示部署对话框。
- 输入以下内容:
- 修订版本:您要部署的代理的修订版本号。
- 环境:要在其中部署代理的环境。
- 服务账号:为代理创建的服务账号。
- 点击部署。
界面即会开始部署所选修订版本。 代理部署最多可能需要一分钟才能完成。
部署代理后,部署部分中的状态列会显示一个绿色图标,表明已部署代理的修订版本 1。
测试集成目标代理
从终端窗口运行以下命令以调用代理并触发集成:
curl -v https://YOUR_ENV_GROUP_HOSTNAME/PROXY_NAME
其中,YOUR_ENV_GROUP_HOSTNAME
是包含代理部署环境的环境组的主机名。
例如:
curl -v https://my-org-prod.hybrid.e2e.apigeeks.net/my-proxy
如需确认已通过调用代理触发集成,请执行以下操作:
- 打开 Apigee 界面。
- 点击开发 > 集成。
- 搜索或选择上面的步骤中创建的集成的名称,然后点击集成名称。
- 点击日志。
- 验证触发的集成是否存在执行日志。如需查看日志详细信息,请点击相应行以展开执行详情。
更新代理请求载荷(可选)
按照以下步骤更新代理请求载荷:
- 在 Apigee 界面中,在左侧导航菜单中依次选择开发 > API 代理。
- 点击刚刚创建的代理。
默认情况下,界面会在代理编辑器中显示该代理的概览标签页。
- 点击开发标签页。
- 在导航器窗格中的政策标题下选择设置集成请求。
- 取消对
<Parameters>
块的备注,然后输入参数详细信息。如需指定各个参数,请使用
<Parameter>
元素。如需指定参数数组,请使用<ParameterArray>
元素。 - 点击保存。