Edge Microgate 的 CLI 参考文档

<ph type="x-smartling-placeholder"></ph> 您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
信息

Edge Microgateway v. 2.4.x

概览

借助 Edge Microgateway CLI,您可以控制和管理 Edge Microgateway 的所有方面 实例。

管理证书

借助 cert 命令,您可以安装和管理公钥/私钥 对,用于对客户端用于通过 Edge 进行安全调用的不记名令牌进行签名 Microgateway。这些密钥以加密的键值对映射 (KVM) 的形式存储在 Apigee Edge 上。Edge Microgateway 使用 公钥以验证已签名的不记名令牌。这些密钥是在您运行 configure 命令,如设置 设置和配置 Edge Microgateway。您可以使用 此处所述的 cert 命令来重新生成和管理这些密钥 (如果需要的话)。

安装证书

使用 Apigee Edge 安全存储服务在加密的键值对映射 (KVM) 中安装密钥,并返回 输出公钥。密钥对的范围限定为指定的组织。

用法

edgemicro cert install -o [organization] -e [environment] -u [username] -p [password] --force

参数

参数 说明
-o, --org 您为其配置 Edge Microgateway 的 Apigee 组织。
-e, --env 您为其配置了 Edge Microgateway 的环境。
-u, --username 您的 Apigee 用户名。您必须是 组织。
-p, --password (可选)您的密码。如果您在 命令行。
-f, --force (可选)如果密钥已存储在加密的 KVM 中,则强制替换该密钥。
-h, --help 输出使用情况信息。

示例

edgemicro cert install -o docs -e test -u jdoe@example.com -f

输出

current nodejs version is v6.1.0
current edgemicro version is 2.2.4-beta
password:
deleting vault
creating vault
adding private_key
adding public_key
installed cert

删除证书

删除组织的密钥对。

用法

edgemicro cert delete -o [organization] -e [environment] -u [username] -p [password]

参数

参数 说明
-o, --org 您为其配置 Edge Microgateway 的 Apigee 组织。
-e, --env 您为其配置了 Edge Microgateway 的环境。
-u, --username 您的 Apigee 用户名。您必须是 组织。
-p, --password (可选)您的密码。如果您在 命令行。
-h, --help 输出使用情况信息。

示例

edgemicro cert delete -o docs -e test -u jdoe@example.com 

输出

deleting vault
Vault deleted!

检查证书

检查贵组织是否已安装证书。

用法

edgemicro cert check -o [organization] -e [environment] -u [username] -p [password]

参数

参数 说明
-o, --org 您为其配置 Edge Microgateway 的 Apigee 组织。
-e, --env 您为其配置了 Edge Microgateway 的环境。
-u, --username 您的 Apigee 用户名。您必须是 组织。
-p, --password (可选)您的密码。如果您在 命令行。
-h, --help 输出使用情况信息。

示例

edgemicro cert check -o docs -e test -u jdoe@example.com

输出 (成功)

checked cert successfully

输出 (失败)

如果证书不存在,则会返回错误。

获取公钥

返回指定组织的公钥。不需要身份验证。

用法

edgemicro cert public-key -o [organization] -e [environment]

参数

参数 说明
-o, --org 您为其配置 Edge Microgateway 的 Apigee 组织。
-e, --env 您为其配置了 Edge Microgateway 的环境。
-h, --help 输出使用情况信息。

示例

edgemicro cert public-key -o docs -e test

输出(示例)

-----BEGIN CERTIFICATE----- 

