託管目標總覽

您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件
資訊

代管目標可讓您在 Apigee 託管的原生執行階段環境中執行 Node.js 應用程式。代管目標的目標很簡單:讓您在安全、可擴充且隔離的原生環境中部署應用程式,Edge API Proxy 可以將其稱為目標服務。

如下圖所示,Edge API Proxy 會呼叫部署至代管目標環境的 Node.js 應用程式。請注意,代管目標環境的範圍僅限於 Apigee 機構:環境。

如要讓 Edge API Proxy 與妥善建構及部署的代管目標應用程式通訊,您必須在 Proxy 的目標端點中進行簡單的設定。如要開始使用,請前往代管目標教學課程

代管目標支援哪些應用程式執行階段?

目前,您只能將 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 專用執行階段技術的原生環境中執行。部署之前,您可以在本機偵錯及測試應用程式。請放心,已部署的版本會在本機正常運作。部署時,您可以選擇任何應用程式執行階段版本,以便在代管目標中執行應用程式。舉例來說,您可能會特別選擇在 v8.10.0 環境中執行 Node.js 應用程式。

限制

如要瞭解代管目標的用量限制,請參閱 Apigee 產品限制

基本步驟

如果您熟悉 Edge Proxy 開發功能,只需要瞭解幾個簡單步驟,就能成功使用代管目標。基本上,您可以建立、部署和管理託管目標的 Edge Proxy,方法與所有其他 Apigee Edge Proxy 相同

如要使用代管目標,您必須完成下列工作。教學課程會詳細說明這些工作。

  • 在本機開發及測試 Node.js 應用程式。
  • 在應用程式專案的根目錄中建立資訊清單檔案。資訊清單是 YAML 檔案,指定建構及部署應用程式所需的資訊。
  • 將應用程式新增至 Edge Proxy 做為「託管」資源類型。
  • 在 Proxy 的目標端點中,新增空白的 <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 執行階段環境。這表示您無法直接從代管目標應用程式存取流程變數、快取和其他實體。

透過嵌入式 Node.js (在 Edge 中支援傳統的 Trireme 型 Node.js 支援),您可以使用 apigee-access 存取 Edge 中的流程變數和其他實體。不過,代管目標不支援使用 apigee-access 模組進行 Node.js 部署。另請參閱「是否能解決缺少 Apigee 存取權的問題?」一節。

將現有應用程式程式碼遷移至代管目標

目前尚無自動化遷移路徑,從以機器人為基礎的嵌入式 Node.js 應用程式到託管目標之間。不過,您可以手動將現有應用程式程式碼轉換為代管目標。如需範例,請參閱將現有的 Node.js Proxy 遷移至代管目標 Proxy