@@ -96,6 +96,22 @@ function reprocessMessage(message, callback) {
9696 ]
9797 }
9898 */
99+ function handleSNS ( event , context ) {
100+ if ( event . Records [ 0 ] . EventSource == "aws:sns" ) {
101+ console . log ( "Received an sns event" ) ;
102+ if ( event . Records [ 0 ] . EventVersion !== "1.0" ) {
103+ context . done ( "Unsupported event version " + event . EventVersion ) ;
104+ }
105+
106+ var message = JSON . parse ( event . Records [ 0 ] . Sns . Message ) ;
107+
108+ reprocessMessage ( message , function ( msg ) {
109+ context . done ( msg ) ;
110+ } ) ;
111+ } else {
112+ context . done ( "Unable to process events of type " + event . Records [ 0 ] . EventSource ) ;
113+ }
114+ }
99115
100116/**
101117 * An SQS message subscribed to an SNS notification will take the form:
@@ -117,32 +133,25 @@ function reprocessMessage(message, callback) {
117133 "awsRegion": "eu-west-1"
118134 }
119135 */
120- function handleSNS ( event , context ) {
121- if ( event . Records [ 0 ] . eventSource == "aws:sqs" || event . Records [ 0 ] . EventSource == "aws:sqs" ) {
122- console . log ( "Received " + event . Records . length + " sqs event(s)" ) ;
136+ function handleSQS ( event , context ) {
137+ if ( ( event . Records [ 0 ] . eventSource || event . Records [ 0 ] . EventSource ) == "aws:sqs" ) {
138+ console . log ( "Received " , event . Records . length , " sqs event(s)" ) ;
123139 for ( var i = 0 ; i < event . Records . length ; i ++ ) {
124140 var body = JSON . parse ( event . Records [ i ] . body ) ;
125141 var message = JSON . parse ( body . Message ) ;
126142
127- reprocessMessage ( message , function ( msg ) {
128- context . done ( msg ) ;
143+ reprocessMessage ( message , function ( err ) {
144+ if ( err ) {
145+ console . log ( "Failed to reprocess BatchId:" , message . batchId , err ) ;
146+ } else {
147+ console . log ( "Reprocessed BatchId:" , message . batchId ) ;
148+ }
129149 } ) ;
130150 }
131- console . log ( "finished processing sqs messages" ) ;
132- } else if ( event . Records [ 0 ] . EventSource == "aws:sns" ) {
133- console . log ( "Received an sns event" ) ;
134- if ( event . Records [ 0 ] . EventVersion !== "1.0" ) {
135- context . done ( "Unsupported event version " + event . EventVersion ) ;
136- }
137-
138- var message = JSON . parse ( event . Records [ 0 ] . Sns . Message ) ;
139-
140- reprocessMessage ( message , function ( msg ) {
141- context . done ( msg ) ;
142- } ) ;
143151 } else {
144152 context . done ( "Unable to process events of type " + event . Records [ 0 ] . EventSource ) ;
145153 }
146154}
147155
148- exports . handleSNS = handleSNS ;
156+ exports . handleSNS = handleSNS ;
157+ exports . handleSQS = handleSQS ;
0 commit comments