com.amazonaws.services.sns.AmazonSNS Maven / Gradle / Ivy
Show all versions of aws-java-sdk Show documentation
/*
* Copyright 2010-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package com.amazonaws.services.sns;
import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.sns.model.*;
/**
* Interface for accessing AmazonSNS.
* Amazon Simple Notification Service
* 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
* http://aws.amazon.com/sns . For detailed information about Amazon SNS features and their associated API calls, see 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
* .
*
*/
public interface AmazonSNS {
/**
* Overrides the default endpoint for this client ("https://sns.us-east-1.amazonaws.com").
* Callers can use this method to control which AWS region they want to work with.
*
* 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
* {@link 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.
*
* @param 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.
*
* @throws IllegalArgumentException
* If any problems are detected with the specified endpoint.
*/
public void setEndpoint(String endpoint) throws java.lang.IllegalArgumentException;
/**
* An alternative to {@link AmazonSNS#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 {@link 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.
*
* @param region
* The region this client will communicate with. See
* {@link Region#getRegion(com.amazonaws.regions.Regions)} for
* accessing a given region.
* @throws java.lang.IllegalArgumentException
* If the given region is null, or if this service isn't
* available in the given region. See
* {@link Region#isServiceSupported(String)}
* @see Region#getRegion(com.amazonaws.regions.Regions)
* @see Region#createClient(Class, com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration)
*/
public void setRegion(Region region) throws java.lang.IllegalArgumentException;
/**
*
* The ConfirmSubscription
action 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".
*
*
* @param confirmSubscriptionRequest Container for the necessary
* parameters to execute the ConfirmSubscription service method on
* AmazonSNS.
*
* @return The response from the ConfirmSubscription service method, as
* returned by AmazonSNS.
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws SubscriptionLimitExceededException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public ConfirmSubscriptionResult confirmSubscription(ConfirmSubscriptionRequest confirmSubscriptionRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* The CreatePlatformApplication
action creates a platform
* application object for one of the supported push notification
* services, such as APNS and GCM, to which devices and mobile apps may
* register. You must specify PlatformPrincipal and PlatformCredential
* attributes when using the CreatePlatformApplication
* action. The PlatformPrincipal is received from the notification
* service. For APNS/APNS_SANDBOX, PlatformPrincipal is "SSL
* certificate". For GCM, PlatformPrincipal is not applicable. For ADM,
* PlatformPrincipal is "client id". The PlatformCredential is also
* received from the notification service. For APNS/APNS_SANDBOX,
* PlatformCredential is "private key". For GCM, PlatformCredential is
* "API key". For ADM, PlatformCredential is "client secret". The
* PlatformApplicationArn that is returned when using
* CreatePlatformApplication
is then used as an attribute
* for the CreatePlatformEndpoint
action. For more
* information, see
* Using Amazon SNS Mobile Push Notifications
* .
*
*
* @param createPlatformApplicationRequest Container for the necessary
* parameters to execute the CreatePlatformApplication service method on
* AmazonSNS.
*
* @return The response from the CreatePlatformApplication service
* method, as returned by AmazonSNS.
*
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public CreatePlatformApplicationResult createPlatformApplication(CreatePlatformApplicationRequest createPlatformApplicationRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* The GetTopicAttributes
action returns all of the
* properties of a topic. Topic properties returned might differ based on
* the authorization of the user.
*
*
* @param getTopicAttributesRequest Container for the necessary
* parameters to execute the GetTopicAttributes service method on
* AmazonSNS.
*
* @return The response from the GetTopicAttributes service method, as
* returned by AmazonSNS.
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public GetTopicAttributesResult getTopicAttributes(GetTopicAttributesRequest getTopicAttributesRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* The Subscribe
action prepares to subscribe an endpoint by
* sending the endpoint a confirmation message. To actually create a
* subscription, the endpoint owner must call the
* ConfirmSubscription
action with the token from the
* confirmation message. Confirmation tokens are valid for three days.
*
*
* @param subscribeRequest Container for the necessary parameters to
* execute the Subscribe service method on AmazonSNS.
*
* @return The response from the Subscribe service method, as returned by
* AmazonSNS.
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws SubscriptionLimitExceededException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public SubscribeResult subscribe(SubscribeRequest subscribeRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* The DeleteEndpoint
action, which is idempotent, deletes
* the endpoint from SNS. For more information, see
* Using Amazon SNS Mobile Push Notifications
* .
*
*
* @param deleteEndpointRequest Container for the necessary parameters to
* execute the DeleteEndpoint service method on AmazonSNS.
*
*
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public void deleteEndpoint(DeleteEndpointRequest deleteEndpointRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* The SetTopicAttributes
action allows a topic owner to set
* an attribute of the topic to a new value.
*
*
* @param setTopicAttributesRequest Container for the necessary
* parameters to execute the SetTopicAttributes service method on
* AmazonSNS.
*
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public void setTopicAttributes(SetTopicAttributesRequest setTopicAttributesRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* The RemovePermission
action removes a statement from a
* topic's access control policy.
*
*
* @param removePermissionRequest Container for the necessary parameters
* to execute the RemovePermission service method on AmazonSNS.
*
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public void removePermission(RemovePermissionRequest removePermissionRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* The GetEndpointAttributes
retrieves the endpoint
* attributes for a device on one of the supported push notification
* services, such as GCM and APNS. For more information, see
* Using Amazon SNS Mobile Push Notifications
* .
*
*
* @param getEndpointAttributesRequest Container for the necessary
* parameters to execute the GetEndpointAttributes service method on
* AmazonSNS.
*
* @return The response from the GetEndpointAttributes service method, as
* returned by AmazonSNS.
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public GetEndpointAttributesResult getEndpointAttributes(GetEndpointAttributesRequest getEndpointAttributesRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* The ListSubscriptions
action 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.
*
*
* @param listSubscriptionsRequest Container for the necessary parameters
* to execute the ListSubscriptions service method on AmazonSNS.
*
* @return The response from the ListSubscriptions service method, as
* returned by AmazonSNS.
*
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public ListSubscriptionsResult listSubscriptions(ListSubscriptionsRequest listSubscriptionsRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* The CreatePlatformEndpoint
action creates an endpoint for
* a device and mobile app on one of the supported push notification
* services, such as GCM and APNS. CreatePlatformEndpoint
* requires the PlatformApplicationArn that is returned from
* CreatePlatformApplication
. The EndpointArn that is
* returned when using CreatePlatformEndpoint
can then be
* used by the Publish
action 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
* .
*
*
* @param createPlatformEndpointRequest Container for the necessary
* parameters to execute the CreatePlatformEndpoint service method on
* AmazonSNS.
*
* @return The response from the CreatePlatformEndpoint service method,
* as returned by AmazonSNS.
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public CreatePlatformEndpointResult createPlatformEndpoint(CreatePlatformEndpointRequest createPlatformEndpointRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* The SetSubscriptionAttributes
action allows a
* subscription owner to set an attribute of the topic to a new value.
*
*
* @param setSubscriptionAttributesRequest Container for the necessary
* parameters to execute the SetSubscriptionAttributes service method on
* AmazonSNS.
*
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public void setSubscriptionAttributes(SetSubscriptionAttributesRequest setSubscriptionAttributesRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* The CreateTopic
action creates a topic to which
* notifications can be published. Users can create at most 3000 topics.
* For more information, see
* http://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.
*
*
* @param createTopicRequest Container for the necessary parameters to
* execute the CreateTopic service method on AmazonSNS.
*
* @return The response from the CreateTopic service method, as returned
* by AmazonSNS.
*
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
* @throws TopicLimitExceededException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public CreateTopicResult createTopic(CreateTopicRequest createTopicRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* The GetSubscriptionAttribtues
action returns all of the
* properties of a subscription.
*
*
* @param getSubscriptionAttributesRequest Container for the necessary
* parameters to execute the GetSubscriptionAttributes service method on
* AmazonSNS.
*
* @return The response from the GetSubscriptionAttributes service
* method, as returned by AmazonSNS.
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public GetSubscriptionAttributesResult getSubscriptionAttributes(GetSubscriptionAttributesRequest getSubscriptionAttributesRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* The ListTopics
action 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.
*
*
* @param listTopicsRequest Container for the necessary parameters to
* execute the ListTopics service method on AmazonSNS.
*
* @return The response from the ListTopics service method, as returned
* by AmazonSNS.
*
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public ListTopicsResult listTopics(ListTopicsRequest listTopicsRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* The DeletePlatformApplication
action deletes a platform
* application object for one of the supported push notification
* services, such as APNS and GCM. For more information, see
* Using Amazon SNS Mobile Push Notifications
* .
*
*
* @param deletePlatformApplicationRequest Container for the necessary
* parameters to execute the DeletePlatformApplication service method on
* AmazonSNS.
*
*
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public void deletePlatformApplication(DeletePlatformApplicationRequest deletePlatformApplicationRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* The ListPlatformApplications
action lists the platform
* application objects for the supported push notification services, such
* as APNS and GCM. 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
* .
*
*
* @param listPlatformApplicationsRequest Container for the necessary
* parameters to execute the ListPlatformApplications service method on
* AmazonSNS.
*
* @return The response from the ListPlatformApplications service method,
* as returned by AmazonSNS.
*
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public ListPlatformApplicationsResult listPlatformApplications(ListPlatformApplicationsRequest listPlatformApplicationsRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* The SetEndpointAttributes
action sets the attributes for
* an endpoint for a device on one of the supported push notification
* services, such as GCM and APNS. For more information, see
* Using Amazon SNS Mobile Push Notifications
* .
*
*
* @param setEndpointAttributesRequest Container for the necessary
* parameters to execute the SetEndpointAttributes service method on
* AmazonSNS.
*
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public void setEndpointAttributes(SetEndpointAttributesRequest setEndpointAttributesRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* The Unsubscribe
action 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.
*
*
* @param unsubscribeRequest Container for the necessary parameters to
* execute the Unsubscribe service method on AmazonSNS.
*
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public void unsubscribe(UnsubscribeRequest unsubscribeRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* The DeleteTopic
action 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.
*
*
* @param deleteTopicRequest Container for the necessary parameters to
* execute the DeleteTopic service method on AmazonSNS.
*
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public void deleteTopic(DeleteTopicRequest deleteTopicRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* The GetPlatformApplicationAttributes
action retrieves the
* attributes of the platform application object for the supported push
* notification services, such as APNS and GCM. For more information, see
* Using Amazon SNS Mobile Push Notifications
* .
*
*
* @param getPlatformApplicationAttributesRequest Container for the
* necessary parameters to execute the GetPlatformApplicationAttributes
* service method on AmazonSNS.
*
* @return The response from the GetPlatformApplicationAttributes service
* method, as returned by AmazonSNS.
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public GetPlatformApplicationAttributesResult getPlatformApplicationAttributes(GetPlatformApplicationAttributesRequest getPlatformApplicationAttributesRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* The SetPlatformApplicationAttributes
action sets the
* attributes of the platform application object for the supported push
* notification services, such as APNS and GCM. For more information, see
* Using Amazon SNS Mobile Push Notifications
* .
*
*
* @param setPlatformApplicationAttributesRequest Container for the
* necessary parameters to execute the SetPlatformApplicationAttributes
* service method on AmazonSNS.
*
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public void setPlatformApplicationAttributes(SetPlatformApplicationAttributesRequest setPlatformApplicationAttributesRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* The AddPermission
action adds a statement to a topic's
* access control policy, granting access for the specified AWS accounts
* to the specified actions.
*
*
* @param addPermissionRequest Container for the necessary parameters to
* execute the AddPermission service method on AmazonSNS.
*
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public void addPermission(AddPermissionRequest addPermissionRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* The ListEndpointsByPlatformApplication
action lists the
* endpoints and endpoint attributes for devices in a supported push
* notification service, such as GCM 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
* .
*
*
* @param listEndpointsByPlatformApplicationRequest Container for the
* necessary parameters to execute the ListEndpointsByPlatformApplication
* service method on AmazonSNS.
*
* @return The response from the ListEndpointsByPlatformApplication
* service method, as returned by AmazonSNS.
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public ListEndpointsByPlatformApplicationResult listEndpointsByPlatformApplication(ListEndpointsByPlatformApplicationRequest listEndpointsByPlatformApplicationRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* The ListSubscriptionsByTopic
action 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.
*
*
* @param listSubscriptionsByTopicRequest Container for the necessary
* parameters to execute the ListSubscriptionsByTopic service method on
* AmazonSNS.
*
* @return The response from the ListSubscriptionsByTopic service method,
* as returned by AmazonSNS.
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public ListSubscriptionsByTopicResult listSubscriptionsByTopic(ListSubscriptionsByTopicRequest listSubscriptionsByTopicRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* The Publish
action sends a message to all of a topic's
* subscribed endpoints. When a messageId
is returned, the
* message has been saved and Amazon SNS will attempt to deliver it to
* the topic's subscribers shortly. The format of the outgoing message to
* each subscribed endpoint depends on the notification protocol
* selected.
*
*
* 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. The EndpointArn is returned when
* making a call with the CreatePlatformEndpoint
action. The
* second example below shows a request and response for publishing to a
* mobile endpoint.
*
*
* @param publishRequest Container for the necessary parameters to
* execute the Publish service method on AmazonSNS.
*
* @return The response from the Publish service method, as returned by
* AmazonSNS.
*
* @throws NotFoundException
* @throws PlatformApplicationDisabledException
* @throws EndpointDisabledException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public PublishResult publish(PublishRequest publishRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* The ListSubscriptions
action 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.
*
*
* @return The response from the ListSubscriptions service method, as
* returned by AmazonSNS.
*
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public ListSubscriptionsResult listSubscriptions() throws AmazonServiceException, AmazonClientException;
/**
*
* The ListTopics
action 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.
*
*
* @return The response from the ListTopics service method, as returned
* by AmazonSNS.
*
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public ListTopicsResult listTopics() throws AmazonServiceException, AmazonClientException;
/**
*
* The ListPlatformApplications
action lists the platform
* application objects for the supported push notification services, such
* as APNS and GCM. 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
* .
*
*
* @return The response from the ListPlatformApplications service method,
* as returned by AmazonSNS.
*
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public ListPlatformApplicationsResult listPlatformApplications() throws AmazonServiceException, AmazonClientException;
/**
*
* The ConfirmSubscription
action 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".
*
*
* @param topicArn The ARN of the topic for which you wish to confirm a
* subscription.
* @param token Short-lived token sent to an endpoint during the
* Subscribe
action.
* @param 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.
*
* @return The response from the ConfirmSubscription service method, as
* returned by AmazonSNS.
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws SubscriptionLimitExceededException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public ConfirmSubscriptionResult confirmSubscription(String topicArn, String token, String authenticateOnUnsubscribe)
throws AmazonServiceException, AmazonClientException;
/**
*
* The ConfirmSubscription
action 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".
*
*
* @param topicArn The ARN of the topic for which you wish to confirm a
* subscription.
* @param token Short-lived token sent to an endpoint during the
* Subscribe
action.
*
* @return The response from the ConfirmSubscription service method, as
* returned by AmazonSNS.
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws SubscriptionLimitExceededException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public ConfirmSubscriptionResult confirmSubscription(String topicArn, String token)
throws AmazonServiceException, AmazonClientException;
/**
*
* The GetTopicAttributes
action returns all of the
* properties of a topic. Topic properties returned might differ based on
* the authorization of the user.
*
*
* @param topicArn The ARN of the topic whose properties you want to get.
*
* @return The response from the GetTopicAttributes service method, as
* returned by AmazonSNS.
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public GetTopicAttributesResult getTopicAttributes(String topicArn)
throws AmazonServiceException, AmazonClientException;
/**
*
* The Subscribe
action prepares to subscribe an endpoint by
* sending the endpoint a confirmation message. To actually create a
* subscription, the endpoint owner must call the
* ConfirmSubscription
action with the token from the
* confirmation message. Confirmation tokens are valid for three days.
*
*
* @param topicArn The ARN of the topic you want to subscribe to.
* @param protocol The protocol 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.
* @param endpoint The endpoint that you want to receive notifications.
* Endpoints vary by protocol: - For the
http
* protocol, the endpoint is an URL beginning with "http://" - For
* the
https
protocol, the 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.
*
* @return The response from the Subscribe service method, as returned by
* AmazonSNS.
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws SubscriptionLimitExceededException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public SubscribeResult subscribe(String topicArn, String protocol, String endpoint)
throws AmazonServiceException, AmazonClientException;
/**
*
* The SetTopicAttributes
action allows a topic owner to set
* an attribute of the topic to a new value.
*
*
* @param topicArn The ARN of the topic to modify.
* @param attributeName The name of the attribute you want to set. Only a
* subset of the topic's attributes are mutable. Valid values:
* Policy
| DisplayName
|
* DeliveryPolicy
* @param attributeValue The new value for the attribute.
*
* @return The response from the SetTopicAttributes service method, as
* returned by AmazonSNS.
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public void setTopicAttributes(String topicArn, String attributeName, String attributeValue)
throws AmazonServiceException, AmazonClientException;
/**
*
* The RemovePermission
action removes a statement from a
* topic's access control policy.
*
*
* @param topicArn The ARN of the topic whose access control policy you
* wish to modify.
* @param label The unique label of the statement you want to remove.
*
* @return The response from the RemovePermission service method, as
* returned by AmazonSNS.
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public void removePermission(String topicArn, String label)
throws AmazonServiceException, AmazonClientException;
/**
*
* The ListSubscriptions
action 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.
*
*
* @param nextToken Token returned by the previous
* ListSubscriptions
request.
*
* @return The response from the ListSubscriptions service method, as
* returned by AmazonSNS.
*
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public ListSubscriptionsResult listSubscriptions(String nextToken)
throws AmazonServiceException, AmazonClientException;
/**
*
* The SetSubscriptionAttributes
action allows a
* subscription owner to set an attribute of the topic to a new value.
*
*
* @param subscriptionArn The ARN of the subscription to modify.
* @param attributeName The name of the attribute you want to set. Only a
* subset of the subscriptions attributes are mutable. Valid values:
* DeliveryPolicy
| RawMessageDelivery
* @param attributeValue The new value for the attribute in JSON format.
*
* @return The response from the SetSubscriptionAttributes service
* method, as returned by AmazonSNS.
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public void setSubscriptionAttributes(String subscriptionArn, String attributeName, String attributeValue)
throws AmazonServiceException, AmazonClientException;
/**
*
* The CreateTopic
action creates a topic to which
* notifications can be published. Users can create at most 3000 topics.
* For more information, see
* http://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.
*
*
* @param 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.
*
* @return The response from the CreateTopic service method, as returned
* by AmazonSNS.
*
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
* @throws TopicLimitExceededException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public CreateTopicResult createTopic(String name)
throws AmazonServiceException, AmazonClientException;
/**
*
* The GetSubscriptionAttribtues
action returns all of the
* properties of a subscription.
*
*
* @param subscriptionArn The ARN of the subscription whose properties
* you want to get.
*
* @return The response from the GetSubscriptionAttributes service
* method, as returned by AmazonSNS.
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public GetSubscriptionAttributesResult getSubscriptionAttributes(String subscriptionArn)
throws AmazonServiceException, AmazonClientException;
/**
*
* The ListTopics
action 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.
*
*
* @param nextToken Token returned by the previous
* ListTopics
request.
*
* @return The response from the ListTopics service method, as returned
* by AmazonSNS.
*
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public ListTopicsResult listTopics(String nextToken)
throws AmazonServiceException, AmazonClientException;
/**
*
* The Unsubscribe
action 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.
*
*
* @param subscriptionArn The ARN of the subscription to be deleted.
*
* @return The response from the Unsubscribe service method, as returned
* by AmazonSNS.
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public void unsubscribe(String subscriptionArn)
throws AmazonServiceException, AmazonClientException;
/**
*
* The DeleteTopic
action 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.
*
*
* @param topicArn The ARN of the topic you want to delete.
* http://sns.us-east-1.amazonaws.com/
* ?TopicArn=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3AMy-Topic
* &Action=DeleteTopic &SignatureVersion=2 &SignatureMethod=HmacSHA256
* &Timestamp=2010-03-31T12%3A00%3A00.000Z &AWSAccessKeyId=(AWS Access
* Key ID)
* &Signature=DjHBa%2BbYCKQAzctOPnLP7MbHnrHT3%2FK3kFEZjwcf9%2FU%3D
*
* fba800b9-3765-11df-8cf3-c58c53254dfb
*
*
*
* @return The response from the DeleteTopic service method, as returned
* by AmazonSNS.
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public void deleteTopic(String topicArn)
throws AmazonServiceException, AmazonClientException;
/**
*
* The AddPermission
action adds a statement to a topic's
* access control policy, granting access for the specified AWS accounts
* to the specified actions.
*
*
* @param topicArn The ARN of the topic whose access control policy you
* wish to modify.
* @param label A unique identifier for the new policy statement.
* @param 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.
* @param actionNames The action you want to allow for the specified
* principal(s). Valid values: any Amazon SNS action name.
*
* @return The response from the AddPermission service method, as
* returned by AmazonSNS.
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public void addPermission(String topicArn, String label, java.util.List aWSAccountIds, java.util.List actionNames)
throws AmazonServiceException, AmazonClientException;
/**
*
* The ListSubscriptionsByTopic
action 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.
*
*
* @param topicArn The ARN of the topic for which you wish to find
* subscriptions.
* @param nextToken Token returned by the previous
* ListSubscriptionsByTopic
request.
*
* @return The response from the ListSubscriptionsByTopic service method,
* as returned by AmazonSNS.
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public ListSubscriptionsByTopicResult listSubscriptionsByTopic(String topicArn, String nextToken)
throws AmazonServiceException, AmazonClientException;
/**
*
* The ListSubscriptionsByTopic
action 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.
*
*
* @param topicArn The ARN of the topic for which you wish to find
* subscriptions.
*
* @return The response from the ListSubscriptionsByTopic service method,
* as returned by AmazonSNS.
*
* @throws NotFoundException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public ListSubscriptionsByTopicResult listSubscriptionsByTopic(String topicArn)
throws AmazonServiceException, AmazonClientException;
/**
*
* The Publish
action sends a message to all of a topic's
* subscribed endpoints. When a messageId
is returned, the
* message has been saved and Amazon SNS will attempt to deliver it to
* the topic's subscribers shortly. The format of the outgoing message to
* each subscribed endpoint depends on the notification protocol
* selected.
*
*
* 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. The EndpointArn is returned when
* making a call with the CreatePlatformEndpoint
action. The
* second example below shows a request and response for publishing to a
* mobile endpoint.
*
*
* @param topicArn The topic you want to publish to.
* @param message The message you want to send to the topic. If 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. See the Examples
* section for the format of the JSON object.
Constraints: Messages
* must be UTF-8 encoded strings at most 256 KB in size (262144 bytes,
* not 262144 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).
*
* @return The response from the Publish service method, as returned by
* AmazonSNS.
*
* @throws NotFoundException
* @throws PlatformApplicationDisabledException
* @throws EndpointDisabledException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public PublishResult publish(String topicArn, String message)
throws AmazonServiceException, AmazonClientException;
/**
*
* The Publish
action sends a message to all of a topic's
* subscribed endpoints. When a messageId
is returned, the
* message has been saved and Amazon SNS will attempt to deliver it to
* the topic's subscribers shortly. The format of the outgoing message to
* each subscribed endpoint depends on the notification protocol
* selected.
*
*
* 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. The EndpointArn is returned when
* making a call with the CreatePlatformEndpoint
action. The
* second example below shows a request and response for publishing to a
* mobile endpoint.
*
*
* @param topicArn The topic you want to publish to.
* @param message The message you want to send to the topic. If 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. See the Examples
* section for the format of the JSON object.
Constraints: Messages
* must be UTF-8 encoded strings at most 256 KB in size (262144 bytes,
* not 262144 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).
* @param 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.
*
* @return The response from the Publish service method, as returned by
* AmazonSNS.
*
* @throws NotFoundException
* @throws PlatformApplicationDisabledException
* @throws EndpointDisabledException
* @throws AuthorizationErrorException
* @throws InternalErrorException
* @throws InvalidParameterException
*
* @throws 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.
* @throws AmazonServiceException
* If an error response is returned by AmazonSNS indicating
* either a problem with the data in the request, or a server side issue.
*/
public PublishResult publish(String topicArn, String message, String subject)
throws AmazonServiceException, AmazonClientException;
/**
* Shuts down this client object, releasing any resources that might be held
* open. This is an optional method, and callers are not expected to call
* it, but can if they want to explicitly release any open resources. Once a
* client has been shutdown, it should not be used to make any more
* requests.
*/
public void shutdown();
/**
* Returns additional metadata for a previously executed successful request, typically used for
* debugging issues where a service isn't acting as expected. This data isn't considered part
* of the result data returned by an operation, so it's available through this separate,
* diagnostic interface.
*
* 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.
*
* @param request
* The originally executed request.
*
* @return The response metadata for the specified request, or null if none
* is available.
*/
public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
}