Monitoring Notifications
Notifications are set up as part of your monitoring request. You will set the notification type and the target where the notification will be sent. You can specify more than one type of notification if needed.
If your monitor is set up to auto-order, your order_templates
can also include order notifications.
Notification type
The following notification types are supported:
Notification Type | Allowed Value |
---|---|
email | A valid email address |
sns | A valid Amazon Simple Notification Service (SNS) topic ARN |
http | A valid HTTP address |
Notification levels
Unlike other APIs like Ordering and Tasking, Monitors do not have levels.
Notification targets
Email notification
Email notifications take a comma separated list of email addresses.
Example notification configuration for type email
:
"notifications": [{
"type": "email",
"target": "username@myemail.com",
"level": "FINAL_ONLY"
}]
SNS notification
Amazon Simple Notification Service (SNS) topic notifications are configured with your organization's topic ARN. Your topic policy may need to be updated to allow for publication by Maxar.
Example SNS notification for regular topics:
{
"type": "sns",
"target": "arn:aws:sns:us-east-2:123456789012:YourTopic",
"level": "FINAL_ONLY",
}
If your topic is First In, First Out (FIFO), an additional config section is needed with two required attributes:
requires_message_group_id
(boolean, required): set thistrue
.requires_message_deduplication_id
(boolean, required): If set totrue
, a unique Deduplication ID will be added to each message. If your topic uses Content Deduplication this can be set tofalse
.
Example SNS notification for FIFO topics:
{
"type": "sns",
"target": "arn:aws:sns:us-east-2:123456789012:YourTopic",
"config": {
"requires_message_group_id": true,
"requires_message_deduplication_id": false,
},
"level": "FINAL_ONLY",
}
To allow Maxar to publish to your topic, you can grant the principal arn:aws:iam::258652954197:root
the sns:Publish
action.
An example of a basic policy statement to allow MGP to publish would look like:
{
"Statement": [
{
"Sid": "Allow-MGP-Notifications",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::258652954197:root"
},
"Action": [
"sns:Publish",
],
"Resource": "arn:aws:sns:your_region:123456789012:YourTopicName"
}
]
}
The message payload is:
{
"source_id": "{source id}",
"monitor_id": "{monitor id}",
"description": "{monitor description}",
"event_id": "{event id}",
"item_id": "{item id}",
"request_context": {list of contexts},
"user_id": "{user id}",
"get_sources_events_api_reference": "https://developers.maxar.com/docs/monitoring/api/sources-events.html",
"event_url": "https://api.maxar.com/monitoring/v1/sources/{source_id}/events/{event_id}",
"get_monitor_api_reference": "https://developers.maxar.com/docs/monitoring/api/get-specific-monitor.html",
"monitor_url": "https://api.maxar.com/monitoring/v1/monitors/{monitor_id}",
"get_auth_token_api_reference": "https://developers.maxar.com/docs/authentication/api/get-an-o-auth-2-bearer-token",
}
If your monitor is using area erosion the following fields are added:
{
"erode_area": {erode area},
"original_aoi_remaining_pct": {percent of original AOI remaining},
"erosion_complete_threshold_pct": {percent complete threshold for AOI erosion}
}
HTTP notification
HTTP notifications allow MGP to HTTP POST a JSON formatted notification message to an HTTP endpoint.
HTTP notification request objects have an optional config
section that can add custom HTTP headers to the callback request. For example, you could provide an HTTP authorization header if the receiving endpoint requires credentials.
Example HTTP Notification type:
{
"type": "http",
"target": "https://your-service-url/notify/",
"config": {
"headers": {
"Authorization": "Bearer 12345",
"X-CUSTOM-HEADER": "some value",
}
},
"level": "INTERMEDIATE",
}
The HTTP message body is the same JSON object as shown above for SNS notifications.