託管目標總覽

您目前查看的是 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」。