2012-06-05 27 views
6

Estoy enviando un mensaje de un tema SNS a un SQS. Cuando reviso el cuerpo del mensaje SQS en mi cliente, todos los metadatos del mensaje se envían en el cuerpo de SQS.Amazon SNS -> cuerpo del mensaje SQS

I.E. si estoy enviando un mensaje "Hola mundo" en el tema, mi cliente está recibiendo:

BenFlowers { 
    "Type" : "Notification", 
    "MessageId" : "84102bd5-8890-4ed5-aeba-c15fafc926dc", 
    "TopicArn" : "arn:aws:sns:eu-west-1:534706846367:HelloWorld", 
    "Message" : "hello World", 
    "Timestamp" : "2012-06-05T13:44:22.360Z", 
    "SignatureVersion" : "1", 
    "Signature" : "Qzh0qXhijBKylaFwc9PGE+lQQDwHGWkIzCW2Ld1eVrxNfSem4yyBTgouqGX26V0m1qhFD4RQcBzE3oNqx5jFhJfV4hN45FNcsFVnmfLPGNUTmJWblSk8f6znWgTy8UtK9xrTeNYzK59k3VJ4WTJ5kCEj+2vH7sBV15fAXeCAtdQ=", 
    "SigningCertURL" : "https://sns.eu-west-1.amazonaws.com/SimpleNotificationService-f3ecfb7224c7233fe7bb5f59f96de52f.pem", 
    "UnsubscribeURL" : "https://sns.eu-west-1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:eu-west-1:534706846367:HelloWorld:8a3acde2-cb0b-4a56-9b9c-b75ed7307556" 
} 

Esto es un poco molesto, ya que estoy teniendo para dividir el cuerpo del mensaje en el otro extremo. La velocidad es bastante importante en esta aplicación, así que me gustaría eliminar esto. ¿Hay alguna forma de simplemente enviar el mensaje desde el SNS e ignorar el resto de los metadatos?

Gracias, Ben

Respuesta

0

SNS limita el tamaño de los mensajes a 8 KB, así que no hay manera de ir alrededor de este problema utilizando este servicio.

Puede enviar su mensaje directamente a la cola de SQS, donde el límite es de 64 KB.

Si su problema es la velocidad de recepción de los mensajes que coloca en la cola, puede usar SNS para notificar al cliente que es hora de hacer una solicitud a SQS para que los reciba.

+0

El problema no es de latencia. Es solo que el mensaje enviado a SNS está envuelto en algunos metadatos y luego enviado a SQS. Entonces, el consumidor del mensaje SQS obtiene los metadatos junto con el mensaje deseado. ¿Hay alguna manera de recortar los metadatos y simplemente reenviar el mensaje exacto de SNS a SQS? –

Cuestiones relacionadas