您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
透過代管目標,您可以在 Apigee 代管的原生執行階段環境中執行 Node.js 應用程式。Hosted Targets 的目標很簡單:讓您在原生、安全、可擴充且獨立的環境中部署應用程式,Edge API Proxy 可將這些應用程式做為目標服務呼叫。
如下圖所示,Edge API Proxy 會呼叫部署至 Hosted Targets 環境的 Node.js 應用程式。請注意,Hosted Targets 環境的範圍是 Apigee 機構:環境。

如要讓 Edge API Proxy 與正確建構及部署的代管目標應用程式通訊,您需要在 Proxy 的目標端點中進行簡單設定。如要開始使用,請參閱代管目標教學課程。
Hosted Targets 支援哪些應用程式執行階段?
目前您只能將 Node.js 應用程式部署至代管目標。
安裝託管目標
所有 Edge Public Cloud 機構都可使用代管目標。您不必安裝任何項目,即可使用代管目標。
確認已啟用代管目標
如要確認貴機構是否已啟用代管目標,請取得貴機構詳細資料,並確認 features.isEdgeFunctionsEnabled 屬性設為 true。資源處於唯讀狀態。
例如:
https://api.enterprise.apigee.com/v1/organizations/myorg
{ "createdAt":1507572884047, "createdBy":"jdoe@apigee.com", "displayName":"myorg", "environments":[ "prod", "dev", "test", "portal" ], "lastModifiedAt":1507578673194, "lastModifiedBy":"jdoe@apigee.com", "name":"jdoe", "properties":{ "property":[ { "name":"features.isSmbOrganization", "value":"false" }, { "name":"self.service.virtual.host.enabled", "value":"true" }, { "name":"features.isCpsEnabled", "value":"true" }, { "name":"features.isEdgeFunctionsEnabled", "value":"true" } ] }, "type":"paid" }
託管目標注意事項
代管目標可讓 Node.js 應用程式在原生環境中執行,不需依賴任何 Apigee 專屬的執行階段技術。您可以在本機偵錯及測試應用程式,然後再部署,確保部署的版本與本機版本完全相同。部署時,您可以選擇任何應用程式執行階段版本,在代管目標中執行應用程式。舉例來說,您可能會選擇在 8.10.0 環境中執行 Node.js 應用程式。
限制
如要瞭解代管目標的用量限制,請參閱「Apigee 產品限制」。
基本步驟
如果您熟悉 Edge Proxy 開發作業,只需瞭解幾個簡單步驟,即可順利使用代管目標。基本上,您建立、部署及管理代管目標的 Edge Proxy,與管理其他 Apigee Edge Proxy 的方式相同。
如要使用代管目標,請完成下列工作。教學課程會詳細說明各項工作。
- 在本機開發及測試 Node.js 應用程式。
- 在應用程式專案的根目錄中建立資訊清單檔案。資訊清單是 YAML 檔案,用於指定建構及部署應用程式所需的資訊。
- 將應用程式新增至 Edge 代理伺服器,做為代管資源類型。
- 在 Proxy 的目標端點中,新增空白的
<HostedTarget/>標記。這個標記會告知 Edge 將 Node.js 應用程式部署至 Hosted Targets 環境。例如:
<?xml version="1.0" encoding="UTF-8"?>
<TargetEndpoint name="default">
<PreFlow name="PreFlow">
<Request />
<Response />
</PreFlow>
<PostFlow name="PostFlow">
<Request />
<Response />
</PostFlow>
<Flows />
<HostedTarget />
</TargetEndpoint>託管目標應用程式的適用範圍
代管目標應用程式的範圍為 Edge 機構環境。這項範圍與任何 Edge Proxy 相同。
代管目標應用程式可以存取 Proxy 資料嗎?
目前,代管目標應用程式無法存取 Proxy 執行階段環境。也就是說,您無法直接從代管目標應用程式存取流程變數、快取和其他實體。
使用內嵌 Node.js (Edge 中以 Trireme 為基礎的傳統 Node.js 支援),您可以透過 apigee-access 存取 Edge 中的流程變數和其他實體。不過,Hosted Targets 不支援 Node.js 部署作業的 apigee-access 模組。
另請參閱「是否可以解決缺少 apigee-access 的問題?」
將現有應用程式程式碼遷移至代管目標
目前無法將傳統的 以 Trireme 為基礎的內嵌 Node.js 應用程式自動遷移至 Hosted Targets。不過,您可以手動將現有應用程式程式碼轉換為代管目標。如需範例,請參閱「將現有 Node.js Proxy 遷移至代管目標 Proxy」。