在 API 管理中從函數應用程式建立新 API

已完成

Azure API 管理服務可讓您從一組不同的微服務建立 API。

在您的線上商店中,應用程式的每個部分已實作為微服務:一個用於產品詳細資料、一個用於訂單詳細資料等等。 每個服務都由個別小組管理,且每個小組都使用持續開發與傳遞,定期地更新並部署程式碼。 您想找一個方法,將這些為服務組合成單一產品,然後集中管理該產品。

在本單元中,您會從個別微服務建置單一 API,以了解在無伺服器架構中使用 Azure API 管理的優點。

無伺服器架構與微服務

微服務是用於建構分散式應用程式的熱門方法。 當您將應用程式建置為微服務集合時,您會建立許多不同小型服務。 每個服務都有已定義的責任範圍,且是獨立地開發、部署及調整。 此模組化架構使應用程式更容易了解、改善及測試。 它也讓持續傳遞變得更容易,因為當在部署微服務時,只會變更整個應用程式的一小部分。

分散式軟體開發的另一個熱門趨勢是無伺服器架構。 在此方法中,主機組織會發佈一組服務,供開發人員用來執行其程式碼。 開發人員不需要擔心提供支援的硬體、作業系統、基礎軟體與其他基礎結構。 相反地,程式碼會在由要求觸發的無狀態運算資源中執行。 因為它只有在服務執行時才會產生成本,因此您不需為很少使用的服務付費。

Azure Functions

Azure Functions 是讓您能在 Azure 中使用無伺服器架構的服務。 您可以使用許多不同的語言撰寫函式,包括 C#、Java、JavaScript、PowerShell 與 Python,而不必擔心提供支援的基礎結構。 您也可以使用來自 NuGet 與 Node Package Manager (npm) 的程式庫,並使用來自 Active Directory、Facebook、Google 與 Microsoft 帳戶等提供者的 OAuth 標準來驗證使用者。

當您撰寫函式時,視您要如何觸發程式碼而定,您可以選擇要使用的範本。 例如,如果您想要執行函式來回應 HTTP 要求,請使用 HTTPTrigger 範本。 您可以使用其他範本,以在佇列、Blob 儲存體容器中有新訊息時執行,或依預先定義的排程來執行。

當您在使用情況方案中使用 Azure Functions 時,您只需支付程式碼執行時間的費用。

Azure API 管理

Azure API 管理是完全受控的雲端服務,可讓您用來發佈、保護、轉換、維護及監視 API。 它可協助組織將 API 發佈給外部、合作夥伴及內部開發人員,以發揮其資料與服務的潛力。 APIM 會處理有關調節 API 呼叫的所有工作。 包括要求驗證與授權、速率限制與配額強制執行、要求與回應轉換、記錄和追蹤,以及 API 版本管理。 API 管理可讓您為裝載於任何位置的現有後端服務,建立及管理新式 API 閘道。

因為您可以透過 API 管理來發行 Azure Functions,因此您可以使用它們來實作微服務架構:每個函式各實作一個微服務。 透過將多個函式新增至單一 API 管理產品,您可以將這些微服務建置成整合的分散式應用程式。 建置應用程式之後,您可以使用 API 管理原則來實作快取或確保安全性需求。

API 管理耗用量層

當您選擇 APIM 的使用量方案時,可以選擇使用量層。 使用量層特別適合微服務型架構與事件驅動系統。 例如,這是我們的線上商店 Web API 的絕佳選擇。

耗用量層使用與前一層相同的基礎服務元件,但是會根據共用、動態配置的資源來採用完全不同的架構。 使用量層完美配合無伺服器運算模型。 不必管理基礎結構,也沒有閑置的容量。 其可提供高可用性、自動調整和使用量型定價。 這一切都讓使用量層成為將無伺服器資源公開為 API 的解決方案的絕佳選擇。

在下一個單元中,我們將建立 API 管理執行個體,並在其中新增函式。