Cloud Notifications FAQ

General questions

What is the Oracle Cloud Infrastructure Notifications service?

Oracle Cloud Infrastructure Notifications is a fully managed publish-subscribe service that pushes messages to a number of subscription endpoints at scale. Notifications supports push-based notifications to email, PagerDuty, Functions, HTTPS, Slack, and SMS endpoints, as well as integrated support with Oracle Cloud Infrastructure Monitoring and Service Connector Hub.

What can I do with this service?

The most common use case for Notifications will be to support Monitoring messages and Service Connector Hub to send application alerts. For example, you can configure Oracle Cloud Infrastructure Monitoring alarms to send notifications to a topic. When you subscribe to the topic by using either Email or PagerDuty, you are immediately notified about anomalies in your cloud infrastructure. Another implementation is to use our email protocol integration to enable Notifications to send messages on behalf of your services to specified subscribers. For use cases ranging from password resets, to calendar reminders, and even shopping cart nudges, Notifications provides flexibility to decouple services with support for the most popular protocols and third-party integrations.

How does Notifications work?

Notifications uses a publish-subscribe framework where publishers of messages are decoupled from the subscribers of the message. You set up communication channels for publishing messages by using topics and subscriptions. A topic is a channel for communicating messages to a subscription. A subscription is an endpoint for a supported protocol. When a message is published to a topic, the service sends the message to all of the topic's subscriptions.

How do I get started with Notifications?

You can access the Notifications service by using the Console (a browser-based interface) or the REST API, or CLI. For a list of available SDKs, see Software Development Kits and Command Line Interface.

How does Notifications compare with other messaging services available in Oracle Cloud Infrastructure?

Oracle Cloud Infrastructure offers the following messaging services for event delivery:

  • Streaming
  • Notifications

Although these services have a few similarities, they address distinct use cases:

  • The most frequent use case for Notifications is to send notifications to registered, interested subscribers and it is used in reactive programming. This service sends notifications by using a "push" model, which eliminates the overhead of periodically polling for updates.
  • The most frequent use case for Streaming is ingesting large amounts of continuous data and making it available immediately for consumption. The Streaming service facilitates the ingestion, retention, and rapid replay of streaming data. Unlike Notifications, Streaming allows for repeated replay of stored data.

Key concepts

What is a topic?

A topic is a channel for communicating messages to a subscription.

What is a subscription?

A subscription is an endpoint for a topic. Published messages are sent to each subscription for a particular topic. The following subscription protocols are currently supported:

  • Email: Messages are sent to a specified email address.
  • HTTPS (PagerDuty): Messages are sent to PagerDuty.
  • HTTPS (Webhook) : Messages are sent to HTTPS endpoint.
  • Slack: Messages are sent to a Slack channel
  • Oracle Functions : Invoke an Oracle Function
  • SMS : Messages are sent to an SMS enabled phone number

What is a message?

The content that is published to a topic. Each message is delivered at least once per subscription. Every message sent out as email contains a link to unsubscribe from the related topic.

Features and functionality

What Features does Notifications support?

  • Multiple endpoint integrations and messaging protocol support such as email and PagerDuty
  • Scalable with a fully managed service that ensures durability of messages
  • Intelligent retry logic to at least deliver once
  • Security support for Identity and Access Management
  • Subscription Management

What notification protocols does this service currently support?

Notifications supports Email, PagerDuty, Functions, HTTPS, Slack, and SMS.

What are the available API operations of Notifications and where can I find documentation?

The following operations are supported with more documentation located here:

  • Use these API operations to manage topics:
Operation Description
createTopic Creates a topic in the specified compartment.
getTopic Gets the specified topic’s configuration information.
listTopics Lists topics in the specified compartment.
updateTopic Updates the specified topic's configuration.
deleteTopic Deletes the specified topic.
  • Use these API operations to manage subscriptions:
Operation Description
createSubscription Creates a subscription for the specified topic.
deleteSubscription Deletes the specified subscription.
listSubscriptions Lists the subscriptions in the specified compartment or topic.
getSubscription Gets the specified subscription's configuration information.
updateSubscription Updates the specified subscription's configuration.
getConfirmSubscription Gets the confirmation details for the specified subscription.
resendSubscriptionConfirmation Resends the confirmation details for the specified subscription.
getUnsubscription Gets the unsubscription details for the specified subscription.
  • Use these API operations to publish Messages:
Operation Description
publishMessage Publishes a message to the specified topic.

How durable are messages after they are published to a topic?

All the messages that are published to a Notifications topic are durable in region. When a message is published to a topic, the message is synchronously replicated to three availability domains within a region before an acknowledgement is sent to the publisher of the message.

Does Notifications retain messages?

When a subscriber’s endpoint doesn’t acknowledge receipt of a message, the service retries delivery and currently retains the message up to two hours from the time the message is published to a topic. The service tries to deliver messages within the retention window.

Does Notifications drop a message when it reaches its maximum retention time?

Yes. Notifications drops a message when it reaches its maximum retention time, which is two hours, whether the message has been delivered or not.

How many times does a receiver receive a notification?

Notifications delivers messages at least once to a subscription endpoint. With this implementations, duplication may occasionally occur and it recommended that the receiver handle any duplicated notifications.

Can I publish the same messages to multiple endpoints through a single topic?

Notifications can be configured to deliver messages to multiple endpoints of a single topic. For example, you can deliver an Oracle Cloud Infrastructure Monitoring alarm to an email address and or PagerDuty endpoint at the same time.

Are messages delivered in the exact order that they are published to a topic?