MIICpDCCAYwCCQCKpXWGum9uTjANBgkq9w0BAQsFADAUMRIwEAYDVQQDEwls
b2NhbGhvc3cNMTYxMTAyMjAxNTA2WhcNMTYxMTAzMjAxNTA2WjAUMRIwEAYD
VQQDEwlsb2Nvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDD
ETr/ne/gP47+9LgjLvBJjpbFVdaeUabZZ3wbA7sSIVnnNXWt3yPklrWSfIh+
L2+dq4k+YunsQE2+dwPdXA2x8DPGvqGcCdWPxnpZ7ix5Akbs8i/J+Ue0pXT4
jkpWbaDDftGL2tcxwP45yI+slpDYvmWRps07TFXkAPjGEHYPvCT9/v/35GkL
0h4v0S+XfpcjS5c47o7CIWlkgEM5GBosQUb17kuVR48392vGFPsnCP34iNe7
zguhiCXYg2zkOcj/N3AE4xKIhCz0QcewULy08GltWMmyjJ/30zs8P41JqoA4
RwfeEZ8RenN3rJQim1ppAAEwDQYJKoZIhvcNAQELBQADggEBAHcORIfc+ySe
2FMmqicNe6Wt5V/5zOaBMLsGQdqGOHB5cQc79sMBrk680KVhrwHXZ2nBIkVe
UEL+2qLY1VLfswBNAvcNwV9U4TwHq4eIANiD751oJK1tHmM/ujThQkwNf96o
6I7Ws+wfpGO3ppJCttRbtnATIxrwsCHN4i5lbW/tJSL7t/Zf6T1B+YSJU9AF
xuvLq22cCqyYJQdmKq2vVS55WRZdllm+mRtJrv7MLM9gfDPRxVlwrBz/eQHy
Fv+dwzxcvQjkz03RNhZUodzuD34DPJoYeK++rItsddwQ26KTahH80yYTAFzY
x9gfPf1/+qo=  

-----END CERTIFICATE-----

为 Apigee 配置 Edge Microgateway 边缘云

使 Edge Microgateway 能够与 Apigee Edge Cloud 实例搭配使用。它会封装起来并具有出色的性能 一系列命令,用于将所需的身份验证代理部署到 Edge,生成身份验证 以及更新配置文件有关完整的工作示例,请参阅设置 设置和配置 Edge Microgateway

<ph type="x-smartling-placeholder">

用法

edgemicro configure -o [organization] -e [environment] -u [username] -p [password]

参数

参数 说明
-o, --org 您为其配置 Edge Microgateway 的 Apigee 组织。
-e, --env 您为其配置了 Edge Microgateway 的环境。
-u, --username 您的 Apigee 用户名。您必须是 组织。
-p, --password (可选)您的密码。如果您在 命令行。
-r, --url (可选)为“organization:environment”指定虚拟主机别名。请参阅 用于了解虚拟主机的 Edge 文档。 默认:org-env.apigee.net
-c, --configDir (可选)指定 Edge Microgateway 配置文件的路径。默认情况下 配置文件位于 ./config/config.yaml 中。(已添加 v2.4.x)
-x, --proxyName (可选)设置 edgemicro-auth 代理的基本路径。 如果 edgemicro-auth 代理部署在不同的路径下 此功能允许您使用默认值 /edgemicro-auth, 在 Edge Microgateway 中使用新路径。默认情况下,基本路径 为 /edgemicro-auth。(添加 v2.4.x)
-t, --token (可选)允许您使用 OAuth 令牌(而不是用户名/密码)进行身份验证。 例如:

edgemicro configure -o docs -e test -t <your token>
-v, --virtualHosts (可选)覆盖默认虚拟主机, “default,secure”。如果您已为自己的资源指定虚拟主机 除这些默认值以外的 Edge organization:环境。请参阅 Edge 文档 了解虚拟主机。
-d, --debug (可选)提供调试信息。
-h, --help 输出使用情况信息。

使用说明

此命令将配置信息存储在 大约 /.edgemicro/org-env-config.yaml

示例

edgemicro configure -o docs -e test -u jdoe@example.com

输出

成功后,该命令将返回您在启动 Edge 时需要使用的一组密钥 Microgateway。

...

The following credentials are required to start edge micro
  key: d2f0a246ad52b5d2a8b04ba65b43c76348aba586691cf6185cd7bb9fb78fe9f
  secret: 59813bc1db4a7ada182705ae40893c28a6fae680c3deb42aefbf1a4db42e372

