本頁適用於 Apigee 和 Apigee Hybrid。
查看
Apigee Edge 說明文件。
環境是指要部署的 API Proxy 和共用流程的執行階段執行情境。您必須先將 API Proxy 和共用流程部署至一或多個環境,才能進行測試。如要進一步瞭解環境,請參閱「關於環境和環境群組」。
按照以下各節的說明設定及部署環境。另請參閱「在 Apigee 工作區中管理資料夾和檔案」。
設定環境
在部署環境前,請先設定環境,以便識別要部署的 API Proxy 和共用流程,並視需要設定共用流程掛鉤或目標伺服器。
如要設定環境,請建立環境,然後編輯下表中定義的設定。
設定 | 說明 |
---|---|
偵錯遮罩 (debugmasks.json ) |
定義遮罩設定,以便在追蹤和偵錯工作階段中遮罩特定資料。 |
部署 (deployments.json ) |
在部署中定義 API Proxy 和共用流程。 |
流程掛鉤 (flowhooks.json ) |
將共用流程附加至流程掛鉤,讓這些流程在部署至環境的所有 API Proxy 中執行於相同位置。 |
目標伺服器 (targetservers.json ) |
將具體端點與目標端點分離,以便在多個後端伺服器執行個體之間支援負載平衡和備援機制。 |
鍵值儲存庫 (keystores.json ) |
為目標端點和目標伺服器新增 TLS 支援。 |
此外,如果您使用需要資源的任何政策,則可視需要在環境層級管理資源。
建立環境
如要在 Cloud Code 中的 Apigee 中建立環境,請按照下列步驟操作:
執行下列任一操作:
將游標移至 Apigee 工作區中的「environments」資料夾,然後按一下
。
依序選取「View」>「Command Palette」開啟指令面板,然後選取「Cloud Code: Create Apigee environment」。
「Create environment」精靈會隨即開啟。
輸入環境名稱,然後按下 Enter 鍵。
環境會新增至 Apigee 專區中的「environments」資料夾:
按照後續各節的說明設定環境。
設定偵錯遮罩 (debugmask.json)
Apigee 可讓您定義遮罩設定,在追蹤和偵錯工作階段中遮蓋特定資料。資料經過遮罩後,會在追蹤記錄輸出中以星號取代。例如:
<description>**********</description>
詳情請參閱「遮蓋敏感資料」。
如要設定偵錯遮罩,請直接編輯檔案來更新 debugmask.json
檔案。
以下提供 JSON 格式的遮罩設定基本結構範例。如要進一步瞭解範例中顯示的遮罩設定欄位,請參閱 DebugMask。
{ "namespaces": { "myco": "https://example.com" }, "requestXPaths": [ "/myco:Greeting/myco:User" ], "responseXPaths": [ "/myco:Greeting/myco:User" ], "faultXPaths": [ "/myco:Greeting/myco:User" ], "requestJSONPaths": [ "$.store.book[].author" ], "responseJSONPaths": [ "$.store.book[].author" ], "faultJSONPaths": [ "$.store.book[*].author" ], "variables": [ "request.header.user-agent", "request.formparam.password" ] }
設定部署作業 (deployments.json)
設定要納入部署作業的 API Proxy 和共用流程。
如要設定部署作業,請使用設定精靈或直接編輯檔案來更新 deployments.json
檔案。
如要使用設定精靈設定部署作業,請按照下列步驟操作:
- 將滑鼠游標移至環境的 deployments.json 檔案,然後按一下
。
- 逐步完成設定精靈,選取部署作業並在
deployments.json
檔案中自動填入欄位。deployments.json
檔案會在編輯器中開啟。 - 視需要編輯設定。
- 選取「File」>「Save」或按下 ⌘S 鍵即可儲存編輯內容。
以下範例會將 helloworld
API Proxy 和 mysharedflow
和 hw-sharedflow
共用流程納入部署作業:
{ "proxies" : [ "helloworld" ], "sharedflows" : [ "mysharedflow", "hw-sharedflow" ] }
使用 Proxy 和共用流程部署設定服務帳戶
使用 Google 服務做為後端的 API 代理程式,可能需要 Google Cloud 服務帳戶才能與部署作業建立關聯。請參閱「使用 Google 驗證」。
編輯 deployments.json
檔案時,您可以將 API 代理程式或共用流程與 Google Cloud 服務帳戶建立關聯。例如:
{ "name": "proxy-name", "serviceAccount": "associated-service-account" }
以下範例顯示部署設定,其中服務帳戶與 API Proxy helloworld
和共用流程 mysharedflow
相關聯,但 Proxy healthcheck
和共用流程 hw-sharedflow
並未與服務帳戶相關聯:
{ "proxies": [ { "name": "helloworld", "serviceAccount": "myserviceaccount@myorg.iam.gserviceaccount.com" }, "healthcheck" ], "sharedflows": [ { "name": "mysharedflow", "serviceAccount": "myserviceaccount@myorg.iam.gserviceaccount.com" }, "hw-sharedflow" ] }
進一步瞭解如何設定 Apigee Emulator,以便測試 API 代理程式中的服務帳戶驗證功能。
使用流程掛鉤 (flowhooks.json) 附加共用流程
您可以使用流程掛鉤附加共用流程,讓系統在部署至特定環境的所有 API Proxy 上執行相同的流程。這樣一來,您就能實作並部署邏輯序列,而這並非 API Proxy 實作程式碼的一部分。具體來說,您可以在 API Proxy 流程中的以下位置附加共用流程:
- API Proxy 端點執行前 (
PreProxyFlowHook
) - API Proxy 端點執行完畢後,並在回應傳送至用戶端之前 (
PostProxyFlowHook
) - 目標端點執行前 (
PreTargetFlowHook
) - 目標回應執行完畢後 (
PostTargetFlowHook
)
如要進一步瞭解流程掛鉤,請參閱「使用流程掛鉤附加共用的流程」。
如要使用流程掛鉤附加共用流程,請使用設定精靈或直接編輯檔案來更新 flowhooks.json
檔案。
如要使用設定精靈設定流程掛鉤,請按照下列步驟操作:
- 將滑鼠游標移至環境的 flowhooks.json 檔案,然後按一下
。
- 選取要附加至 API 代理程式流程中特定位置的共用流程,並在
flowhooks.json
檔案中自動填入欄位。flowhooks.json
檔案會在編輯器中開啟。 - 視需要編輯設定。
- 選取「File」>「Save」或按下 ⌘S 鍵即可儲存編輯內容。
以下範例會將 mysharedflow
附加至 PreProxyFlowHook
,以便在 API Proxy 端點執行前執行:
{ "PreProxyFlowHook": { "continueOnError": true, "sharedFlow": "mysharedflow", "description": "Shared enforced before a proxy endpoint executes." } }
設定目標伺服器 (targetservers.json)
目標伺服器 (TargetServers) 會將具體端點網址與目標端點 (TargetEndpoint) 設定分開。您可以設定一或多個命名的 TargetServer,而非在設定中定義具體網址。接著,在 TargetEndpoint HTTPConnection 中依名稱參照每個 TargetServer。
如要進一步瞭解目標伺服器,請參閱下列主題:
如要設定目標伺服器,請使用設定精靈或直接編輯檔案來更新 targetservers.json
檔案。如需 targetservers.json
檔案中欄位的說明,請參閱「資源:TargetServer」。
如要使用設定精靈設定目標伺服器,請按照下列步驟操作:
- 將游標移至環境的 targetservers.json 檔案,然後按一下
。
- 逐步完成設定精靈,設定目標伺服器,並在
targetservers.json
檔案中自動填入欄位。targetservers.json
檔案會在編輯器中開啟。 - 視需要編輯設定。
- 選取「File」>「Save」或按下 ⌘S 鍵即可儲存編輯內容。
以下範例會在環境中新增目標伺服器:
[ { "enabled": true, "name": "mytargetserver", "description": "My first target server", "host": "localhost", "port": 80 } ]
以下範例說明如何使用金鑰庫設定目標伺服器,以便使用雙向 TLS:
[ { "name": "mtlsserver", "host": "mytargetserver.mydomain", "port": 443, "enabled": true, "protocol": "HTTP", "tlsInfo": { "enabled": true, "clientAuthEnabled": true, "keyStore": "mykeystore", "keyAlias": "mykeyandcert", "trustStore": "mytruststore" } } ]
設定 Keystore (keystores.json)
金鑰存放區會定義安全性憑證存放區,用於在目標端點和目標伺服器中進行 TLS 加密。
如要進一步瞭解 TLS 設定,請參閱「傳輸層安全標準 (TLS) 設定選項」。
設定金鑰庫的方法如下:
- 在編輯器中開啟環境的
keystores.json
檔案。這個檔案有兩個主要元素stores
:已新增的 KeyStore 名稱和別名的對應項目。references
- 所有 KeyStore 參照名稱和相關 KeyStore 名稱的對應表。
- 視需要編輯設定。
- 選取「File」>「Save」或按下 ⌘S 鍵即可儲存編輯內容。
以下範例顯示金鑰庫 mykeystore
有兩個別名 mycert-alias
和 mykeycert-alias
:
{ "stores": { "mykeystore": { "my-cert-alias": { "cert": "/Users/jdoe/testkeys/cert1.pem" }, "my-keycert-alias": { "key": "/Users/jdoe/testkeys/key1.pem", "cert": "/Users/jdoe/testkeys/cert1.pem" } } } }
部署環境
為環境部署已設定的 API Proxy 和共用流程,以便進行測試。
如要部署環境,請按照下列步驟操作:
- 在 Apigee 專區中,將游標移至要部署的環境資料夾。
- 按一下
。
- 如果有多個 Apigee Emulator 容器正在執行,請選取要部署環境的容器。
- 選取要透過部署作業匯出的測試套件,或選取「不含測試套件」。
您可以稍後匯出測試資源,如「將測試資源匯出至 Apigee Emulator」一節所述。
環境部署完成後,系統會在「Output」分頁中顯示成功訊息。
Apigee Emulator 會顯示已部署的應用程式: