Edge Microgateway 的 CLI 參考資料

查看 Apigee Edge 說明文件。
前往 Apigee X說明文件
資訊

Edge Microgateway 2.4.x 版

總覽

Edge Microgateway CLI 可讓您控制及管理 Edge Microgateway 的所有功能 執行個體。

管理憑證

cert 指令可讓您安裝及管理公開/私密金鑰 一組用於簽署不記名權杖,供用戶端透過 Edge 發出安全呼叫 Microgateway。金鑰會以加密的金鑰值對應 (KVM) 儲存於 Apigee Edge。Edge Microgateway 採用 公開金鑰,以便驗證已簽署的不記名權杖。這些金鑰是在您執行 Edgemicro 時 設定指令,如設定指令 並設定 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 執行個體搭配使用。自動換行並執行 一系列指令可將必要的驗證 Proxy 部署至 Edge 及產生驗證 並更新設定檔如需完整實際範例,請參閱設定 並設定 Edge Microgateway

用法

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 (選用) 為貴機構指定環境的虛擬主機別名。詳情請參閱 瞭解虛擬主機的 Edge 說明文件。 預設:org-env.apigee.net
-c, --configDir (選用) 指定 Edge Microgateway 設定檔的路徑。根據預設 這個設定檔位於 ./config/config.yaml 中。(已新增 v2.4.x)
-x, --proxyName (選用) 設定 edgemicro-auth Proxy 的基本路徑。 如果 edgemicro-auth Proxy 是部署於不同的路徑 預設 /edgemicro-auth 功能,可讓您設定 Edge Microgateway 中的新路徑根據預設,basepath 為 /edgemicro-auth。(新增 2.4.x 版)
-t, --token (選用) 可讓您將 OAuth 權杖用於驗證,而非使用者名稱/密碼。 例如:

edgemicro configure -o docs -e test -t <your token>
-v, --virtualHosts (選用) 覆寫預設虛擬主機。 「default,secure」。如果您已為 不屬於這些預設值的「Edgeorganization:環境」。詳情請參閱 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 使用的金鑰和密鑰組合 以非同步方式將數據分析資料發布至 Apigee 時,進行自我驗證的微型閘道 邊緣

用法

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 執行個體。

  • Bootstrap 網址:這個網址會指向 Apigee Edge 服務, 將數據分析資料傳送至 Apigee Edge 的 Edge Microgateway 執行個體。您需要複製該網址 新增至 Edge Microgateway 設定檔:~/.edgemicro/org-env-config.yaml
  • key:鍵。這組金鑰和密鑰是對 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 Private Cloud 安裝作業搭配使用。

用法

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:環境」虛擬主機清單。預設 「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 設定 (公用雲端) 或 edgemicro Private 設定 (私有雲)。Config 指令會傳回金鑰和密鑰值 才能啟動 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」時傳回的密鑰值指令
-p, --processes (選用) 要啟動的程序數量。預設值:磁碟中的核心數量 有些人會將 Cloud Storage 視為檔案系統 但實際上不是
-d, --pluginDir (選用) 外掛程式目錄的絕對路徑。
-r, --port (選用) 將覆寫 ~/.edgemicro/org-env-config.yaml 檔案。預設:8000
-c, --cluster

(選用) 啟動叢集模式的 Edge Microgateway。

注意: 自 2.3.1 版起,這個選項已移除。於 2.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 叢集模組來啟用分群法。建立叢集之後,Edge Microgateway 就能 多核心系統的優勢詳情請參閱這篇 Node.js 說明文件

範例

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 Web Token) 這種表示法權杖會傳達關於 Apigee Edge 開發人員應用程式的資訊 用來建立權杖的金鑰,包括應用程式名稱、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 呼叫 。該權杖是符合 OAuth 2.0 規範的 JSON Web Token (JWT)。這項指令需要 輸入已註冊的用戶端金鑰 (用戶端 ID) 和用戶端密鑰 (用戶端密鑰) 值 。另請參閱「確保安全 使用 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 Proxy 上。
-s, --secret 與 Microgateway 感知功能相關聯的開發人員應用程式中的用戶端密鑰 Proxy 上。
-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 範例。直接更換 您的機構和環境名稱, 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"

驗證權杖

根據指定於 Apigee Edge 上儲存的公開金鑰,驗證已簽署的不記名權杖 機構和環境

用法

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 要求 部署 Kubernetes 端點實際權杖端點會在部署的 Proxy 中實作 來變更虛擬機器的運作狀態

以下是 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

停止微閘道叢集

新增: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

重新載入微閘道叢集

新增: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」時傳回的密鑰值指令
-h, --help 輸出使用資訊。

範例

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

輸出內容 (成功)

...

Reload Completed Successfully