edgemicro configuration complete!

生成键

genkeys 命令会生成 Edge 使用的密钥和密钥对 Microgateway 在将分析数据异步发布到 Apigee 时对自身进行身份验证 Edge。

用法

edgemicro genkeys -o [organization] -e [environment] -u [username] -p [password]

参数

参数 说明
-o, --org 您为其配置 Edge Microgateway 的 Apigee 组织。
-e, --env 您为其配置了 Edge Microgateway 的环境。
-u, --username 您的 Apigee 用户名。您必须是 组织。
-p, --password (可选)您的密码。如果您在 命令行。
-h, --help 输出使用情况信息。

使用说明

成功后,该命令会返回三项内容。第一个字段是您需要 配置文件另外两个是启动 Edge 时所需的密钥对 Microgateway 实例。

  • 引导加载程序网址:此网址指向启用 用于将分析数据发送到 Apigee Edge 的 Edge Microgateway 实例。您需要复制该网址 插入 Edge Microgateway 配置文件:~/.edgemicro/org-env-config.yaml
  • key:密钥。必须提供此密钥和 Secret 作为 CLI 的输入 命令,用于启动 Edge Microgateway 实例。
  • secret:密钥。

示例

edgemicro genkeys -o docs -e test -u jdoe@example.com

输出(示例)

成功后,该命令将返回您在启动 Edge 时需要使用的一组密钥 Microgateway。

configuring host edgemicroservices-us-east-1.apigee.net for region us-east-1
Please copy the following property to the edge micro agent config
  bootstrap: https://edgemicroservices-us-east-1.apigee.net/edgemicro/bootstrap/organization/jdoe/environment/test

The following credentials are required to start edge micro
  key: db39324077989c75eac34c13d285772ea8e3b982b957b3f52916f3048511443f
  secret: 5bf8da39de0056f88fdd5f25a8602d22f312c1c8c870580a5fef55ac6637b7ae

finished

为以下内容配置 Edge Microgateway Apigee Edge 私有云

配置 Edge Microgateway,以便与 Apigee Edge 私有云安装搭配使用。

用法

edgemicro private configure -o [organization] -e [environment] -u [username] -p [password]

参数

参数 说明
-o, --org 您为其配置 Edge Microgateway 的 Apigee 组织。
-e, --env 您为其配置了 Edge Microgateway 的环境。
-u, --username 您的 Apigee 用户名。您必须是 组织。
-p, --password (可选)您的密码。如果您在 命令行。
-r, --runtime-url 指定私有云实例的运行时网址。
-m, --mgmt-url 私有云实例的管理服务器的网址。
-v, --virtualHosts “organization:environment”的虚拟主机列表(以英文逗号分隔)。默认 “default,secure”。
-c, --configDir (可选)指定 Edge Microgateway 配置文件的路径。默认情况下 配置文件位于 ./config/config.yaml 中。(已添加 v2.4.x)
-t, --token (可选)允许您使用 OAuth 令牌(而不是用户名/密码)进行身份验证。 例如:

edgemicro configure -o docs -e test -t <your token>
-d, --debug (可选)提供调试信息。
-h, --help 输出使用情况信息。

使用说明

此命令将配置信息存储在 大约 /.edgemicro/org-env-config.yaml

示例

edgemicro private configure -o docs -e test -u jdoe@example.com -r http://192.162.55.100:9002 -m http://192.162.55.100:8080

输出

成功后,该命令将返回您在启动 Edge 时需要使用的一组密钥 Microgateway。

...

The following credentials are required to start edge micro
  key: d2f0a246ad52b5d2a8b04ba65b43c76348aba586691cf6185cd7bb9fb78fe9f
  secret: 59813bc1db4a7ada182705ae40893c28a6fae680c3deb42aefbf1a4db42e372

edgemicro configuration complete!

启动 Edge Microgateway

在启动 Edge Microgateway 之前,您必须先运行 edgemicro configure(公有云)或 edgemicro private configure(私有云)。configure 命令返回键值和密钥值 启动 Edge Microgateway 所需的资源。

