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 回應。 當後端回應於一段時間內保持靜態的情況下,從快取提供後續回應會讓取用者能更快地回應,並減少後端伺服器的負載。

行動裝置應用程式使用 API 要求氣象預報。Azure APIM 閘道會將呼叫路由傳送至後端伺服器,然後將伺服器的 XML 回應轉換為 JSON,最後再將其傳回給行動應用程式。

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 要求會路由傳送至目前的 API 修訂,而來自內部開發小組的 API 要求則會路由傳送至 API 修訂。

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 的分析。