全部產品
Search
文件中心

:阿里雲OpenAPI

更新時間:Jun 30, 2024

阿里雲OpenAPI是雲端服務對外暴露的操作入口,所有形態的服務整合最終都是為了能夠成功調用OpenAPI。

什麼是OpenAPI?

API(API)是一種允許應用程式之間相互連信的標準介面。API 允許開發人員在多個不同的應用程式之間共用資料、功能和服務,使開發人員更容易地實現串連兩個應用程式之間的功能,也使開發人員可以更輕鬆地開發和擴充應用程式。

OpenAPI是阿里雲官方推出的API,旨在為開發人員提供一種安全、穩定、高效的方式來整合阿里雲,包括雲端服務器、資料庫、儲存、訊息佇列、安全服務等。

OpenAPI遵循阿里雲的規範,提供了豐富的介面定義,包括介面名稱、出入參數定義、錯誤碼、Endpoint等。同時,OpenAPI還提供多種程式設計語言和開發架構的SDK,方便開發人員快速構建與阿里雲相關的應用程式,包括Java、Python、Node.js、Go等。通過API介面擷取資料、控制伺服器、系統管理權限等,實現對阿里雲資源的全面控制和管理。

調用 OpenAPI

作為開發人員,調用一個 API 介面,我們通常需要關注以下重點資訊:

  1. 調用地址(網關)

  2. 是否需要登入

  3. 是否需要授權

  4. 調用方式

  5. 返回結果

調用阿里雲 OpenAPI 亦是如此。下圖是使用者從用戶端發起一個 OpenAPI 調用請求到接收來自阿里雲服務響應資料的完整時序圖。

  1. 使用者發起HTTP請求,調用商務服務端提供的介面。例如:該指令為查詢某個ECS的執行個體狀態。

  2. 商務服務端接收到使用者從業務用戶端的請求,校正介面參數合法性,根據 OpenAPI 介面文檔組織請求參數、並對請求進行簽名。

    說明

    如果使用阿里雲 SDK 調用 OpenAPI ,則無需對請求進行簽名,SDK 內部已封裝請求籤名邏輯。

  3. 商務服務端發起請求訪問 OpenAPI 網關的服務存取點。

  4. OpenAPI 網關接收到商務服務端請求,校正簽名和合法性,解析調用身份,並進行鑒權。

  5. 鑒權通過後,將該請求轉寄到對應雲產品的內部服務地址。

  6. 雲產品接收到來自網關的轉寄請求,根據請求指令操作具體的雲資源,返回執行結果。

  7. OpenAPI 網關接收到來自雲產品的返回資料,並進行標準輸出格式轉換,返回給商務服務端。

  8. 商務服務端接收到 OpenAPI 網關的返回資料,對結果進行處理,並將結果返回給業務用戶端。

基本概念

服務存取點

服務存取點(Endpoint)是指用戶端可以使用的雲產品在網關註冊的服務地址。服務存取點通常是一個 URL,它指定了服務的訪問協議、主機名稱、連接埠和路徑等資訊,用戶端可以使用這些資訊與雲端服務進行通訊。

身份、憑據、鑒權

阿里雲的 OpenAPI 分為兩種:

  1. 匿名 OpenAPI ,對於匿名 OpenAPI ,不需要額外的認證流程,只要請求是符合 OpenAPI 的風格,則可以順利調用。

  2. 需要身份認證的 OpenAPI ,對於需要身份認證的 OpenAPI ,網關需要識別請求憑證,確認調用發起人的身份,身份通過許可權校正後,才會將請求轉寄到對應雲端服務,否則會直接拒接該請求。

調用方式

為了更好的支援開發人員,阿里雲提供多種方式調用 OpenAPI ,主要的方式有:使用阿里雲控制台,整合阿里雲 SDK、使用阿里雲 CLI、使用Resource Orchestration Service、使用Terraform、自行實現 HTTP 要求等。

說明

官方推薦您使用阿里雲 SDK調用 OpenAPI