Renvoie un message de file d'attente des messages non consommés (dead-letter) à un groupe de consommateurs, sur la base d'un ID de message spécifié.
Notes d'utilisation
Lorsque le nombre de tentatives de consommation d'un message par un groupe de consommateurs atteint la limite maximale sans succès, le message est ajouté à la file d'attente des messages non consommés (dead-letter queue) de ce groupe. Il devient alors un message non consommé. Si vous renvoyez ce message au groupe de consommateurs et qu'il échoue à nouveau après le nombre maximal de tentatives, un nouveau message non consommé portant le même ID est ajouté à la file d'attente. Consultez les détails du message non consommé sur la page Dead-letter Queues de la console Message Queue for Apache RocketMQ ou en appelant les opérations API dédiées à l'interrogation des messages non consommés. Le nombre d'échecs de consommation correspond au nombre de messages non consommés partageant le même ID dans la file d'attente.
Un message non consommé est un message dont la consommation a échoué après avoir atteint le nombre maximal de tentatives. Ces échecs sont généralement dus à une logique de consommation incorrecte. Résolvez les problèmes de consommation, puis appelez cette opération pour renvoyer le message au groupe de consommateurs.
Message Queue for Apache RocketMQ ne gère pas le statut des messages non consommés en fonction de leur état de consommation. Après l'appel de cette opération et la consommation effective du message, le service ne supprime pas automatiquement le message de la file d'attente des messages non consommés. Vous devez gérer ces messages manuellement et décider s'il convient de les renvoyer. Supprimez les messages non consommés qui ont été traités avec succès afin d'éviter de les renvoyer et de les reconsommer inutilement.
Limite de requêtes
Chaque compte Alibaba Cloud peut appeler cette opération jusqu'à 10 fois par seconde. Au-delà de cette limite, les nouvelles requêtes échouent, ce qui peut interrompre votre activité. Pour plus d'informations sur les limites de débit par opération, consultez les Limites de débit des API.
Autorisation
Par défaut, seuls les comptes Alibaba Cloud peuvent appeler cette opération. Un utilisateur RAM (Resource Access Management) doit disposer des autorisations requises. Le tableau suivant liste les autorisations nécessaires. Pour savoir comment les accorder, consultez les Politiques et exemples.
|
API |
Action |
Ressource dans une instance utilisant un namespace |
Ressource dans une instance n'utilisant pas de namespace |
|
OnsDLQMessageResendById |
mq:QueryInstanceBaseInfo mq:ResendDLQMessage |
acs:mq:::{instanceId}%{groupId} |
acs:mq:::{groupId} |
Paramètres de requête
|
Paramètre |
Type |
Obligatoire |
Exemple |
Description |
|
Action |
String |
Oui |
OnsDLQMessageResendById |
Nom de l'opération. Définissez la valeur sur OnsDLQMessageResendById. |
|
MsgId |
String |
Oui |
0BC16699343051CD9F1D798E7734**** |
ID du message non consommé à renvoyer au groupe de consommateurs. |
|
GroupId |
String |
Oui |
GID_test_group_id |
ID du groupe de consommateurs destinataire. |
|
InstanceId |
String |
Oui |
MQ_INST_188077086902****_BXSuW61e |
ID de l'instance Message Queue for Apache RocketMQ contenant le message. |
Paramètres de réponse
|
Paramètre |
Type |
Exemple |
Description |
|
RequestId |
String |
D94CC769-4DC3-4690-A868-9D0631B1**** |
ID de la requête. Le système génère un ID unique pour chaque requête, utile pour le dépannage. |
|
Data |
Array of String |
0BC16699343051CD9F1D798E7734**** |
ID du message. |
Si l'envoi du message échoue, l'ID du message est renvoyé dans la réponse.
Exemples
Exemples de requêtes
http(s)://ons.cn-hangzhou.aliyuncs.com/?Action=OnsDLQMessageResendById
&GroupId=GID_test_group_id
&InstanceId=MQ_INST_188077086902****_BXSuW61e
&MsgId=0BC16699343051CD9F1D798E7734****
&<Common request parameters>
Exemples de réponses réussies
Format XML
HTTP/1.1 200 OK
Content-Type:application/xml
<OnsDLQMessageResendByIdResponse>
<RequestId>D94CC769-4DC3-4690-A868-9D0631B1****</RequestId>
</OnsDLQMessageResendByIdResponse>
Format JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"Data" : [ ],
"RequestId" : "D94CC769-4DC3-4690-A868-9D0631B1****"
}
Codes d'erreur
Pour la liste des codes d'erreur, visitez le Centre d'erreurs API.
Envoyer un message non consommé à un consommateur dans la console
Vous pouvez également renvoyer un message non consommé à un groupe de consommateurs via la console Message Queue for Apache RocketMQ. Pour plus d'informations, consultez les Files d'attente des messages non consommés.