通过命令行部署代理

您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
info

本主题介绍了如何通过命令行部署代理。Apigee Edge 提供了两种通过命令行进行部署的 选项。第一种是使用以 Python 编写的 Apigee Edge 部署工具 。另一种是配置并运行 shell 脚本。

当您直接在系统上使用代理源 文件时,请使用命令行部署技术。您可能会因多种原因而离线工作。您可能希望使用 自己喜欢的 XML 编辑器,或者您可能正在开发需要 Java 编码的政策,并且您正在 主要在 IDE 中工作。通过本部分中介绍的技术,您可以将源文件上传并 部署到您选择的 API 服务环境中。

如果您主要在管理界面中工作,请参阅在界面中部署代理

您正在查看 Apigee Edge 文档。
前往 Apigee X 文档
信息

运行 Apigee Edge Python 部署工具

Apigee Edge Python 部署工具可与 Edge 管理 API 搭配使用,以导入和部署 API 代理。该工具作为 GitHub 上的 API 平台示例分发的一部分提供。请参阅 使用示例 API 代理

使用 Apigee Edge Python 工具,通过一个简单的 流程导入(上传)和部署 API。

部署工具必须从 API 平台 示例分发的基础目录运行,其中基础目录是 setuptools 目录的父目录。

在以下命令中,替换代理名称、您的 Edge 用户名和密码、Edge 组织和环境,以及包含 API 代理的 “apiproxy" 目录的目录的路径:

python tools/deploy.py -n proxyname -u name:passW -o org -e env -d proxypath -p /

例如:

python tools/deploy.py -n weatherapi -u me@myCo.com:foo -o myCo -e test -d weatherapi -p /

此命令会将您的文件压缩为 zip 文件,将其推送到 Apigee Edge 上的组织,并将其部署 到指定的环境。

部署工具会自动发现 API 代理的当前修订版本,取消部署现有修订版本,并部署 API 代理的增量修订版本。

成功后,您会看到以下形式的输出:

Writing ./<proxybasedir>/apiproxy/weatherapi.xml to apiproxy/weatherapi.xml
Writing ./<proxybasedir>/apiproxy/proxies/default.xml to apiproxy/proxies/default.xml
Writing ./<proxybasedir>/apiproxy/targets/default.xml to apiproxy/targets/default.xml
Imported new proxy version 1
Environment: test
  Revision: 1 BasePath = /
  State: deployed

默认情况下,该工具会将 API 代理上传到 https://api.enterprise.apigee.com, 这对应于云端中的 Edge。您还可以使用此工具将 API 代理上传到 Edge 的 本地版本,方法是指定 -h 标志:

python tools/deploy.py -n weatherapi -u me@myCo.com:foo -o myCo -e test -d weatherapi -p / -h https://192.168.11.111:8080

在此示例中,您指定了 Edge 管理服务器的 IP 地址。如果您已为管理服务器创建 DNS 记录,则可以指定以下形式的网址:

https://ms_URL:8080

该命令的完整标志列表如下所示:

  • -n:API 代理的名称。
  • -u:Apigee Edge 中组织的帐号的用户名和密码。
  • -o:您拥有帐号的组织的名称。
  • -e:应将 API 代理部署到的环境 (testprod)。
  • -d:包含 API 代理文件的目录的路径。API 代理 文件必须存储在名为“apiproxy”的目录下。此值是包含“apiproxy”目录的 目录的路径,而不是“apiproxy”目录本身的 路径。
  • -p:用作模式匹配的 URI 路径,用于将传入消息路由到此 API 代理部署。在大多数情况下,您可以将此值设置为“/”,除非您有高级 部署和路由要求。用于 API 代理路由的主要路径在 API 代理的 ProxyEndpoint 配置文件中定义。
  • -h:Edge 网址。默认情况下,网址为 https://api.enterprise.apigee.com, 这对应于云端中的 Edge。对于本地部署,请使用 Edge 管理服务器的网址和端口 8080,如:
    https://ms_URL:8080

    或者,使用管理服务器的 IP 地址,如 https://192.168.11.111:8080

配置和运行部署 shell 脚本

最简单的方法是运行示例 API 代理提供的部署脚本。shell 脚本封装了 Apigee Edge Python 部署工具。

/simplyProxy 目录运行:

$ sh deploy.sh

您应该会看到:

Enter your password for user {myname} in the Apigee Enterprise organization {org_name}, followed by [ENTER]: 

输入密码,然后按 Enter 键。

然后,您应该会看到:

Deploying to test on https://api.enterprise.apigee.com using {myname} on enterprise.apigee.com and {org_name} on enterprise.apigee.com

如果您看到以下内容:

Enter your password for user Your USERNAME on enterprise.apigee.com in the Apigee Enterprise organization Your ORG on enterprise.apigee.com, followed by [ENTER]: 

这意味着您需要修改 /setup/setenv.sh 文件在 平台示例分发中。如需查看相关说明,请参阅自述文件或 Apigee Edge API

成功后,部署工具会将 /apiproxy, 下的文件压缩为 zip 文件,将软件包导入到 Apigee Edge 上的组织,然后将 API 代理部署到“test” 环境。

您的 API 代理已准备好被调用。