Simple Message Queue (eski adıyla MNS) için yapılan bir API isteği başarısız olduğunda hizmet, bir HTTP hata durum kodu (3xx, 4xx veya 5xx) ve hata ayrıntılarını içeren bir XML ya da metin yanıt gövdesi döndürür. Bu konuda hata yanıtı biçimi açıklanır; tüm hata kodları ve önerilen çözümler listelenir.
Hata yanıtı biçimi
Hata yanıtının XML yapısı aşağıdaki gibidir:
<?xml version="1.0" encoding="UTF-8"?>
<Error xmlns="http://mns.aliyuncs.com/doc/v1/">
<Code>InvalidArgument</Code>
<Message>Authorization header is invalid or missing.</Message>
<RequestId>04bb60e3-28aa-4706-99b0-9345d834****</RequestId>
<HostId>mns.cn-hangzhou.aliyuncs.com</HostId>
</Error>
Aşağıdaki tabloda hata yanıtı gövdesindeki her bir öğe açıklanır.
| Öğe | Açıklama |
|---|---|
| Code | Hata türünü tanımlayan hata kodu. |
| Message | Ayrıntılı hata iletisi. |
| RequestId | İsteğin benzersiz kimliği. Teknik destekle iletişime geçerken bu kimliği belirtin. |
| HostId | İsteği işleyen Simple Message Queue (eski adıyla MNS) örneğinin uç noktası. |
İşleme özel hatalar için ilgili işlemin API belgelerine bakın.
Hata kodu listesi
Aşağıdaki tablolarda hata kodları kategorilere göre gruplandırılarak listelenir. Her giriş; HTTP durum kodunu, hata kodunu, API tarafından döndürülen hata iletisini ve önerilen çözümü içerir.
Kimlik doğrulama ve yetkilendirme hataları
| HTTP durum kodu | Hata kodu | Hata mesajı | Önerilen çözüm |
|---|---|---|---|
| 400 | InvalidAuthorizationHeader | The Authorization header format is invalid. | Authorization üstbilgisi yanlış biçimlendirilmiş. AccessKey ID ve AccessKey secret bilgilerinizin geçerli olduğunu doğrulayın. |
| 400 | MissingAuthorizationHeader | Authorization header is required. | Authorization üstbilgisi eksik. Gerekli üstbilgiyi isteğinize ekleyin. Daha fazla bilgi için bkz. Common parameters. |
| 400 | InvalidDateHeader | The Date header format is invalid. | Date üstbilgisi yanlış biçimlendirilmiş. Daha fazla bilgi için bkz. Common parameters. |
| 400 | MissingDateHeader | Date header is required. | Date üstbilgisi eksik. Gerekli üstbilgiyi isteğinize ekleyin. Daha fazla bilgi için bkz. Common parameters. |
| 400 | InvalidDegist | The Content-MD5 you specified is invalid. | Content-MD5 üstbilgisi değeri geçersiz. Content-MD5 değerini yeniden hesaplayıp doğru değeri ayarlayın. |
| 403 | AccessDenied | The OwnerId that your Access Key Id associated to is forbidden for this operation. | AccessKey ID ile ilişkili hesabın bu işlem için izni yok. Doğru AccessKey ID'yi kullandığınızdan ve hesabın gerekli izinlere sahip olduğundan emin olun. |
| 403 | InvalidAccessKeyId | The AccessKey Id you provided is not exist. | Belirtilen AccessKey ID mevcut değil. AccessKey ID'nin doğru olduğunu doğrulayın. |
| 403 | SignatureDoesNotMatch | The request signature we calculated does not match the signature you provided. Check your key and signing method. | İstek imzası geçersiz. AccessKey secret bilginizi ve imzalama yönteminizi kontrol edin. Daha fazla bilgi için bkz. Sign requests. |
| 408 | TimeExpired | The http request you sent is expired. | İstemci ile sunucu arasındaki saat farkı 15 dakikayı aşıyor. Yerel sistem saatinizi eşitleyin. |
İstek doğrulama hataları
| HTTP durum kodu | Hata kodu | Hata mesajı | Önerilen çözüm |
|---|---|---|---|
| 400 | InvalidRequestURL | Http request URL format invalid. | İstek URL biçimi geçersiz. URL'yi API belgeleriyle karşılaştırarak kontrol edin. |
| 400 | InvalidQueryString | Http request URL contains invalid querystring item "{QueryString}". | İstek URL'si geçersiz bir sorgu dizesi parametresi içeriyor. Geçersiz parametreyi kaldırın veya düzeltin. |
| 400 | MalformedXML | The XML you provided was not well-formed. | XML istek gövdesi hatalı biçimlendirilmiş. İsteği göndermeden önce XML sözdizimini doğrulayın. |
| 400 | InvalidArgument | The length of message should not be larger than MaximumMessageSize. | Mesaj gövdesi izin verilen maksimum boyutu aşıyor. Mesaj boyutunu küçültün veya kuyruğun MaximumMessageSize değerini artırın. |
| 400 | InvalidArgument | A subscription's MaximumMessageSize should be greater than the topic's MaximumMessageSize! | Aboneliğin MaximumMessageSize değeri, konunun MaximumMessageSize değerinden büyük veya ona eşit olmalıdır. Aboneliğin MaximumMessageSize değerini artırın. |
| 400 | InvalidArgument | The XML you provided did not validate against our published schema, cause by {Parameter}. | XML istek gövdesi beklenen şemaya uymuyor. Belirtilen parametreyi kontrol edip XML yapısını düzeltin. |
| 400 | InvalidArgument | The value of {Parameter} should between {Min} and {Max} seconds/bytes. | Bir parametre değeri aralık dışında. Parametre değerini belirtilen aralıkta ayarlayın. |
Not : Yukarıdaki hata iletilerinde,{Parameter}XML istek gövdesindeki bir parametreyi,{Min}ve{Max}izin verilen minimum ve maksimum değerleri,{QueryString}ise istek URL'sindeki bir sorgu dizesi parametresini temsil eder.
Kaynak adlandırma hataları
| HTTP durum kodu | Hata kodu | Hata mesajı | Önerilen çözüm |
|---|---|---|---|
| 400 | InvalidQueueName | The queue name you provided is invalid. QueueName should start with alpha and contain only alpha, digit or -. | Kuyruk adı bir harfle başlamalı ve yalnızca harfler, rakamlar ve tire (-) içermelidir. |
| 400 | QueueNameLengthError | Queue name length should between 1 and 255. | Kuyruk adı 1 ila 255 karakter uzunluğunda olmalıdır. |
| 400 | TopicNameInvalid | The topic name you provided is invalid. TopicName should start with alpha or digit and contain only alpha, digit or -. | Konu adı bir harf veya rakamla başlamalı ve yalnızca harfler, rakamlar ve tire (-) içermelidir. |
| 400 | TopicNameLengthError | Topic name length is out of range, should be between 1 and 255. | Konu adı 1 ila 255 karakter uzunluğunda olmalıdır. |
| 400 | SubscriptionNameInvalid | The subscription name you provided is invalid. SubscriptionName should start with alpha or digit and contain only alpha, digit or -. | Abonelik adı bir harf veya rakamla başlamalı ve yalnızca harfler, rakamlar ve tire (-) içermelidir. |
| 400 | SubscriptionNameLengthError | Subscription name length is out of range, should be between 1 and 255. | Abonelik adı 1 ila 255 karakter uzunluğunda olmalıdır. |
| 400 | EndpointInvalid | The format of endpoint you provided is invalid. | Uç nokta biçimi geçersiz. Daha fazla bilgi için bkz. Endpoint. |
Mesaj ve makbuz tanıtıcı hataları
| HTTP durum kodu | Hata kodu | Hata mesajı | Önerilen çözüm |
|---|---|---|---|
| 400 | MissingReceiptHandle | ReceiptHandle is required. | İsteğinize ReceiptHandle parametresini dahil edin. |
| 400 | MissingVisibilityTimeout | VisibilityTimeout is required. | İsteğinize VisibilityTimeout parametresini dahil edin. |
| 400 | ReceiptHandleError | The receipt handle you provide is not valid. | Makbuz tanıtıcısı geçersiz. ReceiveMessage işleminden alınan geçerli bir makbuz tanıtıcısı kullanın. |
| 404 | MessageNotExist | Message not exist. | Kuyrukta kullanılabilir mesaj yok. Kuyruk boş veya tüm mesajlar şu anda görünmez durumda. |
| 404 | MessageNotExist | The receipt handle you provided has expired. | Mesaj görünürlük zaman aşımı süresi içinde işlenmediği için makbuz tanıtıcısının süresi dolmuş. Mesajları görünürlük zaman aşımı süresi içinde işleyin veya görünürlük zaman aşımı değerini artırın. |
Kaynak bulunamadı ve çakışma hataları
| HTTP durum kodu | Hata kodu | Hata mesajı | Önerilen çözüm |
|---|---|---|---|
| 404 | QueueNotExist | The queue name you provided does not exist. | Belirtilen kuyruk mevcut değil. Bu işlemi yapmadan önce kuyruğu oluşturun. |
| 404 | TopicNotExist | The topic name you provided does not exist. | Belirtilen konu mevcut değil. Bu işlemi yapmadan önce konuyu oluşturun. |
| 404 | SubscriptionNotExist | The subscription you provided does not exist. | Belirtilen abonelik mevcut değil. Bu işlemi yapmadan önce aboneliği oluşturun. |
| 409 | QueueAlreadyExist | The queue you want to create is already exist. | Aynı ada sahip bir kuyruk farklı niteliklerle zaten mevcut. Farklı bir ad kullanın veya niteliklerin mevcut kuyrukla eşleştiğinden emin olun. |
| 409 | TopicAlreadyExist | The topic you want to create already exists. | Aynı ada sahip bir konu farklı niteliklerle zaten mevcut. Farklı bir ad kullanın veya niteliklerin mevcut konuyla eşleştiğinden emin olun. |
| 409 | SubscriptionAlreadyExist | The subscription you want to create already exists. | Aynı ada sahip bir abonelik farklı niteliklerle zaten mevcut. Farklı bir ad kullanın veya niteliklerin mevcut abonelikle eşleştiğinden emin olun. |
Kısıtlama hataları
| HTTP durum kodu | Hata kodu | Hata mesajı | Önerilen çözüm |
|---|---|---|---|
| 400 | QpsLimitExceeded | The qps limit of the queue is exceeded. | Saniye başına sorgu sayısı (QPS) sınırı aşıldı. İstek hızını azaltın veya QPS sınırını artırmak için teknik destekle iletişime geçin. |
| 429 | TooManyRequests | The request is denied by cluster flow limiter for too many requests. | İstek küme düzeyinde kısıtlandı. Üstel geri çekilme (exponential backoff) uygulayın ve isteği yeniden deneyin. Daha fazla bilgi için bkz. Throttling policy. |
Sunucu hataları
| HTTP durum kodu | Hata kodu | Hata mesajı | Önerilen çözüm |
|---|---|---|---|
| 500 | InternalError | Interal error. | Dahili bir sunucu hatası oluştu. Üstel geri çekilme ile isteği yeniden deneyin. Hata devam ederse teknik destekle iletişime geçin ve yanıttaki RequestId bilgisini sağlayın. |
| 500 | InternalServerError | Interal error. | Dahili bir sunucu hatası oluştu. Üstel geri çekilme ile isteği yeniden deneyin. Hata devam ederse teknik destekle iletişime geçin ve yanıttaki RequestId bilgisini sağlayın. |