API調(diào)用說(shuō)明
云消息隊(duì)列 RabbitMQ 版支持HTTP調(diào)用、SDK調(diào)用和OpenAPI Explorer調(diào)用。
HTTP調(diào)用
云消息隊(duì)列 RabbitMQ 版HTTP調(diào)用是向云消息隊(duì)列 RabbitMQ 版API的服務(wù)端地址發(fā)送HTTP請(qǐng)求,并按照接口說(shuō)明在請(qǐng)求中加入相應(yīng)請(qǐng)求參數(shù),調(diào)用后系統(tǒng)會(huì)返回處理結(jié)果。請(qǐng)求及返回結(jié)果都使用UTF-8字符集進(jìn)行編碼。云消息隊(duì)列 RabbitMQ 版的API是RPC風(fēng)格,您可以通過(guò)發(fā)送HTTP GET請(qǐng)求調(diào)用云消息隊(duì)列 RabbitMQ 版的API。
其請(qǐng)求結(jié)構(gòu)如下:
https://Endpoint/?Action=xx&Parameters
其中:
Endpoint: 云消息隊(duì)列 RabbitMQ 版API的服務(wù)接入地址。詳情請(qǐng)參見(jiàn)服務(wù)接入點(diǎn)。
Action:要執(zhí)行的操作,如調(diào)用ListInstances查詢(xún)已創(chuàng)建的云消息隊(duì)列 RabbitMQ 版實(shí)例。
Version:要使用的API版本,云消息隊(duì)列 RabbitMQ 版的API版本是2019-12-12。
Parameters:請(qǐng)求參數(shù),每個(gè)參數(shù)之間用“&”分隔。
請(qǐng)求參數(shù)由公共請(qǐng)求參數(shù)和API自定義參數(shù)組成。公共參數(shù)中包含API版本號(hào)、身份驗(yàn)證等信息。詳情請(qǐng)參見(jiàn)下文。
公共參數(shù)
公共請(qǐng)求參數(shù)
名稱(chēng) | 類(lèi)型 | 是否必選 | 描述 |
Format | String | 否 | 返回消息的格式。取值: JSON(默認(rèn)值) | XML |
Version | String | 是 | API版本號(hào),使用YYYY-MM-DD日期格式。取值: 2019-12-12 |
AccessKeyId | String | 是 | 訪(fǎng)問(wèn)服務(wù)使用的密鑰ID。 |
Signature | String | 是 | 簽名結(jié)果串。 |
SignatureMethod | String | 是 | 簽名方式,取值: HMAC-SHA1 |
Timestamp | String | 是 | 請(qǐng)求的時(shí)間戳,為日期格式。使用UTC時(shí)間按照ISO8601標(biāo)準(zhǔn),格式為YYYY-MM-DDThh:mm:ssZ。 例如,北京時(shí)間2013年1月10日20點(diǎn)0分0秒,表示為2013-01-10T20:00:00Z。 |
SignatureVersion | String | 是 | 簽名算法版本,取值: 1.0 |
SignatureNonce | String | 是 | 唯一隨機(jī)數(shù),用于防止網(wǎng)絡(luò)重放攻擊。 在不同請(qǐng)求間要使用不同的隨機(jī)數(shù)值,建議使用通用唯一識(shí)別碼(Universally Unique Identifier, UUID)。 |
ResourceOwnerAccount | String | 否 | 本次API請(qǐng)求訪(fǎng)問(wèn)到的資源擁有者賬戶(hù),即登錄用戶(hù)名。 |
示例
https://amqp-open.aliyuncs.com/?Action=ListInstances
&Format=JSON
&Version=2019-12-12
&Signature=xxxx%xxxx%3D
&SignatureMethod=HMAC-SHA1
&SignatureNonce=e7b1f31150be45594905ce6d28561286
&SignatureVersion=1.0
&AccessKeyId=key-test
&TimeStamp=2020-02-10T08%3A43%3A05Z
…
公共返回參數(shù)
API返回結(jié)果采用統(tǒng)一格式,調(diào)用成功返回的數(shù)據(jù)格式有XML和JSON兩種,可以在發(fā)送請(qǐng)求時(shí)指定返回的數(shù)據(jù)格式,默認(rèn)為JSON格式。每次接口調(diào)用,無(wú)論成功與否,系統(tǒng)都會(huì)返回一個(gè)唯一識(shí)別碼RequestId。
返回
2xx
HTTP狀態(tài)碼表示調(diào)用成功。返回
4xx
或5xx
HTTP狀態(tài)碼表示調(diào)用失敗。
公共返回參數(shù)示例如下:
XML格式
<?xml version="1.0" encoding="utf-8"?> <!--結(jié)果的根結(jié)點(diǎn)--> <接口名稱(chēng)+Response> <!--返回請(qǐng)求標(biāo)簽--> <RequestId>D6660A81-1A96-43F3-AC00-4EE473C70AEC</RequestId> <!--返回結(jié)果數(shù)據(jù)--> </接口名稱(chēng)+Response>
JSON格式
{ "RequestId":"D6660A81-1A96-43F3-AC00-4EE473C70AEC", /*返回結(jié)果數(shù)據(jù)*/ }
SDK調(diào)用
云消息隊(duì)列 RabbitMQ 版提供多語(yǔ)言SDK。阿里云SDK免去您手動(dòng)簽名的過(guò)程。SDK的下載地址及說(shuō)明文檔如下。
語(yǔ)言 | 下載地址 | 說(shuō)明文檔 |
Java | ||
Go | ||
Python | ||
PHP |
OpenAPI Explorer調(diào)用
OpenAPI Explorer是可視化的API調(diào)用工具。通過(guò)該工具,您可以通過(guò)網(wǎng)頁(yè)或者命令行調(diào)用各云產(chǎn)品以及API市場(chǎng)上開(kāi)放的API,查看每次的API請(qǐng)求和返回結(jié)果,并生成相應(yīng)SDK調(diào)用示例。您可以直接訪(fǎng)問(wèn)OpenAPI Explorer。