用法

edgemicro start -o [organization] -e [environment] -k [public-key] -s [secret-key]

参数

参数 说明
-o, --org 您为其配置 Edge Microgateway 的 Apigee 组织。
-e, --env 您为其配置了 Edge Microgateway 的环境。
-k, --key 运行“edgemicro configure”时返回的键值对命令。
-s, --secret 运行“edgemicro configure”时返回的 Secret 值命令。
-p, --processes (可选)要启动的进程数。默认值: 系统。
-d, --pluginDir (可选)插件目录的绝对路径。
-r, --port (可选)覆盖 ~/.edgemicro/org-env-config.yaml 个文件。默认值:8000
-c, --cluster

(可选)以集群模式启动 Edge Microgateway。

注意从 v2.3.1 开始,此选项已被移除。在 v2.3.1 及更高版本,Edge Micro 始终以集群模式启动。

-c, --configDir (可选)指定 Edge Microgateway 配置文件的路径。默认情况下 配置文件位于 ./config/config.yaml 中。(已添加 v2.4.x)
-d, --debug (可选)提供调试信息。
-h, --help 输出使用情况信息。

设置端口

借助 start 命令,您可以指定要替换端口的端口号 配置模式您还可以使用 PORT 环境变量。例如:

edgemicro start -o docs -e test -k abc123 -s xyz456 -p 2 --port 8002

export PORT=8002 
edgemicro start -o org -e test -k key -s secret -p 2

如果该端口正在使用中,则 Edge Microgateway 会返回错误。

聚类简介

Edge Microgateway 采用 Node.js cluster 模块启用聚类。通过集群,Edge Microgateway 可以 充分利用多核系统的优势如需了解详情,请参阅此 Node.js 文档

<ph type="x-smartling-placeholder">

示例

edgemicro start -o docs -e test -k abc123 -s xyz456

示例输出:

...

PROCESS PID : 54709
installed plugin from analytics
installed plugin from analytics
installed plugin from oauth
installed plugin from oauth
installed plugin from analytics
installed plugin from oauth
5a86b570-a142-11e6-aa1f-6730e9065d6c edge micro listening on port 8000
5a86dc80-a142-11e6-962c-43d9cc723190 edge micro listening on port 8000
5a8751b0-a142-11e6-8241-cf1c517c91eb edge micro listening on port 8000
installed plugin from analytics
installed plugin from oauth
5a924e30-a142-11e6-8740-2944162ce275 edge micro listening on port 8000

管理令牌

借助 token 命令,您可以获取、解码并验证已签名的 OAuth2 访问令牌。另请参阅安全 使用 OAuth2 访问令牌进行 API 调用

解码令牌

将已签名的编码不记名令牌解码为其纯文本 JSON JWT(Java 网络令牌) 表示。令牌用于传达提供 用于创建令牌的密钥,包括应用名称、client_id、商品列表等。

用法

edgemicro token decode -f [filename]

参数

参数 说明
-f, --file 包含要解码的 JWT 令牌的文件的名称。
-h, --help 输出使用情况信息。

示例

edgemicro token decode -f token.jwt

输出(示例)

{ header: { typ: 'JWT', alg: 'RS256' },

  payload:
   { application_name: 'b43342ef-86f6-4666-a121-b9ac2025d217',
     client_id: 'O9ZQRZKnn1rdgcKQgsABSMdOsKS',
     scopes: [],
     api_product_list: [ 'MicroTest' ],
     iat: 1436280566,
     exp: 1436282365 },
  signature: ... }

生成令牌

生成已签名的不记名令牌。通过该令牌,客户端应用可以进行经过身份验证的 API 调用 再到 Edge Microgateway。该令牌是符合 OAuth 2.0 标准的 JSON 网络令牌 (JWT)。它需要 请输入一个已注册的客户密钥(客户端 ID)和使用方密钥(客户端密钥) Apigee Edge 上的开发者应用。另请参阅安全 使用 OAuth2 访问令牌进行 API 调用

