開始在 Apigee Edge 中使用 Node.js

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

本主題說明使用管理 UI 將 Node.js 應用程式納入 API Proxy 最簡單的方法。

簡介

那麼您可能建立的第一個 Node.js 應用程式可能是 HTTP 伺服器,會以「Hello World!」來回應要求如要在 Apigee Edge 上試用 Node.js,最簡單的方法就是執行類似的做法。只要按幾下滑鼠,您就能擁有在 Edge 上執行的 Proxy 的 Node.js HTTP 伺服器。之後,您可以使用 UI 中的程式碼編輯器修改 Node.js 應用程式、新增其他 Node.js 檔案、新增政策等。

正在建立 Hello World 範例!API Proxy

本節說明如何建立與 Node.js HTTP 伺服器互動的 Edge API Proxy。系統已為您編寫 Node.js HTTP 伺服器程式碼,您只要按照以下幾個簡單步驟操作,系統就會自動部署至 Edge。
  1. 在「建構 Proxy」精靈中,選取「Node.js 應用程式」
  2. 按一下「Next」
  3. 按照「建立 Proxy」精靈中的指示完成下列選項。
    欄位 選取
    詳細資料
    Proxy 名稱 輸入 Nodejs-Hello。您的 API 顯示名稱。
    Proxy 基本路徑 輸入 nodejs-hello
    來源 選取「Hello World」範例。(本主題稍後將探討其他選項)。
    說明 輸入 API 的說明。
    安全性
    通過 (無) 選取「通過 (無)」。透過 Proxy 建立簡易傳遞。
    虛擬主機
    預設、安全 請勿變更預設設定。如要瞭解虛擬主機,請參閱「關於虛擬主機 (Beta 版)」。
    版本
    部署環境 選取「test」
  4. 按一下「Build and Deploy」
    您應該會看到一個確認訊息,通知您已成功在「test」環境中成功建立及部署新的 API Proxy。
  5. 按一下「在編輯器中查看 <proxy name> Proxy」,顯示 API Proxy 的詳細資料頁面。

叫用 Hello Proxy

呼叫 hello Proxy 時,Node.js 應用程式會自動執行,以「Hello, World!」回應。請注意,除非另有指定,否則 Node.js 應用程式會部署至名為 test 的環境。以下是使用 Curl 的基本呼叫 (請將 myorg 替換成貴機構的名稱)。
$ curl http://myorg-test.apigee.net/nodejs-hello
Hello, World!

查看及編輯 Node.js 程式碼

接著來看看已新增至 API Proxy 的 Node.js 程式碼。前往 Hello World Proxy 的摘要頁面,然後按一下「Develop」



系統隨即會開啟「開發」檢視畫面,其中包含程式碼編輯器。您可以直接在該處編輯程式碼。

例如,將回應從 Hello, World! 變更為其他 (例如 Hello, Node!),然後按一下「儲存」。系統會儲存並重新部署 Proxy。

最後,重新叫用 Proxy 以驗證變更:

$ curl http://myorg-test.apigee.net/nodejs-hello
Hello, Node!

進一步瞭解如何在 Apigee Edge 上執行 Node.js 應用程式

與所有 Node.js 應用程式一樣,在 Apigee Edge 上執行的 Node.js 應用程式會在單一控制執行緒中執行。您不需要啟動另一個執行緒,也不需要同步處理執行緒之間的變數。由於 Node.js 會強制執行非阻塞程式設計,因此單一指令碼可以支援數千個並行要求,因為每當需要等待時,指令碼就會釋放 CPU,並在稍後發生時通知。

如要在 Apigee Edge 上使用 Node.js,您必須指定主要 Node.js 指令碼檔案。您必須將這個指令碼設為處理傳入要求,一般是使用 httphttps 模組、建立用戶端等操作。(如未以這種方式設定主要指令碼,指令碼將在部署完成後執行並結束)。在 Apigee Edge 中,每個 Node.js 應用程式指令碼都會在部署 Proxy 時從頭開始啟動,並在取消部署 Proxy 時停止。在另一個要求之間,系統會等待新的要求並加以處理。詳情請參閱部署獨立 Node.js 應用程式中的「叫用匯入的 Node.js 檔案」一節。

後續步驟

您也可以直接透過檔案系統建立及部署獨立的 Node.js 應用程式。下一個主題是部署獨立 Node.js 應用程式,說明如何使用 apigeetool 指令從指令列部署 Node.js 應用程式。