EAS官方SDK提供Java、Python、Golang三種語言版本,是VPC高速直連情境下推薦的服務調用方式。SDK封裝了服務發現、負載平衡、Token簽名和失敗重試等能力,協助您快速完成服務調用。
適用情境
EAS官方SDK的典型適用情境是VPC高速直連。該情境下使用SDK可省去自行實現服務發現和負載平衡的工作。
其他調用方式(如通過共用網關或專屬網關)通常使用標準HTTP用戶端即可,無需引入SDK。
不同調用方式的選型判定,請參見服務調用。
調用原理
SDK支援網關訪問和VPC高速直連兩種Endpoint類型,請求路由方式不同,但調用流程一致,均包含以下三個階段:
-
初始化用戶端:建立
PredictClient,設定Endpoint、服務名、Token(可在EAS控制台的服務詳情頁擷取),調用init()完成初始化。 -
構造請求:根據服務的輸入輸出格式構造Request對象(如
StringRequest、TFRequest、TorchRequest等)。請求類型必須與服務端要求一致。使用Processor部署的服務,各Processor對應的請求類型請參見Processor部署。 -
發起調用:調用
predict()發送請求並接收響應。SDK自動完成Token簽名、失敗重試(預設5次)和響應還原序列化,無需使用者介入。
VPC高速直連情境下,官方SDK封裝了服務發現和負載平衡的邏輯,詳情請參見VPC高速直連-官方SDK調用。
除上述同步推理調用外,SDK還提供佇列服務調用方式:
-
通過
QueueClient將請求非同步推入輸入隊列,由服務端消費並將結果寫入輸出隊列。 -
用戶端通過訂閱(watch)方式接收結果。
該調用方式適用於非同步推理、長任務等情境,具體使用方式請參見各語言SDK文檔中的樣本。
調用異常排查
SDK調用異常時,建議按"用戶端 → 網路 → 服務端"的順序逐層排查。常見問題分類及排查方向如下:
-
鑒權類(401 / 403):檢查Token是否正確傳入、是否與目標服務匹配、是否在控制台被重設。
-
路由類(404):檢查Endpoint和服務名是否與EAS服務詳情頁一致;如果使用VPC高速直連,確認服務發現是否正常拉取到執行個體列表。
-
串連類(connection refused / timeout / DNS解析失敗):檢查用戶端與服務端是否在同一VPC、安全性群組規則是否放通、Endpoint網域名稱是否可解析。
-
服務端類(5xx / 返回為空白 / 返回格式異常):需結合服務日誌定位。
完整的服務狀態代碼、典型錯誤資訊和處理建議,請參見附錄:服務狀態代碼與常見報錯。