API調用失敗的可能原因有哪些?
如果API調用出錯,請仔細檢查API的配置:
- 域名是否備案成功,且能正常解析。
- 域名是否綁定到正確的API分組。
- API是否已發布。如果修改過API,則需要重新發布;如果發布到非RELEASE環境,請求X-Stage頭的值需要填寫發布的環境名稱。
- 如果使用APP認證,App Key和Secret是否正確。
- 訪問控制策略是否設置正確。
- 是否超過了流量控制范圍。
- 請求參數的格式錯誤。
API調用報錯“414 Request-URI Too Large”
可能原因:URL(包括請求參數)太長,建議將請求參數放在body體中傳遞。
"API Not Found"如何解決?
請按以下順序排查可能原因:
1.API的方法不正確。比如注冊的API為POST方法,您使用了GET方法調用。
2.API沒有發布。API創建后,需要發布到具體的環境后才能使用。
3.域名解析不正確。如果API方法正確,且已發布到環境,有可能是沒有準確解析到您的API所在分組。請檢查API所在的分組域名,例如您有多個API分組,每個分組有自己的獨立域名,API調用時,使用了其他分組的獨立域名。
No backend available,怎么解決?
檢查后端服務是否可以訪問,如果不能訪問,請修改后端服務。
- 檢查后端服務對應的ECS安全組配置,查看是否已開放您需要的端口。
- 檢查VPC網絡中的ACL配置,查看是否有相關ACL策略限制了API網關實例與后端服務所在子網的通信。
- 若使用VPC通道,檢查VPC通道業務端口、健康檢查端口、后端服務器添加是否均正常。
后端服務調用失敗或超時原因分析
以下原因可能導致后端服務調用失敗或者超時,請逐一排查。
| 原因 | 解決方案 |
|---|---|
| 后端服務地址錯誤。 | 在編輯API中修改后端服務地址。如果是域名,請確認域名能正確解析到后端服務IP地址。 |
| 后端超時時間設置不合理。當后端服務沒有在設置的后端超時時間內返回時,API網關提示后端服務調用失敗。 | 在編輯API中增加后端超時時間。 |
| 如果“后端服務地址”在ECS(Elastic Cloud Server),ECS的安全組的出/入方向規則可能攔截了請求。 | 檢查后端服務所在ECS的安全組,確保出/入方向端口規則和協議都設置正確。 |
| 請求協議配置錯誤,如后端服務為HTTP,在API網關配置為HTTPS。 | 注冊的API與后端服務配置相同的協議。 |
修改后端服務的超時時間上限“backend_timeout”后未生效
問題描述
修改專享版APIG實例參數“backend_timeout”后未生效。
可能原因
在“定義后端服務”中,“后端超時(ms)”未修改。
解決方法
登錄控制臺,在“API管理”中,進入目標API詳情,單擊“編輯”,在“定義后端服務”中配置“后端超時(ms)”。
如何切換調用環境?
默認調用“發布”環境的API。如果您要調用其他環境的API,請添加請求消息頭X-Stage,參數值填寫環境名稱。
調用請求包最大支持多少?
專享版:API每次最大可以轉發Body體為12MB的請求包。請求body體超過12M時,根據業務需求,請在“實例概覽”的配置參數中修改“request_body_size”參數。“request_body_size”表示API請求中允許攜帶的Body大小上限,支持修改范圍1~9536 M。
使用iOS系統時,如何進行APP認證?
目前API網關為APP認證提供了Java、Python、C、PHP、Go等多種語言的SDK與demo,當您使用iOS系統(Objective-C語言)或者其他未包含在內的語言時,請參考“開發指南 > 使用APP認證調用API > APP認證工作原理”的指導進行APP認證。
最多支持創建多少個APP?
每個用戶最多創建50個APP。
APP認證的API,怎樣實現不同的第三方之間無法知道對方調用情況?
創建多個APP,并綁定同一個API,分發給不同的第三方不一樣的APP。
APP認證的API,有沒有限制可以給多少個第三方使用?
沒有限制。
APP認證的API,是否需要自己創建APP?
是,需要自行創建APP,并綁定API。創建完成APP后,系統自動生成AppKey和AppSecret,將AppKey和AppSecret給第三方,就可以直接調用此API了。
APP認證的API,第三方怎么調用?
您需要把AppKey和AppSecret提供給第三方,然后第三方通過SDK調用。具體SDK的調用步驟請參見“開發指南 > 使用APP認證調用API”。
是否支持移動應用調用API?
API支持被移動應用調用。使用APP認證時,將移動應用的AppKey和AppSecrect替換SDK中的AppKey和AppSecrect進行APP簽名。
如何實現WebSocket數據傳輸?
API網關支持WebSocket數據傳輸,在創建API時,請求協議中的HTTP相當于WebSocket的ws,HTTPS相當于WebSocket的wss。
API調用是否支持長連接
API網關支持長連接,但注意適當使用,避免占用太多資源。
策略后端有多個時,怎么匹配和執行
當您的API配置了多個策略后端,API網關會按順序進行匹配,匹配到其中一個立即執行API請求轉發,不會進行后續的匹配。
當策略后端都沒有匹配成功,則按照默認后端執行API請求的轉發。
API調用對請求的響應消息體限制
API調用對請求的響應消息體大小沒有限制。