Notifications delivers messages from the publisher in the order that they are published to a topic. However, because of the nature of network partitions, internet connection stability, and transient failure, Notifications might deliver messages out of this order.

Can subscribers receive only a subset of messages published to a topic?

Currently, all the messages published to a topic are delivered to all the subscription endpoints of that topic. Subscribers can't selectively subscribe to a subset of messages.

Can I delete a message after it’s published to a topic?

You can’t delete a message after it's published to a Notifications topic.

Can I change the subject and sender name for emails sent by Notifications?

You can change the subject line of each message by passing the subject as a parameter in the PublishMessage API operation. Currently, you can't change the default sender name of emails sent by Notifications.

Operations and troubleshooting

What metrics can I use to monitor Notifications?

  • Here are the major metrics that you can use:
Metric Name Description
Published Messages Count The number of messages published to Notifications.
Delivered Messages Count The number of messages successfully delivered.
Failed Messages Count The number of messages that were not delivered.
Published Messages Size (bytes) The total size of messages published.
Delivered Messages Size (bytes) The total size of messages successfully delivered.
Failed Messages Size (bytes) The total size of messages that failed to be delivered.

How am I notified if a notification fails?

You can configure an alarm on the NumberOfNotificationFailed metric through the Monitoring service, learn more here.

What happens if I publish messages to a topic that doesn't have any subscriptions?

The publication operation succeeds, but the messages are dropped because no subscriptions are interested in them.

Does Notifications retain messages?

When a subscriber’s endpoint doesn’t acknowledge receipt of a message, the service retries delivery and currently retains the message up to two hours from the time the message is published to a topic. The service tries to deliver messages within the retention window.

What happens if a subscriber is unavailable?

If Notifications doesn’t receive an acknowledgement from a subscription endpoint, the service tries to redeliver messages for up to two hours. This situation can occur when the endpoint is offline. For example, the PagerDuty service might be offline.

Security

Who can create a topic?

By default, Oracle Cloud Infrastructure Tenant admins have permissions to create topics. However, the Tenant admins can grant permissions and policies to allow groups of users to create topics as well. For more information, see Getting Started with Policies. For specific details about writing policies for each of the different services, see Policy Reference. For common policies that give groups access to Notifications, see also Allow a group to manage topics, Allow a group to manage topic subscriptions, and Allow a group to publish messages to topics.

Who can publish messages to a topic?

By default, the topic owner is allowed to publish messages, however other Oracle Cloud Infrastructure users can be given permissions. Please refer to allow a group to publish messages to topics.

Can multiple publishers publish to a single topic?

A topic owner can set explicit permissions to allow more than one user or tenant to publish to a topic. By default, only topic owners have permissions to publish to a topic, to adjust your policies, learn more at allow a group to publish messages to topics.

Who can subscribe to a topic?

Subscribers can be added by the tenant admin or topic owner. Please refer to Notifications Policies and managing subscriptions for more information.

How does a topic owner give access to subscribers?

The topic owner can grant subscription permission to a topic to the subscribers. For more information please refer to Common Policies for Notification Publishing.

Who can confirm or reject a subscription?

For email, Subscribers will receive a subscription confirmation URL once added. For more help with subscription confirmation and resending confirmation details, learn more here.

How does Notifications ensure that a publisher can't spam a subscription endpoint and that messages are sent only to valid, registered, and interested subscribers?

To ensure that a subscriber endpoint can't be spammed and that messages are sent only to valid, registered endpoints, Notifications requires an explicit opt-in from a subscriber.

  1. As soon as a tenant admin or topic owner adds an endpoint user Notifications sends a confirmation message to that subscriber.
  2. After receiving the confirmation message at the endpoint, the subscriber confirms the subscription request by sending a valid response. Only then does Notifications consider the subscription request valid. If there is no response, the service doesn't send any notifications to that endpoint.

How does Notifications authenticate API calls?

Notifications authentication is integrated with the Oracle Cloud Infrastructure Identity and Access Management (IAM) service, learn more here.

How can a subscriber unsubscribe from messages?

A subscriber can unsubscribe from a Notifications topic in the following ways:

  • By using the Console or by using the DeleteSubscription API operation
  • (For email subscribers only) By using the unsubscribe option in the body of emails sent by Notifications

Limits and restrictions

What are the limitations of the Notification service?

  • Please note that Notifications limits are set at a regional level.
Resource Monthly Universal Credits Pay-as-You-Go or Promotional
Topics 50 (Active or Creating*) per tenancy Contact Us
Subscriptions 10 (Active or Pending*) per topic
100 (Pending*) per tenancy
Contact Us
For additional Topics/Subscriptions please Contact Us to increase the limits.
  • Other limits are as follows:
Request Limits
Item Size
Message size per request 64 KB
Message Delivery Rate Limits
Protocol Messages per minute to a single endpoint
Email 60
HTTPS (PagerDuty) 10

How much does Notifications cost?

Notifications pricing is simple and intuitive. Customers pay per message delivery. For HTTPS, customers pay USD $0.60 per million messages per month. For emails, customers pay USD $0.02 per 1,000 emails sent per month. For SMS, customers pay per SMS depending on the destination country.

Does Notifications offer a free tier?

Notifications introduces a tier that lets Oracle Cloud Infrastructure customers get started for free. Each month, customers can deliver 1 million message to HTTPS endpoints and 1,000 email messages without incurring any cost.

Next Steps

If Notifications doesn’t receive an acknowledgement from a subscription endpoint, the service tries to redeliver messages for up to two hours. This situation can occur when the endpoint is offline. For example, the PagerDuty service might be offline.