您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
總覽
您可以使用 Edge Microgateway CLI 控制及管理 Edge Microgateway 執行個體的各個層面。
管理憑證
您可以使用 cert 指令安裝及管理公開/私密金鑰組,用戶端會使用這組金鑰簽署不記名權杖,透過 Edge Microgateway 發出安全呼叫。這些金鑰會儲存在 Apigee Edge 的安全保管庫中。Edge Microgateway 會使用公開金鑰驗證已簽署的承載權杖。如「設定及配置 Edge Microgateway」一文所述,執行 edgemicro configure 指令時,系統會產生這些金鑰。如有需要,您可以使用本文所述的 cert 指令重新產生及管理這些金鑰。
安裝憑證
使用 Apigee Edge 安全儲存服務將金鑰安裝在保存庫中,並以輸出內容的形式傳回公開金鑰。金鑰組的範圍限定為指定機構。
用量
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 |
(選用) 如果金鑰已儲存在金庫中,請強制替換。 |
-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 Cloud 設定 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 |
-v, --virtualHosts |
(選用) 覆寫預設虛擬主機「default,secure」。如果為 Edge 機構/環境指定了預設以外的虛擬主機,請使用這個選項。如要瞭解虛擬主機,請參閱 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 執行個體將 Analytics 資料傳送至 Apigee Edge。您需要將該網址複製到 Edge Microgateway 設定檔:~
/.edgemicro/org-env-config.yaml。 - key:金鑰。啟動 Edge Microgateway 執行個體時,需要將這個金鑰和密鑰做為 CLI 指令的輸入內容。
- 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
為 Apigee Edge Private Cloud 設定 Edge Microgateway
設定 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 |
貴機構/環境的虛擬主機清單 (以半形逗號分隔)。預設值為「default,secure」。 |
-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 (私有雲)。設定指令會傳回啟動 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 |
(選用) 要啟動的程序數量。預設值:系統上的核心數量。 |
-d, --pluginDir |
(選用) 外掛程式目錄的絕對路徑。 |
-r, --port |
(選用) 覆寫 ~/.edgemicro/org-env-config.yaml 檔案中指定的通訊埠號碼。預設值:8000 |
-c, --cluster |
(選用) 在叢集模式下啟動 Edge Microgateway。 注意: 自 2.3.1 版起,這個選項已移除。在 2.3.1 以上版本中,Edge Micro 一律會以叢集模式啟動。 |
-c --config |
(選用) 指定 default config.yaml 檔案的位置。根據預設,這個檔案位於 ./config/config.yaml。 |
-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: '' }
產生權杖
產生已簽署的承載權杖。有了權杖,用戶端應用程式就能向 Edge Microgateway 發出經過驗證的 API 呼叫。這個權杖是符合 OAuth 2.0 規範的 JSON Web Token (JWT)。您必須輸入 Apigee Edge 上已註冊開發人員應用程式的用戶端金鑰 (用戶端 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 的 Proxy 相關聯的開發人員應用程式用戶端 ID。 |
-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 範例。只要在網址中代入機構和環境名稱,並將「Consumer Id」和「Consumer Secret」值代入 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) }直接取得不記名憑證
您可能偏好直接取得不記名憑證,方法是向 Apigee Edge 的權杖端點發出 HTTP 要求。實際的權杖端點是在使用 deploy-edge-service CLI 指令部署的 Proxy 中實作。
以下是 curl 範例。只要在網址中代入機構和環境名稱,並將從 Apigee Edge 開發人員應用程式取得的消費者 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"
輸出內容範例:
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
參數
| 參數 | 說明 |
|---|---|
-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]
參數
| 參數 | 說明 |
|---|---|
-o, --org |
您為 Edge Microgateway 設定的 Apigee 機構。 |
-e, --env |
您已為其設定 Edge Microgateway 的環境。 |
-k, --key |
執行「edgemicro configure」指令時傳回的鍵值。 |
-s, --secret |
執行「edgemicro configure」指令時傳回的密鑰值。 |
-h, --help |
輸出使用情況資訊。 |
範例
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