Envía una notificación a un endpoint mediante una solicitud POST.
Descripción
Puede llamar a la operación de Simple Message Queue (formerly MNS) para enviar una notificación a un endpoint mediante una solicitud POST. Las notificaciones admiten los siguientes formatos:
-
Formato XML
El cuerpo de la solicitud contiene el contenido del mensaje y los parámetros relacionados.
-
Formato SIMPLIFIED
El cuerpo de la solicitud contiene únicamente el contenido del mensaje. El ID del mensaje se incluye en los encabezados de la solicitud.
Solicitud
Cada solicitud consta de las siguientes partes:
-
Línea de solicitud
POST /notifications HTTP/1.1De forma predeterminada, la sección
/notificationsse especifica en la línea de solicitud. Si establece una URI para el endpoint al crear una suscripción, puede reemplazar/notificationscon dicha URI. -
Parámetros de URI específicos de la operación
Ninguno.
-
Encabezados de solicitud específicos de la operación
Parámetro
Descripción
Formatos de contenido compatibles
Authorization
La firma de la solicitud.
XML y SIMPLIFIED
x-mns-signing-cert-url
La URI codificada en Base64 del certificado de firma.
XML y SIMPLIFIED
x-mns-request-id
El ID de la solicitud.
XML y SIMPLIFIED
x-mns-message-id
El ID del mensaje por enviar.
SIMPLIFIED
x-mns-message-tag
La etiqueta del mensaje por enviar.
SIMPLIFIED
-
Cuerpo de la solicitud
Si establece el parámetro NotifyContentFormat en XML, el cuerpo de la solicitud incluye el contenido del mensaje y los parámetros relacionados.
Parámetro
Descripción
TopicOwner
El propietario del tema.
TopicName
El nombre del tema.
Subscriber
El cliente suscrito.
SubscriptionName
El nombre de la suscripción.
MessageId
El ID del mensaje.
Message
El cuerpo del mensaje.
MessageMD5
El hash MD5 del cuerpo del mensaje.
MessageTag
La etiqueta utilizada para filtrar mensajes.
PublishTime
La hora de publicación del mensaje. El valor es una marca de tiempo en formato UNIX que representa los milisegundos transcurridos desde las 00:00:00 del jueves 1 de enero de 1970.
Si establece el parámetro NotifyContentFormat en SIMPLIFIED, el cuerpo de la solicitud contiene únicamente el cuerpo del mensaje.
Respuesta
Cada respuesta consta de las siguientes partes:
-
Código de estado HTTP
HTTP/1.1 204 No ContentSi se procesa la notificación, se devuelve el código de estado HTTP 204. Si este código no se recibe en 5 segundos, la solicitud expira y se reintenta el envío del mensaje.
Si falla la verificación de la firma de la solicitud, se devuelve el código de estado HTTP 403.
Si ocurren otros errores, se devuelve el código de estado HTTP 500.
-
Encabezados de respuesta específicos de la operación
Ninguno.
-
Cuerpo de la respuesta
Ninguno.
Ejemplos
Solicitudes de ejemplo
-
Formato XML
POST /notifications HTTP/1.1 Host: example.com Date: Tue, 08 Dec 2015 06:42:00 GMT Content-Length: 300 Content-Type: text/xml;charset=utf-8 Content-MD5: OGQzNjAwYjIwMWFiMTliZDlhNzc4YjAwZjc5MGQ4**** Authorization: QSNS+vn3IqJI4lOh4X/dxTv7Qebi/wrEaBJlzFFTc0hJVRUmrHLQo24ojBUETpz48+jrsjxMGPJTILDw752J**** User-Agent: Aliyun Notification Service Agent x-mns-request-id: 56667BB81FD0E7D12000**** x-mns-version: 2015-06-06 x-mns-signing-cert-url: aHR0cDovL21uc3Rlc3Qub3NzLWNuLWhhbmd6aG91LmFsaXl1bmNzLmNvbS94NTA5X3B1YmxpY19jZXJ0aWZpY2F0ZS5w**** <? xml version="1.0" encoding="utf-8"? > <Notification xlmns="http://mns.aliyuncs.com/doc/v1/"> <TopicOwner>$TopicOwner</TopicOwner> <TopicName>$TopicName</TopicName> <Subscriber>$Subscriber</Subscriber> <SubscriptionName>$SubscriptionName</SubscriptionName> <MessageId>6CC4D900CA59A2CD-1-15180534A8F-20000****</MessageId> <Message>{1:"a", 2:"b"}</Message> <MessageMD5>F1E92841751D795AB325861034B5****</MessageMD5> <MessageTag>important</MessageTag> <PublishTime>1449556920975</MessagePublishTime> </Notification> -
Formato SIMPLIFIED
POST /notifications HTTP/1.1 Host: example.com Date: Tue, 15 Dec 2015 09:12:46 GMT Content-Length: 487 Content-Type: text/plain;charset=utf-8 Content-MD5: NmY4Njk0MzlmNzg3NTFkMTJiN2M5OWE4ZmYzNTU4**** Authorization: aXZIpRkRmIavmwceCyrPatB7SaEbOJdWpmFWYX3nFwtmaixK/M/3kl1njY0pgM7mrIB7NlBv5NfUZNkcIjlO**** User-Agent: Aliyun Notification Service Agent x-mns-message-id: 6CC4D900CA59A2CD-1-15180534A8F-20000**** x-mns-message-tag: important x-mns-request-id: 566FD963B2B71C44481F**** x-mns-signing-cert-url: aHR0cDovL21uc3Rlc3Qub3NzLWNuLWhhbmd6aG91LmFsaXl1bmNzLmNvbS94NTA5X3B1YmxpY19jZXJ0aWZpY2F0ZS5w**** x-mns-version: 2015-06-06 {1:"a", 2:"b"}
Respuestas exitosas de ejemplo
HTTP/1.1 204 No Content