您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。info
託管目標可讓您在由 Apigee 託管的原生執行階段環境中執行 Node.js 應用程式。託管目標的目標很簡單:您可以在安全、可擴充的原生環境中部署應用程式,讓 Edge API Proxy 將其稱為目標服務。
如下圖所示,Edge API Proxy 會呼叫已部署至 Hosted Targets 環境的 Node.js 應用程式。請注意,託管目標環境的範圍限定在 Apigee 機構:環境內。
如要取得 Edge API Proxy 以與正確建構且已部署的託管目標應用程式通訊,您必須在 Proxy 的目標端點中設定簡單的設定。如要開始使用,請前往代管目標教學課程。
代管目標支援哪些應用程式執行階段?
您目前只能將 Node.js 應用程式部署至代管目標,
安裝代管目標
所有 Edge Public Cloud 機構都能使用 Hosted Targets。您不需要安裝任何東西,即可使用代管目標。
確認已啟用代管目標
如要確認貴機構是否已啟用代管目標,請取得貴機構的詳細資料,並確認 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 專屬執行階段技術的原生環境中執行。部署應用程式前,您可以先在本機偵錯及測試應用程式,而且不必擔心部署的版本會在本機上運作。在部署期間,您可以選擇任何應用程式執行階段版本,以在 Hosted Targets 中執行應用程式。舉例來說,您可以特別選擇在 v8.10.0 環境中執行 Node.js 應用程式。
限制
如要瞭解代管目標的用量限制,請參閱「Apigee 產品限制」。
基本步驟
如果您熟悉 Edge Proxy 開發作業,只要學習幾個簡單的步驟,即可成功使用託管目標。基本上,您為託管目標建立、部署和管理 Edge Proxy,與使用其他 Apigee Edge Proxy 的方法相同。
如要使用代管目標,您必須完成下列工作。教學課程會詳細說明這些工作。
- 在本機開發及測試 Node.js 應用程式。
- 在應用程式專案的根目錄中建立資訊清單檔案。資訊清單是 YAML 檔案,可指定建構及部署應用程式所需的資訊。
- 將應用程式新增到 Edge Proxy 做為「託管」資源類型。
- 在 Proxy 的 Target Endpoint 中,新增空白的
<HostedTarget/>
標記。此標記會指示 Edge 將 Node.js 應用程式部署至託管目標環境。例如:
<?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 執行階段環境。也就是說,您無法直接從 Hosted Targets 應用程式存取流程變數、快取和其他實體。
嵌入式 Node.js (Edge 中以 Trireme 為基礎的傳統 Node.js 支援) 可讓您使用 apigee-access 存取 Edge 中的流程變數和其他實體。不過,託管目標不支援針對 Node.js 部署項目使用 apigee-access
模組。另請參閱是否可以解決缺少 apigee-access 的問題?
將現有應用程式程式碼遷移至代管目標
目前沒有從傳統的以 Trireme 為基礎的嵌入式 Node.js 應用程式自動遷移至代管目標的路徑。但您可以手動將現有的應用程式程式碼轉換為代管目標。如需範例,請參閱將現有的 Node.js Proxy 遷移至代管目標 Proxy。