SNS message format?


#1

Hi All,

I’m trying tu use the SNS generated when a new scene is made available to keep up-to-data our internal S2 catalogue (I have connected a python lambda function to the SNS ARN).

Is there somewhere a description of the format of the message/event generated by the SNS ?

Description
New scene notifications for L2A
Resource type
SNS Topic
Amazon Resource Name (ARN)
arn:aws:sns:eu-central-1:214830741341:SentinelS2L2A
AWS Region
eu-central-1

Any help appreciated.
Fred.


#2

Hi Fred,
once event is triggered, productInfo.json file (you can find examples in each tile/product) will be forwarded as a message.


#3

Hi Grega,
thanks for the information - this is the file I intended to download after receiving the notification - so this is something I won’t have to do :slight_smile:

I now have to figure out how to access the message content from within the lambda function to call back our main API.

Thanks for you help,
Regards,
Fred.


#4

Hi @ftrastour and @gmilcinski!

I am trying to get notifications from Sentinel L1C SNS Topic in my AWS Lambda function, but it’s been weeks since I subscribed to the topic, and until now, I haven’t got any notifications. I just created a Lambda to be triggered by the SNS and log the message income. It’s like no messages have been sent to this topics. Is there something I might missing?

Thanks in advance.
Artur.


#5

Hi,

it seems that when an SNS is generated for a product, the corresponding tileInfo.json is not available on https://roda.sentinel-hub.com/sentinel-s2-l1c
Any idea about the delay between the SNS generation and the availability of the metadata on this website ?

Regards,
Fred.


#6

Hi Fred,
I believe that SNS is sent after the data are uploaded to S3.
Could you describe the problem a bit more into details?


#7

Hi,

some details :
I have attached a python lambda to the SNS.
The lambda is called - no problem.
In the lambda, I extract the metadata and call back an API on the server hosting my catalog (node.js based).
On the server, in the API, I process the new message and try to get from ttps://roda.sentinel-hub.com/sentinel-s2-l1c the corresponding tileInfo.json metadata file (I fallback to S3 using boto if it failed). Most of the times, this failed at the time the SNS is generated for both roda and S3. But it works after (I don’t exactly of much times after thus) for both.

The fact that it fails from roda makes sense if this site is updated using SNS to…
The fact it fails from S3 is more strange.

Finally, my last try is to delay the processing of the new tiles : In the API I register each new tile in a ‘tiles to process’ queue. This one is processed few hours after via a cron job.

Regards,
Fred.