本頁內容適用於 Apigee 和 Apigee Hybrid。
查看
Apigee Edge 說明文件。
Apigee 模擬器可讓您在本機開發環境中模擬 Apigee 安裝作業,以進行測試。Apigee Emulator 不會取代 Apigee 安裝作業,也不具備相同的功能,但可簡化本機開發環境中的測試作業。
Apigee Emulator 是公開提供給開發人員的自訂 Docker 映像檔,可在本機開發環境中部署及測試 API Proxy。Docker 映像檔會定期發布至 gcr。
準備好部署及測試第一個 API Proxy 時,您需要使用模擬器部分,查看及管理模擬器版本,以及所設定模擬器的生命週期。
這個部分可讓您:
查看已安裝的模擬器版本,以及為每個模擬器版本建立的容器,包括 Docker 和執行階段資訊,以及控制和流量通訊埠。
新增、刪除、啟動、停止、重設、更新及重新整理 Apigee Emulator 容器的檢視畫面,詳情請參閱「管理 Apigee Emulator」。
查看已部署的應用程式 (請參閱「部署環境」)。
查看有效的測試資源 (請參閱「將測試資源匯出至 Apigee 模擬器」)。
管理 Apigee 模擬工具
請按照下列各節所述管理 Apigee Emulator。
選擇模擬器版本
根據預設,模擬器資料夾會顯示穩定版本。不過,您可以根據需求選擇其他版本。
使用下列任一方法查看 Apigee Emulator 版本清單,並記下 Tag 值:
- 使用 Google Artifact Registry。(請參閱「說明文件」和「使用者介面」)。
- 使用 Docker Hub。
- 使用 Google Artifact Registry。(請參閱「說明文件」和「使用者介面」)。
如要將 Apigee Emulator 版本新增至 Cloud Code 擴充功能,請依序點按「管理」
和「設定」,然後搜尋apigee emulators
。按一下「新增項目」。
輸入在步驟 1 中取得的「標記」值。例如:
1.10.0
或google/apigee-emulator:1.10.0
按一下 [確定]。
新增的模擬器會顯示在 emulator 資料夾中。
安裝 Apigee 模擬器
如要安裝 Apigee 模擬器,請按照下列步驟操作:
展開工作區中的 emulators 資料夾。
將游標移至要安裝的 Apigee Emulator 版本。
按一下「
」。
按照「為 Apigee 新增容器」一文中的操作說明新增容器。
模擬器。
系統會安裝所選 Apigee Emulator 版本的最新映像檔。安裝完成後,系統會顯示 Emulator installed successfully
訊息,且 Apigee Emulator 容器狀態會變更為「Ready」(就緒)。
為 Apigee 模擬器新增容器
如要使用 UI 新增 Apigee Emulator 的容器,請按照下列步驟操作:
展開「emulators」資料夾。
將游標懸停在要新增容器的 Apigee Emulator 上。
按一下 [+]。
輸入 Apigee Emulator 容器的專屬名稱,然後按下 Enter 鍵。請輸入英數字元、破折號 (-) 或底線 (_)。
輸入要用做 Apigee Emulator 容器控制埠的數值,然後按下 Enter 鍵。控制埠在容器中不得重複。預設值為
8080
。輸入要用做 Apigee Emulator 容器流量通訊埠的數值,然後按下 Enter 鍵。容器的流量通訊埠不得重複。預設值為
8998
。
容器已新增。
查看 Apigee 模擬工具的狀態資訊
如要查看 Apigee Emulator 的狀態資訊,請參閱下列章節。
運用使用者介面
如要查看 Apigee Emulator 的狀態資訊 (包括 Docker 和執行階段資訊),請展開「emulators」部分中的容器。您看到的資訊與使用的 Apigee Emulator 版本相符。
使用 Docker CLI
如要查看 Apigee Emulator 的容器狀態資訊及其設定的連接埠,請在「Terminal」(終端機) 分頁中執行 docker ps
。以下提供範例回應。實際顯示的回應取決於使用的 Apigee Emulator 版本:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 33756b8c5c5b ...apigee-emulator:1.11.0 "/usr/bin…" 10 hours ago Up 10 hours 7000-7001/tcp, 0.0.0.0:8080->8080/tcp... apigee-emulator
另請參閱「自訂 Apigee 執行階段 Docker 容器」。
啟動 Apigee 模擬器
按照下列各節的說明啟動 Apigee Emulator。
運用使用者介面
如要啟動 Apigee Emulator,請將游標放在要啟動的容器上,然後按一下 。
使用 Docker CLI
如要啟動 Apigee 模擬器,請執行 docker start CONTAINER_NAME
在「Terminal」分頁中。
狀態已設為「Ready
」:
重設 Apigee 模擬器
如要移除所有部署作業和匯出的測試資源,請按照下列各節所述重設 Apigee Emulator。
運用使用者介面
如要重設 Apigee 模擬器,請將游標放在「emulators」部分中的 Apigee 模擬器容器上,然後按一下 。
Apigee Emulator 會重設,狀態也會設為 Ready
:
「輸出」分頁會顯示下列資訊:
Resetting the Apigee Emulator Reset completed
另請參閱「自訂 Apigee 執行階段 Docker 容器」。
重新啟動 Apigee 模擬器
如要重新啟動 Apigee Emulator,請在「Terminal」(終端機) 分頁中執行 docker restart CONTAINER_NAME
。例如:docker restart MyContainer
更新 Apigee 模擬器
如果 Apigee Emulator 與最新版本不同步,您可以透過 UI 或 Docker CLI 更新已安裝的版本,詳情請參閱下列各節。
運用使用者介面
如要更新 Apigee 模擬器,請將游標移到「模擬器」部分中的 Apigee 模擬器上,然後按一下 。
使用 Docker CLI
如要更新 Apigee Emulator,請在「Terminal」(終端機) 分頁中執行下列 Docker 指令,並使用最新適當版本:
執行
docker ps
取得映像檔名稱。範例:gcr.io/apigee-release/hybrid/apigee-emulator:EMULATOR_VERSION
執行
docker pull IMAGE_NAME
,更新 Apigee Emulator 安裝映像檔。範例:docker pull gcr.io/apigee-release/hybrid/apigee-emulator:EMULATOR_VERSION
Apigee 模擬器已更新,並顯示下列訊息:Emulator version is up to date
另請參閱「自訂 Apigee 執行階段 Docker 容器」。
停止 Apigee 模擬器
使用 UI 或 Docker CLI 停止 Apigee Emulator,詳情請參閱下列章節。
運用使用者介面
如要停止 Apigee Emulator,請將游標放在「emulators」部分中的 Apigee Emulator 容器上,然後按一下 。
使用 Docker CLI
如要停止 Apigee Emulator,請在「Terminal」分頁中執行 docker stop CONTAINER_NAME
。
Apigee Emulator 會停止運作,狀態也會變更為 Not
running
:
另請參閱「自訂 Apigee 執行階段 Docker 容器」。
刪除 Apigee 模擬工具的容器
使用 UI 或 Docker CL 刪除 Apigee Emulator 的容器,詳情請參閱下列章節。
運用使用者介面
如要刪除 Apigee Emulator,請將游標放在「emulators」部分中的 Apigee Emulator 容器上,然後按一下 。
使用 Docker CLI
如要刪除 Apigee Emulator 的容器,請在「Terminal」分頁中執行下列 Docker 指令:
執行
docker stop CONTAINER_NAME
停止 Apigee Emulator 安裝映像檔 (如果尚未停止)。例如:docker stop MyContainer
執行
docker rm CONTAINER_NAME
,停止 Apigee Emulator 安裝映像檔。例如:docker rm MyContainer
容器已刪除。
另請參閱「自訂 Apigee 執行階段 Docker 容器」。
自訂 Apigee 執行階段 Docker 容器
您可以使用下列選項,自訂用於控管 Apigee Emulator 執行個體的 Docker 指令列。
選項 | 說明 |
---|---|
additionalArguments |
新增一或多個引數。系統會將引數新增至 docker run 指令,與提供的引數完全相同。預設值為 "" (無)。 |
detached |
控管執行容器時是否使用 --detached 選項。預設值為 true 。 |
dns |
控制 DNS 服務 -dns 旗標,詳情請參閱「DNS 服務」。這個變數預設為 8.8.8.8 。
|
environmentVariables |
如「選項」一節所述,將環境變數新增至 docker run 指令。如果提供值,系統會使用 -e 將值新增至 docker run 指令。預設清單包含 "XTERM": "xterm-256color" 。
|
labels |
新增要附加至容器的一或多個標籤。標籤會使用 -l 新增至 docker run 指令。預設值為 none 。 |
privileged |
控管執行容器時是否使用 --privileged 選項。預設值為 true 。 |
volumes |
在容器中新增一或多個要掛接的磁碟區。使用 -v 將磁碟區新增至 docker run 指令。預設值為 none 。 |
如要自訂 Apigee 執行階段 Docker 容器,請按照下列步驟操作:
這項功能是 Insiders 版本 (1.21.0 以上版本) 的一部分。按照「安裝 Insiders 版本」一文的說明,安裝 Insiders 版本。
依序點選「管理」 >「設定」,然後搜尋
apigee docker
。在「Cloudcode」>「Apigee: Docker Options」下方,按一下「Edit in settings.json」。可自訂的選項會顯示在
settings.json
檔案中,如下所示:"cloudcode.apigee.dockerOptions": { "environmentVariables": { "XTERM": "xterm-256-color" }, "dns": "8.8.8.8", "detached": true "privileged": true, "labels": {}, "volumes": {}, "additionalArguments":"" }
編輯選項並儲存檔案。
自訂 Apigee Emulator,支援以服務帳戶為基礎的驗證
測試依附於 Google Cloud 服務帳戶型驗證的 Proxy 時,Apigee Emulator 需要存取 Google 服務帳戶金鑰。按照步驟設定 Apigee Emulator,支援以服務帳戶為基礎的驗證。
建立及下載服務帳戶金鑰
建立具有「服務帳戶憑證建立者」 Google Cloud 角色的服務帳戶,這是 Apigee Emulator 支援服務帳戶的必要條件。按照「建立服務帳戶金鑰」一文的說明,為服務帳戶建立金鑰。
將金鑰下載至本機檔案系統,以便提供給 Apigee 模擬器。
設定 Apigee 模擬器
如要設定 Apigee Emulator,請按照下列步驟操作:
如「自訂 Apigee 執行階段 Docker」一文所述,開啟 Docker 選項
在 Docker 選項的「
volumes
」部分,新增磁碟區,讓下載的服務帳戶金鑰路徑可在容器中使用。假設金鑰是在路徑/opt/apigee/keys/apigee-sa-key.json
中下載,下列設定會將/opt/apigee/keys
的內容掛接至容器內的/emulator/keys
路徑:"volumes": { "/opt/apigee/keys":"/emulator/keys" }
在 Docker 選項的
environmentVariables
區段中,新增指向已掛接路徑中檔案的GOOGLE_APPLICATION_CREDENTIALS
變數:"environmentVariables": { "GOOGLE_APPLICATION_CREDENTIALS":"/emulator/keys/apigee-sa-key.json" }
儲存設定並建立新的容器執行個體,以供測試。
以下範例說明如何將 Google 服務帳戶金鑰與 Apigee Emulator 建立關聯。
"cloudcode.apigee.dockerOptions": {
"environmentVariables": {
"XTERM": "xterm-256-color",
"GOOGLE_APPLICATION_CREDENTIALS":"/emulator/keys/apigee-sa-key.json"
},
"dns": "8.8.8.8",
"detached": true
"privileged": true,
"labels": {},
"volumes": {
"/opt/apigee/keys":"/emulator/keys"
},
"additionalArguments":""
}
設定 Apigee Emulator,支援 HTTP 轉送 Proxy
很多時候,與 Proxy 相關聯的後端目標只能透過 HTTP 轉送 Proxy 存取。您可以設定 Apigee 模擬器,在透過名為 FORWARD_PROXY
的環境變數連線至目標時使用轉送 Proxy。
如要設定 Apigee Emulator,請按照下列步驟操作:
如自訂 Apigee 執行階段 Docker 容器所述,開啟 Docker 選項。
在 Docker 選項的
environmentVariables
部分,新增指向轉送 Proxy 位址的FORWARD_PROXY
變數,做為 HTTP 網址"environmentVariables": { "FORWARD_PROXY":"http://proxy_host:proxy_port" }
儲存設定,並建立新的容器執行個體進行測試。