用法

edgemicro token get -o [org] -e [env] -i [client_id] -s [client_secret]

参数

参数 说明
-o, --org 您为其配置 Edge Microgateway 的 Apigee 组织。
-e, --env 您为其配置了 Edge Microgateway 的环境。
-1, --key 来自与 Microgateway 感知功能关联的开发者应用中的客户端 ID 代理。
-s, --secret 来自开发者应用的客户端密钥(与您的 Microgateway 感知功能相关联) 代理。
-h, --help 输出使用情况信息。

示例

edgemicro token get -o docs -e test -i 5UzOwAXGoOeo60aew94PPG5MAZE3aJp -s 6vahKFGS9a3qMLwz

输出(示例)

{ token: 'eyJ0eXAiOiJKV1JhbGciOiJSUzI1NiJ9Glvbl9uYW1lIjoiNWNiMGY0NTV6TV3
EtOWMzOC00YmJjLWIzNzEtZGMxZTQzOGMxIiwiY2xpZW50X2lkIjoiNVV6T3dBWEdvSU9lbz
YwYWV3OTRQN0c1TUFaRTNhSnAiLCJzY2MiOltdLCJhcGlfcHJvZHVjdF9saXN0IjpbIkVkZ2
VNaWNyb1Rlc3RQcm9kdWN0Il0sImlhdCI3ODEyMzQ2MSwiZXhwIjoxNDc4MTI1MjYwfQ.Dx5
f5U7PXm8koNGmFX4N6VrxKMJnpndKgoJ5zWSJvBZ6Ccvhlpd85ipIIA5S2A5nx4obYWp_rpY
RJpIGYwyxP6Oq2j0rxnVjdCC4qyYMgthZjhKgEBVBe3s1ndP72GP2vV6PsSA9RQ2-yzsy9r0
TzhAZ3NJTxT1tS0XKqKngE-OhR3fJHVLAzdMDT0AmS9H0Z2NAJtQOuK6RTpCjG9B6Bc48AEM
sj7QSM-1LWiQ8LdY8k_BoC06qsTI7bCQGWwTuqL-ismbcx2bxovUxSemZIaoROfuF-dCZHG3
2aTP75WxBvvNgBBvPvQtPzbeSOtEaww' }

发出 HTTP 请求以获取令牌

您也可以发出原始 HTTP 请求以获取令牌。下面是一个 curl 示例。直接替换 您的组织和环境名称,并替换消费者 ID 和使用方密钥 client_id 和 client_secret 参数的值:

curl -i -X POST "http://<org>-<test>.apigee.net/edgemicro-auth/token" -d '{"grant_type": "client_credentials", "client_id": "4t8X137pOUUtMR7wag3M1yZTcRxeK", "client_secret": "RAcOFVOvO0jns"}' -H "Content-Type: application/json"

验证令牌

针对指定的 组织和环境。

用法

edgemicro token verify -o [org] -e [env] -f [filename]

参数

参数 说明
-o, --org 您为其配置 Edge Microgateway 的 Apigee 组织。
-e, --env 您为其配置了 Edge Microgateway 的环境。
-f, --file 包含要验证的 JWT 的文件的名称。
-h, --help 输出使用情况信息。

示例

edgemicro token get -o docs -e test -f token.jwt

有效令牌的示例输出

{ application_name: 'b43342ef-86f6-4666-a121-b9ac2025d217',

  client_id: 'O9ZQRZKnn1rdgcKQsAZUBkQSMdOsKS',

  scopes: [],

  api_product_list: [ 'MicroTest' ],

  iat: 1436396155,

  exp: 1436397954 }

无效令牌的示例输出

{ [JsonWebTokenError: invalid token] name: 'JsonWebTokenError', message: 'invalid token' }

过期令牌的示例输出

{ [TokenExpiredError: jwt expired]

  name: 'TokenExpiredError',

  message: 'jwt expired',

  expiredAt: Tue Jul 07 2015 09:19:25 GMT-0600 (MDT) }

直接获取不记名令牌

您可能希望直接获取不记名令牌,方法是向令牌发出 HTTP 请求 端点。实际的令牌端点在部署的代理中实现 和 Deployment-edge-service CLI 命令

下面是一个 curl 示例。只需在网址中替换您的组织和环境名称,然后 请替换从 Apigee 上的开发者应用获取的使用方 ID 和使用方密钥值 边缘用途 client_idclient_secret 参数:

curl -i -X POST "http://<org>-<test>.apigee.net/edgemicro-auth/token" -d '{"grant_type": "client_credentials", "client_id": "4t8X137pOUUtMR7wag3M1yZTcRxeK", "client_secret": "RAcOFVOvO0jns"}' -H "Content-Type: application/json"

示例输出:

HTTP/1.1 200 OK

X-Powered-By: Express

Cache-Control: no-store

Pragma: no-cache

Content-Type: application/json; charset=utf-8

Content-Length: 640

ETag: W/"280-ze/g/k+c9taqp110vjYQ"

Date: Fri, 17 07 2015 15:49:24 GMT

Connection: keep-alive

"<long string of numbers and letters>"

初始化新的 Edge Microgateway 配置

首次安装 Edge Microgateway 后运行此命令一次。创建新的默认值 配置文件:~/.edgemicro/default.yaml

用法

edgemicro init 

参数

参数 说明
-c, --configDir (可选)指定 Edge Microgateway 配置文件的路径。默认情况下 配置文件位于 ./config/config.yaml 中。(已添加 v2.4.x)
-h, --help 输出使用情况信息。

示例

edgemicro init

输出 (成功)

config initialized to /MyHome/.edgemicro/default.yaml

验证 Edge Microgateway 配置

验证 Edge Microgateway 是否已正确配置。

用法

edgemicro verify -o [organization] -e [environment] -k [public-key] -s [secret-key]

参数

示例

edgemicro verify -o docs -e test -k abc123 -s xyz456

输出 (成功)

logging to /var/tmp/edgemicro-My-Machine.local-a0c48610-a148-11e6-8466-93f081b05988
installed plugin from analytics
installed plugin from oauth
a0c48610-a148-11e6-8466-93f081b05988 edge micro listening on port 8000
verifying analytics negative case: OK
verifying bootstrap url availability:OK
verifying jwt_public_key availability: OK
verifying products availability: OK
verifying quota with configured products: OK
verifying analytics with payload: OK
verification complete

检查微网关集群状态

添加了:v2.2.4-beta

默认情况下,Edge Microgateway 以集群模式启动。您可以使用此命令 集群状态

用法

edgemicro status

参数

参数 说明
-h, --help 输出使用情况信息。

示例

edgemicro status

输出 (成功)

current nodejs version is v6.1.0
current edgemicro version is 2.2.4-beta
edgemicro is running with 4 workers

停止 microgateway 集群

添加了:v2.2.4-beta

停止 Edge Microgateway 集群。

用法

edgemicro stop

参数

参数 说明
-h, --help 输出使用情况信息。

示例

edgemicro stop

输出 (成功)

current nodejs version is v6.1.0
current edgemicro version is 2.2.4-beta
Stop Completed Successfully

重新加载 microgateway 集群

添加了:v2.2.4-beta

在配置更改后提供零停机重启。重新加载 Edge Microgateway 拉取新配置

用法

edgemicro reload -o [organization] -e [environment] -k [public-key] -s [secret-key]

参数

参数 说明
-o, --org 您为其配置 Edge Microgateway 的 Apigee 组织。
-e, --env 您为其配置了 Edge Microgateway 的环境。
-k, --key 运行“edgemicro configure”时返回的键值对命令。
-s, --secret 运行“edgemicro configure”时返回的 Secret 值命令。
-h, --help 输出使用情况信息。

示例

edgemicro reload -o docs -e test -k abc123 -s xyz456

输出 (成功)

...

Reload Completed Successfully