Topik ini menjelaskan parameter umum yang berlaku untuk semua permintaan dan respons API pada Message Queue for MQTT.
Parameter permintaan umum
Tabel 1. Parameter
Parameter | Tipe | Diperlukan | Deskripsi |
Format | String | Tidak | Format respons. Nilai valid: JSON dan XML. Nilai default: JSON. |
Version | String | Ya | Nomor versi API. Tentukan nomor versi dalam format YYYY-MM-DD. Nilai valid: 2020-04-20 |
AccessKeyId | String | Ya | ID AccessKey yang digunakan untuk mengakses Message Queue for MQTT. |
Signature | String | Ya | String tanda tangan dari permintaan. |
SignatureMethod | String | Ya | Metode enkripsi string tanda tangan. Atur nilainya menjadi HMAC-SHA1 |
Timestamp | String | Ya | Cap waktu permintaan. Tentukan waktu dalam standar ISO 8601 dalam format YYYY-MM-DDThh:mm:ssZ. Waktu harus dalam UTC. Sebagai contoh, gunakan 2013-01-10T12:00:00Z untuk menentukan 20:00:00 pada tanggal 10 Januari 2013 (UTC+8). |
SignatureVersion | String | Ya | Versi algoritma enkripsi tanda tangan. Atur nilainya menjadi 1.0 |
SignatureNonce | String | Ya | Nomor unik dan acak yang digunakan untuk mencegah serangan pemutaran ulang. Anda harus menggunakan nomor acak unik untuk setiap permintaan. |
ResourceOwnerAccount | String | Tidak | Akun Alibaba Cloud tempat sumber daya yang ingin Anda akses berada. |
Contoh Permintaan
http://onsmqtt.[regionId].aliyuncs.com/?Action=[ApiName]
&TimeStamp=2020-05-19T10%3A33%3A56Z
&Format=xml
&AccessKeyId=testid
&SignatureMethod=Hmac-SHA1
&SignatureNonce=NwDAxvLU6tFE0DVb
&Version=2020-04-20
&SignatureVersion=1.0
&Signature=[Signature]Contoh respons
Respons API menggunakan format respons HTTP, yang dapat dikembalikan dalam format JSON atau XML. Anda dapat menentukan format respons dalam permintaan. Format respons default adalah XML. Setiap respons mengembalikan RequestId unik, terlepas dari keberhasilan panggilan.
Kode status HTTP
2xxmenunjukkan panggilan berhasil.Kode status HTTP
4xxatau5xxmenunjukkan panggilan gagal.
Contoh Respons Sukses
Setiap respons sukses mencakup parameter respons dan ID permintaan. Dalam respons sukses, kode status HTTP adalah 2xx.
Format XML
<?xml version="1.0" encoding="utf-8"?> <!--Node root dari respons--> <Operation name+Response> <!--Tag permintaan yang dikembalikan--> <RequestId>4C467B38-3910-447D-87BC-AC049166F216</RequestId> <!--Data yang dikembalikan--> </Operation name+Response>Format JSON
{ "RequestId":"4C467B38-3910-447D-87BC-AC049166F216", /*Data yang dikembalikan*/ }
Contoh Respons Kesalahan
Jika terjadi kesalahan saat memanggil operasi, respons kesalahan akan mencakup kode kesalahan, pesan kesalahan, dan ID permintaan. Dalam respons kesalahan, kode status HTTP adalah 4xx atau 5xx. Anda dapat menyelesaikan masalah berdasarkan kode kesalahan. Untuk informasi lebih lanjut, lihat Kode Kesalahan. Jika Anda tidak dapat menyelesaikan masalah berdasarkan kode kesalahan, hubungi dukungan teknis ApsaraMQ for MQTT.
Format XML
<?xml version="1.0" encoding="UTF-8"?><!--Node root dari respons--> <Error> <RequestId>540CFF28-407A-40B5-B6A5-74Bxxxxxxxxx</RequestId> <!--ID Permintaan--> <Code>MissingParameter.CommandId</Code> <!--Kode kesalahan--> <Message>Parameter input "CommandId" yang diperlukan untuk memproses permintaan ini tidak disediakan.</Message> <!--Pesan kesalahan--> </Error>Format JSON