Azure APIM 的運作方式
在這裡,我們會透過三種使用方式探討 Azure APIM 的運作方式。 這項知識可協助您繼續評估 Azure APIM 是否適合用來管理貴組織的 API。
在此單元中,您將了解 Azure APIM 針對下列各類使用者的運作方式:
- API 取用者
- API 提供者
- 應用程式開發人員
Azure APIM 對 API 取用者的運作方式
API 取用者是對 API 提出資料要求的實體。 例如,這些實體都可能是 API 取用者:
- 行動裝置應用程式
- Web 應用程式
- IoT 裝置
適用於取用者的主要 Azure APIM 元件是閘道。 所有取用者 API 呼叫都會先路由傳送至您的閘道端點。 API 取用者只會直接與閘道互動,而不會與實際的 API 部署執行個體互動。
閘道會從取用者的觀點來執行許多工作,但以下是最重要的工作:
- 驗證。 閘道會藉由驗證取用者的訂用帳戶金鑰、JWT 權杖和其他認證,來監視 API 的存取。
- 安全性。 閘道會強制執行預先定義的速率限制和取用者使用配額,或根據 API 的結構描述驗證要求和回應,藉此防止 API 誤用。
- 轉換。 閘道會視需要轉換 API 要求或回應。 例如,如果後端服務以 XML 資料回應,您可以將 XML 自動轉換成 JSON 以將 API 現代化,如下圖所示。
- 路由。 在 API 要求經過認證、驗證和轉換之後,閘道會將呼叫路由傳送至部署 API 的後端服務。
- 效能: 閘道可以在快取中儲存後端 API 回應。 當後端回應於一段時間內保持靜態的情況下,從快取提供後續回應會讓取用者能更快地回應,並減少後端伺服器的負載。
Azure APIM 對 API 提供者的運作方式
如果您是 API 提供者,在您的 API 發佈之後,仍有大量的工作要執行。 這些工作包括:
- 設定 API 原則
- 管理 API 取用者
- 管理 API 修訂和版本
- 監視及分析您的 API
您可以使用 Azure 入口網站中的 Azure APIM 管理介面來執行上述所有工作及其他作業。 或者,也可使用 Azure CLI 或 Azure PowerShell 等工具。 除了讓您設定 API 原則 (就如上一個單元中的學習內容),管理介面還能用於執行下列工作:
- 定義和匯入 API 規格。 匯入 OpenAPI 規格、REST API、簡易物件存取通訊協定 (SOAP) API (可選擇將其轉換為 REST)、WebSocket API 或 GraphQL API。 您也可以匯入下列 Azure 服務的執行個體,以建立 API:Web 應用程式、容器應用程式、函數應用程式、邏輯應用程式及 Service Fabric。 或者您可以建立空白的 API 並手動定義。
- 管理使用者和群組。
- 使用者是開發人員帳戶。 這是 API 取用者的帳戶。 您可以手動新增使用者或邀請使用者建立帳戶,但大多設使用者都可使用開發人員入口網站來建立自己的帳戶。
- 群組是相關使用者的集合。 您可以將群組與特定的 API 產品建立關聯,然後該群組中的每位使用者都可在開發人員入口網站存取該產品。
- 將 API 封裝至產品。 在 Azure APIM 中,產品是一組相關的 API。 藉由將多個 API 封裝為單一產品,您可以只設定產品,而無須個別設定所有 API。 例如,設定速率限制和其他原則、定義使用規定、新增群組等等。 這項設定適用於產品中的所有 API。 在您發佈產品之後,取用者可以訂閱產品,並使用其 API 搭配單一訂用帳戶金鑰。
- 管理 API 修訂和版本。 當 API 開發人員小組需要對 API 進行變更時,可使用修訂和版本,以安全且受控制的方式公開變更,而不會對取用者造成負面影響:
- 修訂是對 API 而言相對較小或不中斷的變更。 您的開發小組可以從生產 API 分別編碼和測試修訂,如下圖所示。 然後,當修訂準備好供取用者使用時,可使用 Azure APIM 管理介面將更新後的 API 設定為目前修訂。
- 版本是對 API 而言相對重大或中斷性的變更。 Azure APIM 可讓您同時為開發人員提供多個 API 版本。 其也提供數種版本設定配置,包括路徑式、標頭式,以及查詢字串式的版本控制。
- 監視及分析 API。 管理介面包含內建的監視工具,可即時追蹤和查看 API 流量,以及深入解析取用者使用已發佈 API 狀況的分析。 Azure APIM 也支援數個 Azure 工具,可用來監視 API 及執行分析工作負載。 Azure APIM 所支援的 Azure 服務包括 Azure 監視器記錄、Application Insights 及事件中樞。
Azure APIM 對 API 開發人員的運作方式
除了取用層之外,所有的 Azure APIM 執行個體都包含一個開發人員入口網站,您可以在其中向潛在和現有的 API 取用者呈現 API。 開發人員入口網站隨附可自訂的預設介面,以符合您組織的商標和需求。
擁有開發人員帳戶的應用程式開發人員可登入開發人員入口網站 (也接受尚未有帳戶的來賓使用者)。 然後,開發人員會看到 Web 介面,因此能夠以下列方式與 API 互動:
- 存取 API 文件。 開發人員可以檢閱您為每個 API 提供的文件。
- 測試 API。 開發人員入口網站提供互動式主控台,可讓開發人員快速且安全地測試 API。 開發人員可以選擇 API 作業、新增參數值,然後提交呼叫以判斷 API 傳回的回應。
- 檢閱 API 程式碼範例。 開發人員入口網站以數種程式設計語言 (包括 C#、JAVA、JavaScript、PHP 和 Python) 提供 API 呼叫範例。
- 訂閱 API。 當取用者決定使用您的 API 時,開發人員入口網站可讓使用者建立 API 的訂用帳戶,並取得呼叫 API 時所要使用的訂用帳戶金鑰。
- 執行分析。 開發人員入口網站會提供開發人員使用方式 API 的分析。