public interface AmazonSNS
Amazon Simple Notification Service (Amazon SNS) is a web service that enables you to build distributed web-enabled applications. Applications can use Amazon SNS to easily push real-time notification messages to interested subscribers over multiple delivery protocols. For more information about this product see the Amazon SNS product page. For detailed information about Amazon SNS features and their associated API calls, see the Amazon SNS Developer Guide.
For information on the permissions you need to use this API, see Identity and access management in Amazon SNS in the Amazon SNS Developer Guide.
We also provide SDKs that enable you to access Amazon SNS from your preferred programming language. The SDKs contain functionality that automatically takes care of tasks such as: cryptographically signing your service requests, retrying requests, and handling error responses. For a list of available SDKs, go to Tools for Amazon Web Services.
Modifier and Type | Method and Description |
---|---|
void |
addPermission(AddPermissionRequest addPermissionRequest)
Adds a statement to a topic's access control policy, granting access for
the specified AWS accounts to the specified actions.
|
void |
addPermission(java.lang.String topicArn,
java.lang.String label,
java.util.List<java.lang.String> aWSAccountIds,
java.util.List<java.lang.String> actionNames)
Adds a statement to a topic's access control policy, granting access for
the specified AWS accounts to the specified actions.
|
CheckIfPhoneNumberIsOptedOutResult |
checkIfPhoneNumberIsOptedOut(CheckIfPhoneNumberIsOptedOutRequest checkIfPhoneNumberIsOptedOutRequest)
Accepts a phone number and indicates whether the phone holder has opted
out of receiving SMS messages from your account.
|
ConfirmSubscriptionResult |
confirmSubscription(ConfirmSubscriptionRequest confirmSubscriptionRequest)
Verifies an endpoint owner's intent to receive messages by validating the
token sent to the endpoint by an earlier
Subscribe action. |
ConfirmSubscriptionResult |
confirmSubscription(java.lang.String topicArn,
java.lang.String token)
Verifies an endpoint owner's intent to receive messages by validating the
token sent to the endpoint by an earlier
Subscribe action. |
ConfirmSubscriptionResult |
confirmSubscription(java.lang.String topicArn,
java.lang.String token,
java.lang.String authenticateOnUnsubscribe)
Verifies an endpoint owner's intent to receive messages by validating the
token sent to the endpoint by an earlier
Subscribe action. |
CreatePlatformApplicationResult |
createPlatformApplication(CreatePlatformApplicationRequest createPlatformApplicationRequest)
Creates a platform application object for one of the supported push
notification services, such as APNS and GCM (Firebase Cloud Messaging),
to which devices and mobile apps may register.
|
CreatePlatformEndpointResult |
createPlatformEndpoint(CreatePlatformEndpointRequest createPlatformEndpointRequest)
Creates an endpoint for a device and mobile app on one of the supported
push notification services, such as GCM (Firebase Cloud Messaging) and
APNS.
|
CreateTopicResult |
createTopic(CreateTopicRequest createTopicRequest)
Creates a topic to which notifications can be published.
|
CreateTopicResult |
createTopic(java.lang.String name)
Creates a topic to which notifications can be published.
|
void |
deleteEndpoint(DeleteEndpointRequest deleteEndpointRequest)
Deletes the endpoint for a device and mobile app from Amazon SNS.
|
void |
deletePlatformApplication(DeletePlatformApplicationRequest deletePlatformApplicationRequest)
Deletes a platform application object for one of the supported push
notification services, such as APNS and GCM (Firebase Cloud Messaging).
|
void |
deleteTopic(DeleteTopicRequest deleteTopicRequest)
Deletes a topic and all its subscriptions.
|
void |
deleteTopic(java.lang.String topicArn)
Deletes a topic and all its subscriptions.
|
ResponseMetadata |
getCachedResponseMetadata(AmazonWebServiceRequest request)
Returns additional metadata for a previously executed successful request,
typically used for debugging issues where a service isn't acting as
expected.
|
GetEndpointAttributesResult |
getEndpointAttributes(GetEndpointAttributesRequest getEndpointAttributesRequest)
Retrieves the endpoint attributes for a device on one of the supported
push notification services, such as GCM (Firebase Cloud Messaging) and
APNS.
|
GetPlatformApplicationAttributesResult |
getPlatformApplicationAttributes(GetPlatformApplicationAttributesRequest getPlatformApplicationAttributesRequest)
Retrieves the attributes of the platform application object for the
supported push notification services, such as APNS and GCM (Firebase
Cloud Messaging).
|
GetSMSAttributesResult |
getSMSAttributes(GetSMSAttributesRequest getSMSAttributesRequest)
Returns the settings for sending SMS messages from your account.
|
GetSubscriptionAttributesResult |
getSubscriptionAttributes(GetSubscriptionAttributesRequest getSubscriptionAttributesRequest)
Returns all of the properties of a subscription.
|
GetSubscriptionAttributesResult |
getSubscriptionAttributes(java.lang.String subscriptionArn)
Returns all of the properties of a subscription.
|
GetTopicAttributesResult |
getTopicAttributes(GetTopicAttributesRequest getTopicAttributesRequest)
Returns all of the properties of a topic.
|
GetTopicAttributesResult |
getTopicAttributes(java.lang.String topicArn)
Returns all of the properties of a topic.
|
ListEndpointsByPlatformApplicationResult |
listEndpointsByPlatformApplication(ListEndpointsByPlatformApplicationRequest listEndpointsByPlatformApplicationRequest)
Lists the endpoints and endpoint attributes for devices in a supported
push notification service, such as GCM (Firebase Cloud Messaging) and
APNS.
|
ListPhoneNumbersOptedOutResult |
listPhoneNumbersOptedOut(ListPhoneNumbersOptedOutRequest listPhoneNumbersOptedOutRequest)
Returns a list of phone numbers that are opted out, meaning you cannot
send SMS messages to them.
|
ListPlatformApplicationsResult |
listPlatformApplications()
Lists the platform application objects for the supported push
notification services, such as APNS and GCM (Firebase Cloud Messaging).
|
ListPlatformApplicationsResult |
listPlatformApplications(ListPlatformApplicationsRequest listPlatformApplicationsRequest)
Lists the platform application objects for the supported push
notification services, such as APNS and GCM (Firebase Cloud Messaging).
|
ListSubscriptionsResult |
listSubscriptions()
Returns a list of the requester's subscriptions.
|
ListSubscriptionsResult |
listSubscriptions(ListSubscriptionsRequest listSubscriptionsRequest)
Returns a list of the requester's subscriptions.
|
ListSubscriptionsResult |
listSubscriptions(java.lang.String nextToken)
Returns a list of the requester's subscriptions.
|
ListSubscriptionsByTopicResult |
listSubscriptionsByTopic(ListSubscriptionsByTopicRequest listSubscriptionsByTopicRequest)
Returns a list of the subscriptions to a specific topic.
|
ListSubscriptionsByTopicResult |
listSubscriptionsByTopic(java.lang.String topicArn)
Returns a list of the subscriptions to a specific topic.
|
ListSubscriptionsByTopicResult |
listSubscriptionsByTopic(java.lang.String topicArn,
java.lang.String nextToken)
Returns a list of the subscriptions to a specific topic.
|
ListTagsForResourceResult |
listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest)
List all tags added to the specified Amazon SNS topic.
|
ListTopicsResult |
listTopics()
Returns a list of the requester's topics.
|
ListTopicsResult |
listTopics(ListTopicsRequest listTopicsRequest)
Returns a list of the requester's topics.
|
ListTopicsResult |
listTopics(java.lang.String nextToken)
Returns a list of the requester's topics.
|
OptInPhoneNumberResult |
optInPhoneNumber(OptInPhoneNumberRequest optInPhoneNumberRequest)
Use this request to opt in a phone number that is opted out, which
enables you to resume sending SMS messages to the number.
|
PublishResult |
publish(PublishRequest publishRequest)
Sends a message to an Amazon SNS topic, a text message (SMS message)
directly to a phone number, or a message to a mobile platform endpoint
(when you specify the
TargetArn ). |
PublishResult |
publish(java.lang.String topicArn,
java.lang.String message)
Sends a message to an Amazon SNS topic, a text message (SMS message)
directly to a phone number, or a message to a mobile platform endpoint
(when you specify the
TargetArn ). |
PublishResult |
publish(java.lang.String topicArn,
java.lang.String message,
java.lang.String subject)
Sends a message to an Amazon SNS topic, a text message (SMS message)
directly to a phone number, or a message to a mobile platform endpoint
(when you specify the
TargetArn ). |
void |
removePermission(RemovePermissionRequest removePermissionRequest)
Removes a statement from a topic's access control policy.
|
void |
removePermission(java.lang.String topicArn,
java.lang.String label)
Removes a statement from a topic's access control policy.
|
void |
setEndpoint(java.lang.String endpoint)
Overrides the default endpoint for this client
("https://sns.us-east-1.amazonaws.com").
|
void |
setEndpointAttributes(SetEndpointAttributesRequest setEndpointAttributesRequest)
Sets the attributes for an endpoint for a device on one of the supported
push notification services, such as GCM (Firebase Cloud Messaging) and
APNS.
|
void |
setPlatformApplicationAttributes(SetPlatformApplicationAttributesRequest setPlatformApplicationAttributesRequest)
Sets the attributes of the platform application object for the supported
push notification services, such as APNS and GCM (Firebase Cloud
Messaging).
|
void |
setRegion(Region region)
An alternative to
setEndpoint(String) , sets the
regional endpoint for this client's service calls. |
SetSMSAttributesResult |
setSMSAttributes(SetSMSAttributesRequest setSMSAttributesRequest)
Use this request to set the default settings for sending SMS messages and
receiving daily SMS usage reports.
|
void |
setSubscriptionAttributes(SetSubscriptionAttributesRequest setSubscriptionAttributesRequest)
Allows a subscription owner to set an attribute of the subscription to a
new value.
|
void |
setSubscriptionAttributes(java.lang.String subscriptionArn,
java.lang.String attributeName,
java.lang.String attributeValue)
Allows a subscription owner to set an attribute of the subscription to a
new value.
|
void |
setTopicAttributes(SetTopicAttributesRequest setTopicAttributesRequest)
Allows a topic owner to set an attribute of the topic to a new value.
|
void |
setTopicAttributes(java.lang.String topicArn,
java.lang.String attributeName,
java.lang.String attributeValue)
Allows a topic owner to set an attribute of the topic to a new value.
|
void |
shutdown()
Shuts down this client object, releasing any resources that might be held
open.
|
SubscribeResult |
subscribe(java.lang.String topicArn,
java.lang.String protocol,
java.lang.String endpoint)
Subscribes an endpoint to an Amazon SNS topic.
|
SubscribeResult |
subscribe(SubscribeRequest subscribeRequest)
Subscribes an endpoint to an Amazon SNS topic.
|
TagResourceResult |
tagResource(TagResourceRequest tagResourceRequest)
Add tags to the specified Amazon SNS topic.
|
void |
unsubscribe(java.lang.String subscriptionArn)
Deletes a subscription.
|
void |
unsubscribe(UnsubscribeRequest unsubscribeRequest)
Deletes a subscription.
|
UntagResourceResult |
untagResource(UntagResourceRequest untagResourceRequest)
Remove tags from the specified Amazon SNS topic.
|
void setEndpoint(java.lang.String endpoint) throws java.lang.IllegalArgumentException
Callers can pass in just the endpoint (ex: "sns.us-east-1.amazonaws.com")
or a full URL, including the protocol (ex:
"https://sns.us-east-1.amazonaws.com"). If the protocol is not specified
here, the default protocol from this client's ClientConfiguration
will be used, which by default is HTTPS.
For more information on using AWS regions with the AWS SDK for Java, and a complete list of all available endpoints for all AWS services, see: http://developer.amazonwebservices.com/connect/entry.jspa?externalID= 3912
This method is not threadsafe. An endpoint should be configured when the client is created and before any service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit or retrying.
endpoint
- The endpoint (ex: "sns.us-east-1.amazonaws.com") or a
full URL, including the protocol (ex:
"https://sns.us-east-1.amazonaws.com") of the region specific
AWS endpoint this client will communicate with.java.lang.IllegalArgumentException
- If any problems are detected with the
specified endpoint.void setRegion(Region region) throws java.lang.IllegalArgumentException
setEndpoint(String)
, sets the
regional endpoint for this client's service calls. Callers can use this
method to control which AWS region they want to work with.
By default, all service endpoints in all regions use the https protocol.
To use http instead, specify it in the ClientConfiguration
supplied at construction.
This method is not threadsafe. A region should be configured when the client is created and before any service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit or retrying.
region
- The region this client will communicate with. See
Region.getRegion(com.amazonaws.regions.Regions)
for
accessing a given region.java.lang.IllegalArgumentException
- If the given region is null,
or if this service isn't available in the given region. See
Region.isServiceSupported(String)
Region.getRegion(com.amazonaws.regions.Regions)
,
Region.createClient(Class,
com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration)
void addPermission(AddPermissionRequest addPermissionRequest) throws AmazonClientException, AmazonServiceException
Adds a statement to a topic's access control policy, granting access for the specified AWS accounts to the specified actions.
addPermissionRequest
- InvalidParameterException
InternalErrorException
AuthorizationErrorException
NotFoundException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.CheckIfPhoneNumberIsOptedOutResult checkIfPhoneNumberIsOptedOut(CheckIfPhoneNumberIsOptedOutRequest checkIfPhoneNumberIsOptedOutRequest) throws AmazonClientException, AmazonServiceException
Accepts a phone number and indicates whether the phone holder has opted out of receiving SMS messages from your account. You cannot send SMS messages to a number that is opted out.
To resume sending messages, you can opt in the number by using the
OptInPhoneNumber
action.
checkIfPhoneNumberIsOptedOutRequest
-
The input for the CheckIfPhoneNumberIsOptedOut
action.
ThrottledException
InternalErrorException
AuthorizationErrorException
InvalidParameterException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.ConfirmSubscriptionResult confirmSubscription(ConfirmSubscriptionRequest confirmSubscriptionRequest) throws AmazonClientException, AmazonServiceException
Verifies an endpoint owner's intent to receive messages by validating the
token sent to the endpoint by an earlier Subscribe
action.
If the token is valid, the action creates a new subscription and returns
its Amazon Resource Name (ARN). This call requires an AWS signature only
when the AuthenticateOnUnsubscribe
flag is set to "true".
confirmSubscriptionRequest
- Input for ConfirmSubscription action.
SubscriptionLimitExceededException
InvalidParameterException
NotFoundException
InternalErrorException
AuthorizationErrorException
FilterPolicyLimitExceededException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.CreatePlatformApplicationResult createPlatformApplication(CreatePlatformApplicationRequest createPlatformApplicationRequest) throws AmazonClientException, AmazonServiceException
Creates a platform application object for one of the supported push
notification services, such as APNS and GCM (Firebase Cloud Messaging),
to which devices and mobile apps may register. You must specify
PlatformPrincipal
and PlatformCredential
attributes when using the CreatePlatformApplication
action.
PlatformPrincipal
and PlatformCredential
are
received from the notification service.
For ADM
, PlatformPrincipal
is
client id
and PlatformCredential
is
client secret
.
For Baidu
, PlatformPrincipal
is
API key
and PlatformCredential
is
secret key
.
For APNS
and APNS_SANDBOX
,
PlatformPrincipal
is SSL certificate
and
PlatformCredential
is private key
.
For GCM
(Firebase Cloud Messaging), there is no
PlatformPrincipal
and the PlatformCredential
is
API key
.
For MPNS
, PlatformPrincipal
is
TLS certificate
and PlatformCredential
is
private key
.
For WNS
, PlatformPrincipal
is
Package Security Identifier
and
PlatformCredential
is secret key
.
You can use the returned PlatformApplicationArn
as an
attribute for the CreatePlatformEndpoint
action.
createPlatformApplicationRequest
- Input for CreatePlatformApplication action.
InvalidParameterException
InternalErrorException
AuthorizationErrorException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.CreatePlatformEndpointResult createPlatformEndpoint(CreatePlatformEndpointRequest createPlatformEndpointRequest) throws AmazonClientException, AmazonServiceException
Creates an endpoint for a device and mobile app on one of the supported
push notification services, such as GCM (Firebase Cloud Messaging) and
APNS. CreatePlatformEndpoint
requires the
PlatformApplicationArn
that is returned from
CreatePlatformApplication
. You can use the returned
EndpointArn
to send a message to a mobile app or by the
Subscribe
action for subscription to a topic. The
CreatePlatformEndpoint
action is idempotent, so if the
requester already owns an endpoint with the same device token and
attributes, that endpoint's ARN is returned without creating a new
endpoint. For more information, see Using
Amazon SNS Mobile Push Notifications.
When using CreatePlatformEndpoint
with Baidu, two attributes
must be provided: ChannelId and UserId. The token field must also contain
the ChannelId. For more information, see Creating an Amazon SNS Endpoint for Baidu.
createPlatformEndpointRequest
- Input for CreatePlatformEndpoint action.
InvalidParameterException
InternalErrorException
AuthorizationErrorException
NotFoundException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.CreateTopicResult createTopic(CreateTopicRequest createTopicRequest) throws AmazonClientException, AmazonServiceException
Creates a topic to which notifications can be published. Users can create at most 100,000 standard topics (at most 1,000 FIFO topics). For more information, see https://aws.amazon.com/sns. This action is idempotent, so if the requester already owns a topic with the specified name, that topic's ARN is returned without creating a new topic.
createTopicRequest
- Input for CreateTopic action.
InvalidParameterException
TopicLimitExceededException
InternalErrorException
AuthorizationErrorException
InvalidSecurityException
TagLimitExceededException
StaleTagException
TagPolicyException
ConcurrentAccessException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.void deleteEndpoint(DeleteEndpointRequest deleteEndpointRequest) throws AmazonClientException, AmazonServiceException
Deletes the endpoint for a device and mobile app from Amazon SNS. This action is idempotent. For more information, see Using Amazon SNS Mobile Push Notifications.
When you delete an endpoint that is also subscribed to a topic, then you must also unsubscribe the endpoint from the topic.
deleteEndpointRequest
- Input for DeleteEndpoint action.
InvalidParameterException
InternalErrorException
AuthorizationErrorException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.void deletePlatformApplication(DeletePlatformApplicationRequest deletePlatformApplicationRequest) throws AmazonClientException, AmazonServiceException
Deletes a platform application object for one of the supported push notification services, such as APNS and GCM (Firebase Cloud Messaging). For more information, see Using Amazon SNS Mobile Push Notifications.
deletePlatformApplicationRequest
- Input for DeletePlatformApplication action.
InvalidParameterException
InternalErrorException
AuthorizationErrorException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.void deleteTopic(DeleteTopicRequest deleteTopicRequest) throws AmazonClientException, AmazonServiceException
Deletes a topic and all its subscriptions. Deleting a topic might prevent some messages previously sent to the topic from being delivered to subscribers. This action is idempotent, so deleting a topic that does not exist does not result in an error.
deleteTopicRequest
- InvalidParameterException
InternalErrorException
AuthorizationErrorException
NotFoundException
StaleTagException
TagPolicyException
ConcurrentAccessException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.GetEndpointAttributesResult getEndpointAttributes(GetEndpointAttributesRequest getEndpointAttributesRequest) throws AmazonClientException, AmazonServiceException
Retrieves the endpoint attributes for a device on one of the supported push notification services, such as GCM (Firebase Cloud Messaging) and APNS. For more information, see Using Amazon SNS Mobile Push Notifications.
getEndpointAttributesRequest
- Input for GetEndpointAttributes action.
InvalidParameterException
InternalErrorException
AuthorizationErrorException
NotFoundException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.GetPlatformApplicationAttributesResult getPlatformApplicationAttributes(GetPlatformApplicationAttributesRequest getPlatformApplicationAttributesRequest) throws AmazonClientException, AmazonServiceException
Retrieves the attributes of the platform application object for the supported push notification services, such as APNS and GCM (Firebase Cloud Messaging). For more information, see Using Amazon SNS Mobile Push Notifications.
getPlatformApplicationAttributesRequest
- Input for GetPlatformApplicationAttributes action.
InvalidParameterException
InternalErrorException
AuthorizationErrorException
NotFoundException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.GetSMSAttributesResult getSMSAttributes(GetSMSAttributesRequest getSMSAttributesRequest) throws AmazonClientException, AmazonServiceException
Returns the settings for sending SMS messages from your account.
These settings are set with the SetSMSAttributes
action.
getSMSAttributesRequest
-
The input for the GetSMSAttributes
request.
ThrottledException
InternalErrorException
AuthorizationErrorException
InvalidParameterException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.GetSubscriptionAttributesResult getSubscriptionAttributes(GetSubscriptionAttributesRequest getSubscriptionAttributesRequest) throws AmazonClientException, AmazonServiceException
Returns all of the properties of a subscription.
getSubscriptionAttributesRequest
- Input for GetSubscriptionAttributes.
InvalidParameterException
InternalErrorException
NotFoundException
AuthorizationErrorException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.GetTopicAttributesResult getTopicAttributes(GetTopicAttributesRequest getTopicAttributesRequest) throws AmazonClientException, AmazonServiceException
Returns all of the properties of a topic. Topic properties returned might differ based on the authorization of the user.
getTopicAttributesRequest
- Input for GetTopicAttributes action.
InvalidParameterException
InternalErrorException
NotFoundException
AuthorizationErrorException
InvalidSecurityException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.ListEndpointsByPlatformApplicationResult listEndpointsByPlatformApplication(ListEndpointsByPlatformApplicationRequest listEndpointsByPlatformApplicationRequest) throws AmazonClientException, AmazonServiceException
Lists the endpoints and endpoint attributes for devices in a supported
push notification service, such as GCM (Firebase Cloud Messaging) and
APNS. The results for ListEndpointsByPlatformApplication
are
paginated and return a limited list of endpoints, up to 100. If
additional records are available after the first page results, then a
NextToken string will be returned. To receive the next page, you call
ListEndpointsByPlatformApplication
again using the NextToken
string received from the previous call. When there are no more records to
return, NextToken will be null. For more information, see Using
Amazon SNS Mobile Push Notifications.
This action is throttled at 30 transactions per second (TPS).
listEndpointsByPlatformApplicationRequest
- Input for ListEndpointsByPlatformApplication action.
InvalidParameterException
InternalErrorException
AuthorizationErrorException
NotFoundException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.ListPhoneNumbersOptedOutResult listPhoneNumbersOptedOut(ListPhoneNumbersOptedOutRequest listPhoneNumbersOptedOutRequest) throws AmazonClientException, AmazonServiceException
Returns a list of phone numbers that are opted out, meaning you cannot send SMS messages to them.
The results for ListPhoneNumbersOptedOut
are paginated, and
each page returns up to 100 phone numbers. If additional phone numbers
are available after the first page of results, then a
NextToken
string will be returned. To receive the next page,
you call ListPhoneNumbersOptedOut
again using the
NextToken
string received from the previous call. When there
are no more records to return, NextToken
will be null.
listPhoneNumbersOptedOutRequest
-
The input for the ListPhoneNumbersOptedOut
action.
ThrottledException
InternalErrorException
AuthorizationErrorException
InvalidParameterException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.ListPlatformApplicationsResult listPlatformApplications(ListPlatformApplicationsRequest listPlatformApplicationsRequest) throws AmazonClientException, AmazonServiceException
Lists the platform application objects for the supported push
notification services, such as APNS and GCM (Firebase Cloud Messaging).
The results for ListPlatformApplications
are paginated and
return a limited list of applications, up to 100. If additional records
are available after the first page results, then a NextToken string will
be returned. To receive the next page, you call
ListPlatformApplications
using the NextToken string received
from the previous call. When there are no more records to return,
NextToken
will be null. For more information, see Using
Amazon SNS Mobile Push Notifications.
This action is throttled at 15 transactions per second (TPS).
listPlatformApplicationsRequest
- Input for ListPlatformApplications action.
InvalidParameterException
InternalErrorException
AuthorizationErrorException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.ListSubscriptionsResult listSubscriptions(ListSubscriptionsRequest listSubscriptionsRequest) throws AmazonClientException, AmazonServiceException
Returns a list of the requester's subscriptions. Each call returns a
limited list of subscriptions, up to 100. If there are more
subscriptions, a NextToken
is also returned. Use the
NextToken
parameter in a new ListSubscriptions
call to get further results.
This action is throttled at 30 transactions per second (TPS).
listSubscriptionsRequest
- Input for ListSubscriptions action.
InvalidParameterException
InternalErrorException
AuthorizationErrorException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.ListSubscriptionsByTopicResult listSubscriptionsByTopic(ListSubscriptionsByTopicRequest listSubscriptionsByTopicRequest) throws AmazonClientException, AmazonServiceException
Returns a list of the subscriptions to a specific topic. Each call
returns a limited list of subscriptions, up to 100. If there are more
subscriptions, a NextToken
is also returned. Use the
NextToken
parameter in a new
ListSubscriptionsByTopic
call to get further results.
This action is throttled at 30 transactions per second (TPS).
listSubscriptionsByTopicRequest
- Input for ListSubscriptionsByTopic action.
InvalidParameterException
InternalErrorException
NotFoundException
AuthorizationErrorException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest) throws AmazonClientException, AmazonServiceException
List all tags added to the specified Amazon SNS topic. For an overview, see Amazon SNS Tags in the Amazon Simple Notification Service Developer Guide.
listTagsForResourceRequest
- ResourceNotFoundException
TagPolicyException
InvalidParameterException
AuthorizationErrorException
ConcurrentAccessException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.ListTopicsResult listTopics(ListTopicsRequest listTopicsRequest) throws AmazonClientException, AmazonServiceException
Returns a list of the requester's topics. Each call returns a limited
list of topics, up to 100. If there are more topics, a
NextToken
is also returned. Use the NextToken
parameter in a new ListTopics
call to get further results.
This action is throttled at 30 transactions per second (TPS).
listTopicsRequest
- InvalidParameterException
InternalErrorException
AuthorizationErrorException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.OptInPhoneNumberResult optInPhoneNumber(OptInPhoneNumberRequest optInPhoneNumberRequest) throws AmazonClientException, AmazonServiceException
Use this request to opt in a phone number that is opted out, which enables you to resume sending SMS messages to the number.
You can opt in a phone number only once every 30 days.
optInPhoneNumberRequest
- Input for the OptInPhoneNumber action.
ThrottledException
InternalErrorException
AuthorizationErrorException
InvalidParameterException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.PublishResult publish(PublishRequest publishRequest) throws AmazonClientException, AmazonServiceException
Sends a message to an Amazon SNS topic, a text message (SMS message)
directly to a phone number, or a message to a mobile platform endpoint
(when you specify the TargetArn
).
If you send a message to a topic, Amazon SNS delivers the message to each endpoint that is subscribed to the topic. The format of the message depends on the notification protocol for each subscribed endpoint.
When a messageId
is returned, the message has been saved and
Amazon SNS will attempt to deliver it shortly.
To use the Publish
action for sending a message to a mobile
endpoint, such as an app on a Kindle device or mobile phone, you must
specify the EndpointArn for the TargetArn parameter. The EndpointArn is
returned when making a call with the CreatePlatformEndpoint
action.
For more information about formatting messages, see Send Custom Platform-Specific Payloads in Messages to Mobile Devices.
You can publish messages only to topics and endpoints in the same AWS Region.
publishRequest
- Input for Publish action.
InvalidParameterException
InvalidParameterValueException
InternalErrorException
NotFoundException
EndpointDisabledException
PlatformApplicationDisabledException
AuthorizationErrorException
KMSDisabledException
KMSInvalidStateException
KMSNotFoundException
KMSOptInRequiredException
KMSThrottlingException
KMSAccessDeniedException
InvalidSecurityException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.void removePermission(RemovePermissionRequest removePermissionRequest) throws AmazonClientException, AmazonServiceException
Removes a statement from a topic's access control policy.
removePermissionRequest
- Input for RemovePermission action.
InvalidParameterException
InternalErrorException
AuthorizationErrorException
NotFoundException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.void setEndpointAttributes(SetEndpointAttributesRequest setEndpointAttributesRequest) throws AmazonClientException, AmazonServiceException
Sets the attributes for an endpoint for a device on one of the supported push notification services, such as GCM (Firebase Cloud Messaging) and APNS. For more information, see Using Amazon SNS Mobile Push Notifications.
setEndpointAttributesRequest
- Input for SetEndpointAttributes action.
InvalidParameterException
InternalErrorException
AuthorizationErrorException
NotFoundException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.void setPlatformApplicationAttributes(SetPlatformApplicationAttributesRequest setPlatformApplicationAttributesRequest) throws AmazonClientException, AmazonServiceException
Sets the attributes of the platform application object for the supported push notification services, such as APNS and GCM (Firebase Cloud Messaging). For more information, see Using Amazon SNS Mobile Push Notifications. For information on configuring attributes for message delivery status, see Using Amazon SNS Application Attributes for Message Delivery Status.
setPlatformApplicationAttributesRequest
- Input for SetPlatformApplicationAttributes action.
InvalidParameterException
InternalErrorException
AuthorizationErrorException
NotFoundException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.SetSMSAttributesResult setSMSAttributes(SetSMSAttributesRequest setSMSAttributesRequest) throws AmazonClientException, AmazonServiceException
Use this request to set the default settings for sending SMS messages and receiving daily SMS usage reports.
You can override some of these settings for a single message when you use
the Publish
action with the
MessageAttributes.entry.N
parameter. For more information,
see Publishing to a mobile phone in the Amazon SNS Developer
Guide.
To use this operation, you must grant the Amazon SNS service principal (
sns.amazonaws.com
) permission to perform the
s3:ListBucket
action.
setSMSAttributesRequest
- The input for the SetSMSAttributes action.
InvalidParameterException
ThrottledException
InternalErrorException
AuthorizationErrorException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.void setSubscriptionAttributes(SetSubscriptionAttributesRequest setSubscriptionAttributesRequest) throws AmazonClientException, AmazonServiceException
Allows a subscription owner to set an attribute of the subscription to a new value.
setSubscriptionAttributesRequest
- Input for SetSubscriptionAttributes action.
InvalidParameterException
FilterPolicyLimitExceededException
InternalErrorException
NotFoundException
AuthorizationErrorException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.void setTopicAttributes(SetTopicAttributesRequest setTopicAttributesRequest) throws AmazonClientException, AmazonServiceException
Allows a topic owner to set an attribute of the topic to a new value.
setTopicAttributesRequest
- Input for SetTopicAttributes action.
InvalidParameterException
InternalErrorException
NotFoundException
AuthorizationErrorException
InvalidSecurityException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.SubscribeResult subscribe(SubscribeRequest subscribeRequest) throws AmazonClientException, AmazonServiceException
Subscribes an endpoint to an Amazon SNS topic. If the endpoint type is
HTTP/S or email, or if the endpoint and the topic are not in the same AWS
account, the endpoint owner must run the ConfirmSubscription
action to confirm the subscription.
You call the ConfirmSubscription
action with the token from
the subscription response. Confirmation tokens are valid for three days.
This action is throttled at 100 transactions per second (TPS).
subscribeRequest
- Input for Subscribe action.
SubscriptionLimitExceededException
FilterPolicyLimitExceededException
InvalidParameterException
InternalErrorException
NotFoundException
AuthorizationErrorException
InvalidSecurityException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.TagResourceResult tagResource(TagResourceRequest tagResourceRequest) throws AmazonClientException, AmazonServiceException
Add tags to the specified Amazon SNS topic. For an overview, see Amazon SNS Tags in the Amazon SNS Developer Guide.
When you use topic tags, keep the following guidelines in mind:
Adding more than 50 tags to a topic isn't recommended.
Tags don't have any semantic meaning. Amazon SNS interprets tags as character strings.
Tags are case-sensitive.
A new tag with a key identical to that of an existing tag overwrites the existing tag.
Tagging actions are limited to 10 TPS per AWS account, per AWS region. If your application requires a higher throughput, file a technical support request.
tagResourceRequest
- ResourceNotFoundException
TagLimitExceededException
StaleTagException
TagPolicyException
InvalidParameterException
AuthorizationErrorException
ConcurrentAccessException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.void unsubscribe(UnsubscribeRequest unsubscribeRequest) throws AmazonClientException, AmazonServiceException
Deletes a subscription. If the subscription requires authentication for
deletion, only the owner of the subscription or the topic's owner can
unsubscribe, and an AWS signature is required. If the
Unsubscribe
call does not require authentication and the
requester is not the subscription owner, a final cancellation message is
delivered to the endpoint, so that the endpoint owner can easily
resubscribe to the topic if the Unsubscribe
request was
unintended.
This action is throttled at 100 transactions per second (TPS).
unsubscribeRequest
- Input for Unsubscribe action.
InvalidParameterException
InternalErrorException
AuthorizationErrorException
NotFoundException
InvalidSecurityException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest) throws AmazonClientException, AmazonServiceException
Remove tags from the specified Amazon SNS topic. For an overview, see Amazon SNS Tags in the Amazon SNS Developer Guide.
untagResourceRequest
- ResourceNotFoundException
TagLimitExceededException
StaleTagException
TagPolicyException
InvalidParameterException
AuthorizationErrorException
ConcurrentAccessException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.void setSubscriptionAttributes(java.lang.String subscriptionArn, java.lang.String attributeName, java.lang.String attributeValue) throws AmazonClientException, AmazonServiceException
Allows a subscription owner to set an attribute of the subscription to a new value.
subscriptionArn
- The ARN of the subscription to modify.
attributeName
- A map of attributes with their corresponding values.
The following lists the names, descriptions, and values of the special request parameters that this action uses:
DeliveryPolicy
– The policy that defines how
Amazon SNS retries failed deliveries to HTTP/S endpoints.
FilterPolicy
– The simple JSON object that lets
your subscriber receive only a subset of messages, rather than
receiving every message published to the topic.
RawMessageDelivery
– When set to
true
, enables raw message delivery to Amazon SQS
or HTTP/S endpoints. This eliminates the need for the
endpoints to process JSON formatting, which is otherwise
created for Amazon SNS metadata.
RedrivePolicy
– When specified, sends
undeliverable messages to the specified Amazon SQS dead-letter
queue. Messages that can't be delivered due to client errors
(for example, when the subscribed endpoint is unreachable) or
server errors (for example, when the service that powers the
subscribed endpoint becomes unavailable) are held in the
dead-letter queue for further analysis or reprocessing.
The following attribute applies only to Amazon Kinesis Data Firehose delivery stream subscriptions:
SubscriptionRoleArn
– The ARN of the IAM role
that has the following:
Permission to write to the Kinesis Data Firehose delivery stream
Amazon SNS listed as a trusted entity
Specifying a valid ARN for this attribute is required for Kinesis Data Firehose delivery stream subscriptions. For more information, see Fanout to Kinesis Data Firehose delivery streams in the Amazon SNS Developer Guide.
attributeValue
- The new value for the attribute in JSON format.
InvalidParameterException
FilterPolicyLimitExceededException
InternalErrorException
NotFoundException
AuthorizationErrorException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.GetSubscriptionAttributesResult getSubscriptionAttributes(java.lang.String subscriptionArn) throws AmazonClientException, AmazonServiceException
Returns all of the properties of a subscription.
subscriptionArn
- The ARN of the subscription whose properties you want to get.
InvalidParameterException
InternalErrorException
NotFoundException
AuthorizationErrorException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.SubscribeResult subscribe(java.lang.String topicArn, java.lang.String protocol, java.lang.String endpoint) throws AmazonClientException, AmazonServiceException
Subscribes an endpoint to an Amazon SNS topic. If the endpoint type is
HTTP/S or email, or if the endpoint and the topic are not in the same AWS
account, the endpoint owner must run the ConfirmSubscription
action to confirm the subscription.
You call the ConfirmSubscription
action with the token from
the subscription response. Confirmation tokens are valid for three days.
This action is throttled at 100 transactions per second (TPS).
topicArn
- The ARN of the topic you want to subscribe to.
protocol
- The protocol that you want to use. Supported protocols include:
http
– delivery of JSON-encoded message via HTTP
POST
https
– delivery of JSON-encoded message via
HTTPS POST
email
– delivery of message via SMTP
email-json
– delivery of JSON-encoded message via
SMTP
sms
– delivery of message via SMS
sqs
– delivery of JSON-encoded message to an
Amazon SQS queue
application
– delivery of JSON-encoded message to
an EndpointArn for a mobile app and device
lambda
– delivery of JSON-encoded message to an
AWS Lambda function
firehose
– delivery of JSON-encoded message to an
Amazon Kinesis Data Firehose delivery stream.
endpoint
- The endpoint that you want to receive notifications. Endpoints vary by protocol:
For the http
protocol, the (public) endpoint is a
URL beginning with http://
.
For the https
protocol, the (public) endpoint is
a URL beginning with https://
.
For the email
protocol, the endpoint is an email
address.
For the email-json
protocol, the endpoint is an
email address.
For the sms
protocol, the endpoint is a phone
number of an SMS-enabled device.
For the sqs
protocol, the endpoint is the ARN of
an Amazon SQS queue.
For the application
protocol, the endpoint is the
EndpointArn of a mobile app and device.
For the lambda
protocol, the endpoint is the ARN
of an AWS Lambda function.
For the firehose
protocol, the endpoint is the
ARN of an Amazon Kinesis Data Firehose delivery stream.
SubscriptionLimitExceededException
FilterPolicyLimitExceededException
InvalidParameterException
InternalErrorException
NotFoundException
AuthorizationErrorException
InvalidSecurityException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.void addPermission(java.lang.String topicArn, java.lang.String label, java.util.List<java.lang.String> aWSAccountIds, java.util.List<java.lang.String> actionNames) throws AmazonClientException, AmazonServiceException
Adds a statement to a topic's access control policy, granting access for the specified AWS accounts to the specified actions.
topicArn
- The ARN of the topic whose access control policy you wish to modify.
label
- A unique identifier for the new policy statement.
aWSAccountIds
- The AWS account IDs of the users (principals) who will be given access to the specified actions. The users must have AWS accounts, but do not need to be signed up for this service.
actionNames
- The action you want to allow for the specified principal(s).
Valid values: Any Amazon SNS action name, for example
Publish
.
InvalidParameterException
InternalErrorException
AuthorizationErrorException
NotFoundException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.GetTopicAttributesResult getTopicAttributes(java.lang.String topicArn) throws AmazonClientException, AmazonServiceException
Returns all of the properties of a topic. Topic properties returned might differ based on the authorization of the user.
topicArn
- The ARN of the topic whose properties you want to get.
InvalidParameterException
InternalErrorException
NotFoundException
AuthorizationErrorException
InvalidSecurityException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.void removePermission(java.lang.String topicArn, java.lang.String label) throws AmazonClientException, AmazonServiceException
Removes a statement from a topic's access control policy.
topicArn
- The ARN of the topic whose access control policy you wish to modify.
label
- The unique label of the statement you want to remove.
InvalidParameterException
InternalErrorException
AuthorizationErrorException
NotFoundException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.ListTopicsResult listTopics() throws AmazonClientException, AmazonServiceException
Returns a list of the requester's topics. Each call returns a limited
list of topics, up to 100. If there are more topics, a
NextToken
is also returned. Use the NextToken
parameter in a new ListTopics
call to get further results.
This action is throttled at 30 transactions per second (TPS).
InvalidParameterException
InternalErrorException
AuthorizationErrorException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.ListTopicsResult listTopics(java.lang.String nextToken) throws AmazonClientException, AmazonServiceException
Returns a list of the requester's topics. Each call returns a limited
list of topics, up to 100. If there are more topics, a
NextToken
is also returned. Use the NextToken
parameter in a new ListTopics
call to get further results.
This action is throttled at 30 transactions per second (TPS).
nextToken
-
Token returned by the previous ListTopics
request.
InvalidParameterException
InternalErrorException
AuthorizationErrorException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.ConfirmSubscriptionResult confirmSubscription(java.lang.String topicArn, java.lang.String token, java.lang.String authenticateOnUnsubscribe) throws AmazonClientException, AmazonServiceException
Verifies an endpoint owner's intent to receive messages by validating the
token sent to the endpoint by an earlier Subscribe
action.
If the token is valid, the action creates a new subscription and returns
its Amazon Resource Name (ARN). This call requires an AWS signature only
when the AuthenticateOnUnsubscribe
flag is set to "true".
topicArn
- The ARN of the topic for which you wish to confirm a subscription.
token
-
Short-lived token sent to an endpoint during the
Subscribe
action.
authenticateOnUnsubscribe
-
Disallows unauthenticated unsubscribes of the subscription. If
the value of this parameter is true
and the
request has an AWS signature, then only the topic owner and
the subscription owner can unsubscribe the endpoint. The
unsubscribe action requires AWS authentication.
SubscriptionLimitExceededException
InvalidParameterException
NotFoundException
InternalErrorException
AuthorizationErrorException
FilterPolicyLimitExceededException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.ConfirmSubscriptionResult confirmSubscription(java.lang.String topicArn, java.lang.String token) throws AmazonClientException, AmazonServiceException
Verifies an endpoint owner's intent to receive messages by validating the
token sent to the endpoint by an earlier Subscribe
action.
If the token is valid, the action creates a new subscription and returns
its Amazon Resource Name (ARN). This call requires an AWS signature only
when the AuthenticateOnUnsubscribe
flag is set to "true".
topicArn
- The ARN of the topic for which you wish to confirm a subscription.
token
-
Short-lived token sent to an endpoint during the
Subscribe
action.
SubscriptionLimitExceededException
InvalidParameterException
NotFoundException
InternalErrorException
AuthorizationErrorException
FilterPolicyLimitExceededException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.void setTopicAttributes(java.lang.String topicArn, java.lang.String attributeName, java.lang.String attributeValue) throws AmazonClientException, AmazonServiceException
Allows a topic owner to set an attribute of the topic to a new value.
topicArn
- The ARN of the topic to modify.
attributeName
- A map of attributes with their corresponding values.
The following lists the names, descriptions, and values of the
special request parameters that the
SetTopicAttributes
action uses:
DeliveryPolicy
– The policy that defines how
Amazon SNS retries failed deliveries to HTTP/S endpoints.
DisplayName
– The display name to use for a topic
with SMS subscriptions.
Policy
– The policy that defines who can access
your topic. By default, only the topic owner can publish or
subscribe to the topic.
The following attribute applies only to server-side-encryption:
KmsMasterKeyId
– The ID of an AWS-managed
customer master key (CMK) for Amazon SNS or a custom CMK. For
more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API
Reference.
The following attribute applies only to FIFO topics:
ContentBasedDeduplication
– Enables content-based
deduplication for FIFO topics.
By default, ContentBasedDeduplication
is set to
false
. If you create a FIFO topic and this
attribute is false
, you must specify a value for
the MessageDeduplicationId
parameter for the Publish action.
When you set ContentBasedDeduplication
to
true
, Amazon SNS uses a SHA-256 hash to generate
the MessageDeduplicationId
using the body of the
message (but not the attributes of the message).
(Optional) To override the generated value, you can specify a
value for the the MessageDeduplicationId
parameter for the Publish
action.
attributeValue
- The new value for the attribute.
InvalidParameterException
InternalErrorException
NotFoundException
AuthorizationErrorException
InvalidSecurityException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.CreateTopicResult createTopic(java.lang.String name) throws AmazonClientException, AmazonServiceException
Creates a topic to which notifications can be published. Users can create at most 100,000 standard topics (at most 1,000 FIFO topics). For more information, see https://aws.amazon.com/sns. This action is idempotent, so if the requester already owns a topic with the specified name, that topic's ARN is returned without creating a new topic.
name
- The name of the topic you want to create.
Constraints: Topic names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long.
For a FIFO (first-in-first-out) topic, the name must end with
the .fifo
suffix.
InvalidParameterException
TopicLimitExceededException
InternalErrorException
AuthorizationErrorException
InvalidSecurityException
TagLimitExceededException
StaleTagException
TagPolicyException
ConcurrentAccessException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.void deleteTopic(java.lang.String topicArn) throws AmazonClientException, AmazonServiceException
Deletes a topic and all its subscriptions. Deleting a topic might prevent some messages previously sent to the topic from being delivered to subscribers. This action is idempotent, so deleting a topic that does not exist does not result in an error.
topicArn
- The ARN of the topic you want to delete.
InvalidParameterException
InternalErrorException
AuthorizationErrorException
NotFoundException
StaleTagException
TagPolicyException
ConcurrentAccessException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.void unsubscribe(java.lang.String subscriptionArn) throws AmazonClientException, AmazonServiceException
Deletes a subscription. If the subscription requires authentication for
deletion, only the owner of the subscription or the topic's owner can
unsubscribe, and an AWS signature is required. If the
Unsubscribe
call does not require authentication and the
requester is not the subscription owner, a final cancellation message is
delivered to the endpoint, so that the endpoint owner can easily
resubscribe to the topic if the Unsubscribe
request was
unintended.
This action is throttled at 100 transactions per second (TPS).
subscriptionArn
- The ARN of the subscription to be deleted.
InvalidParameterException
InternalErrorException
AuthorizationErrorException
NotFoundException
InvalidSecurityException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.PublishResult publish(java.lang.String topicArn, java.lang.String message) throws AmazonClientException, AmazonServiceException
Sends a message to an Amazon SNS topic, a text message (SMS message)
directly to a phone number, or a message to a mobile platform endpoint
(when you specify the TargetArn
).
If you send a message to a topic, Amazon SNS delivers the message to each endpoint that is subscribed to the topic. The format of the message depends on the notification protocol for each subscribed endpoint.
When a messageId
is returned, the message has been saved and
Amazon SNS will attempt to deliver it shortly.
To use the Publish
action for sending a message to a mobile
endpoint, such as an app on a Kindle device or mobile phone, you must
specify the EndpointArn for the TargetArn parameter. The EndpointArn is
returned when making a call with the CreatePlatformEndpoint
action.
For more information about formatting messages, see Send Custom Platform-Specific Payloads in Messages to Mobile Devices.
You can publish messages only to topics and endpoints in the same AWS Region.
topicArn
- The topic you want to publish to.
If you don't specify a value for the TopicArn
parameter, you must specify a value for the
PhoneNumber
or TargetArn
parameters.
message
- The message you want to send.
If you are publishing to a topic and you want to send the same
message to all transport protocols, include the text of the
message as a String value. If you want to send different
messages for each transport protocol, set the value of the
MessageStructure
parameter to json
and use a JSON object for the Message
parameter.
Constraints:
With the exception of SMS, messages must be UTF-8 encoded strings and at most 256 KB in size (262,144 bytes, not 262,144 characters).
For SMS, each message can contain up to 140 characters. This character limit depends on the encoding schema. For example, an SMS message can contain 160 GSM characters, 140 ASCII characters, or 70 UCS-2 characters.
If you publish a message that exceeds this size limit, Amazon SNS sends the message as multiple messages, each fitting within the size limit. Messages aren't truncated mid-word but are cut off at whole-word boundaries.
The total size limit for a single SMS Publish
action is 1,600 characters.
JSON-specific constraints:
Keys in the JSON object that correspond to supported transport protocols must have simple JSON string values.
The values will be parsed (unescaped) before they are used in outgoing messages.
Outbound notifications are JSON encoded (meaning that the characters will be reescaped for sending).
Values have a minimum length of 0 (the empty string, "", is allowed).
Values have a maximum length bounded by the overall message size (so, including multiple protocols may limit message sizes).
Non-string values will cause the key to be ignored.
Keys that do not correspond to supported transport protocols are ignored.
Duplicate keys are not allowed.
Failure to parse or validate any key or value in the message
will cause the Publish
call to return an error
(no partial delivery).
InvalidParameterException
InvalidParameterValueException
InternalErrorException
NotFoundException
EndpointDisabledException
PlatformApplicationDisabledException
AuthorizationErrorException
KMSDisabledException
KMSInvalidStateException
KMSNotFoundException
KMSOptInRequiredException
KMSThrottlingException
KMSAccessDeniedException
InvalidSecurityException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.PublishResult publish(java.lang.String topicArn, java.lang.String message, java.lang.String subject) throws AmazonClientException, AmazonServiceException
Sends a message to an Amazon SNS topic, a text message (SMS message)
directly to a phone number, or a message to a mobile platform endpoint
(when you specify the TargetArn
).
If you send a message to a topic, Amazon SNS delivers the message to each endpoint that is subscribed to the topic. The format of the message depends on the notification protocol for each subscribed endpoint.
When a messageId
is returned, the message has been saved and
Amazon SNS will attempt to deliver it shortly.
To use the Publish
action for sending a message to a mobile
endpoint, such as an app on a Kindle device or mobile phone, you must
specify the EndpointArn for the TargetArn parameter. The EndpointArn is
returned when making a call with the CreatePlatformEndpoint
action.
For more information about formatting messages, see Send Custom Platform-Specific Payloads in Messages to Mobile Devices.
You can publish messages only to topics and endpoints in the same AWS Region.
topicArn
- The topic you want to publish to.
If you don't specify a value for the TopicArn
parameter, you must specify a value for the
PhoneNumber
or TargetArn
parameters.
message
- The message you want to send.
If you are publishing to a topic and you want to send the same
message to all transport protocols, include the text of the
message as a String value. If you want to send different
messages for each transport protocol, set the value of the
MessageStructure
parameter to json
and use a JSON object for the Message
parameter.
Constraints:
With the exception of SMS, messages must be UTF-8 encoded strings and at most 256 KB in size (262,144 bytes, not 262,144 characters).
For SMS, each message can contain up to 140 characters. This character limit depends on the encoding schema. For example, an SMS message can contain 160 GSM characters, 140 ASCII characters, or 70 UCS-2 characters.
If you publish a message that exceeds this size limit, Amazon SNS sends the message as multiple messages, each fitting within the size limit. Messages aren't truncated mid-word but are cut off at whole-word boundaries.
The total size limit for a single SMS Publish
action is 1,600 characters.
JSON-specific constraints:
Keys in the JSON object that correspond to supported transport protocols must have simple JSON string values.
The values will be parsed (unescaped) before they are used in outgoing messages.
Outbound notifications are JSON encoded (meaning that the characters will be reescaped for sending).
Values have a minimum length of 0 (the empty string, "", is allowed).
Values have a maximum length bounded by the overall message size (so, including multiple protocols may limit message sizes).
Non-string values will cause the key to be ignored.
Keys that do not correspond to supported transport protocols are ignored.
Duplicate keys are not allowed.
Failure to parse or validate any key or value in the message
will cause the Publish
call to return an error
(no partial delivery).
subject
- Optional parameter to be used as the "Subject" line when the message is delivered to email endpoints. This field will also be included, if present, in the standard JSON messages delivered to other endpoints.
Constraints: Subjects must be ASCII text that begins with a letter, number, or punctuation mark; must not include line breaks or control characters; and must be less than 100 characters long.
InvalidParameterException
InvalidParameterValueException
InternalErrorException
NotFoundException
EndpointDisabledException
PlatformApplicationDisabledException
AuthorizationErrorException
KMSDisabledException
KMSInvalidStateException
KMSNotFoundException
KMSOptInRequiredException
KMSThrottlingException
KMSAccessDeniedException
InvalidSecurityException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.ListSubscriptionsResult listSubscriptions() throws AmazonClientException, AmazonServiceException
Returns a list of the requester's subscriptions. Each call returns a
limited list of subscriptions, up to 100. If there are more
subscriptions, a NextToken
is also returned. Use the
NextToken
parameter in a new ListSubscriptions
call to get further results.
This action is throttled at 30 transactions per second (TPS).
InvalidParameterException
InternalErrorException
AuthorizationErrorException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.ListSubscriptionsResult listSubscriptions(java.lang.String nextToken) throws AmazonClientException, AmazonServiceException
Returns a list of the requester's subscriptions. Each call returns a
limited list of subscriptions, up to 100. If there are more
subscriptions, a NextToken
is also returned. Use the
NextToken
parameter in a new ListSubscriptions
call to get further results.
This action is throttled at 30 transactions per second (TPS).
nextToken
-
Token returned by the previous ListSubscriptions
request.
InvalidParameterException
InternalErrorException
AuthorizationErrorException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.ListSubscriptionsByTopicResult listSubscriptionsByTopic(java.lang.String topicArn) throws AmazonClientException, AmazonServiceException
Returns a list of the subscriptions to a specific topic. Each call
returns a limited list of subscriptions, up to 100. If there are more
subscriptions, a NextToken
is also returned. Use the
NextToken
parameter in a new
ListSubscriptionsByTopic
call to get further results.
This action is throttled at 30 transactions per second (TPS).
topicArn
- The ARN of the topic for which you wish to find subscriptions.
InvalidParameterException
InternalErrorException
NotFoundException
AuthorizationErrorException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.ListSubscriptionsByTopicResult listSubscriptionsByTopic(java.lang.String topicArn, java.lang.String nextToken) throws AmazonClientException, AmazonServiceException
Returns a list of the subscriptions to a specific topic. Each call
returns a limited list of subscriptions, up to 100. If there are more
subscriptions, a NextToken
is also returned. Use the
NextToken
parameter in a new
ListSubscriptionsByTopic
call to get further results.
This action is throttled at 30 transactions per second (TPS).
topicArn
- The ARN of the topic for which you wish to find subscriptions.
nextToken
-
Token returned by the previous
ListSubscriptionsByTopic
request.
InvalidParameterException
InternalErrorException
NotFoundException
AuthorizationErrorException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.ListPlatformApplicationsResult listPlatformApplications() throws AmazonClientException, AmazonServiceException
Lists the platform application objects for the supported push
notification services, such as APNS and GCM (Firebase Cloud Messaging).
The results for ListPlatformApplications
are paginated and
return a limited list of applications, up to 100. If additional records
are available after the first page results, then a NextToken string will
be returned. To receive the next page, you call
ListPlatformApplications
using the NextToken string received
from the previous call. When there are no more records to return,
NextToken
will be null. For more information, see Using
Amazon SNS Mobile Push Notifications.
This action is throttled at 15 transactions per second (TPS).
InvalidParameterException
InternalErrorException
AuthorizationErrorException
AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.AmazonServiceException
- If an error response is returned by Amazon
Simple Notification Service indicating either a problem with
the data in the request, or a server side issue.void shutdown()
ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request)
Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic information for an executed request, you should use this method to retrieve it as soon as possible after executing a request.
request
- The originally executed request.Copyright © 2018 Amazon Web Services, Inc. All Rights Reserved.