public class AbstractAmazonSNS extends Object implements AmazonSNS
AmazonSNS
. Convenient method forms pass
through to the corresponding overload that takes a request object, which
throws an UnsupportedOperationException
.Modifier | Constructor and Description |
---|---|
protected |
AbstractAmazonSNS() |
Modifier and Type | Method and Description |
---|---|
void |
addPermission(AddPermissionRequest request)
Adds a statement to a topic's access control policy, granting access for
the specified AWS accounts to the specified actions.
|
void |
addPermission(String topicArn,
String label,
List<String> aWSAccountIds,
List<String> actionNames)
Simplified method form for invoking the AddPermission operation.
|
ConfirmSubscriptionResult |
confirmSubscription(ConfirmSubscriptionRequest request)
Verifies an endpoint owner's intent to receive messages by validating the
token sent to the endpoint by an earlier
Subscribe action. |
ConfirmSubscriptionResult |
confirmSubscription(String topicArn,
String token)
Simplified method form for invoking the ConfirmSubscription operation.
|
ConfirmSubscriptionResult |
confirmSubscription(String topicArn,
String token,
String authenticateOnUnsubscribe)
Simplified method form for invoking the ConfirmSubscription operation.
|
CreatePlatformApplicationResult |
createPlatformApplication(CreatePlatformApplicationRequest request)
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.
|
CreatePlatformEndpointResult |
createPlatformEndpoint(CreatePlatformEndpointRequest request)
Creates an endpoint for a device and mobile app on one of the supported
push notification services, such as GCM and APNS.
|
CreateTopicResult |
createTopic(CreateTopicRequest request)
Creates a topic to which notifications can be published.
|
CreateTopicResult |
createTopic(String name)
Simplified method form for invoking the CreateTopic operation.
|
void |
deleteEndpoint(DeleteEndpointRequest request)
Deletes the endpoint from Amazon SNS.
|
void |
deletePlatformApplication(DeletePlatformApplicationRequest request)
Deletes a platform application object for one of the supported push
notification services, such as APNS and GCM.
|
void |
deleteTopic(DeleteTopicRequest request)
Deletes a topic and all its subscriptions.
|
void |
deleteTopic(String topicArn)
Simplified method form for invoking the DeleteTopic operation.
|
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 request)
Retrieves the endpoint attributes for a device on one of the supported
push notification services, such as GCM and APNS.
|
GetPlatformApplicationAttributesResult |
getPlatformApplicationAttributes(GetPlatformApplicationAttributesRequest request)
Retrieves the attributes of the platform application object for the
supported push notification services, such as APNS and GCM.
|
GetSubscriptionAttributesResult |
getSubscriptionAttributes(GetSubscriptionAttributesRequest request)
Returns all of the properties of a subscription.
|
GetSubscriptionAttributesResult |
getSubscriptionAttributes(String subscriptionArn)
Simplified method form for invoking the GetSubscriptionAttributes
operation.
|
GetTopicAttributesResult |
getTopicAttributes(GetTopicAttributesRequest request)
Returns all of the properties of a topic.
|
GetTopicAttributesResult |
getTopicAttributes(String topicArn)
Simplified method form for invoking the GetTopicAttributes operation.
|
ListEndpointsByPlatformApplicationResult |
listEndpointsByPlatformApplication(ListEndpointsByPlatformApplicationRequest request)
Lists the endpoints and endpoint attributes for devices in a supported
push notification service, such as GCM and APNS.
|
ListPlatformApplicationsResult |
listPlatformApplications()
Simplified method form for invoking the ListPlatformApplications
operation.
|
ListPlatformApplicationsResult |
listPlatformApplications(ListPlatformApplicationsRequest request)
Lists the platform application objects for the supported push
notification services, such as APNS and GCM.
|
ListSubscriptionsResult |
listSubscriptions()
Simplified method form for invoking the ListSubscriptions operation.
|
ListSubscriptionsResult |
listSubscriptions(ListSubscriptionsRequest request)
Returns a list of the requester's subscriptions.
|
ListSubscriptionsResult |
listSubscriptions(String nextToken)
Simplified method form for invoking the ListSubscriptions operation.
|
ListSubscriptionsByTopicResult |
listSubscriptionsByTopic(ListSubscriptionsByTopicRequest request)
Returns a list of the subscriptions to a specific topic.
|
ListSubscriptionsByTopicResult |
listSubscriptionsByTopic(String topicArn)
Simplified method form for invoking the ListSubscriptionsByTopic
operation.
|
ListSubscriptionsByTopicResult |
listSubscriptionsByTopic(String topicArn,
String nextToken)
Simplified method form for invoking the ListSubscriptionsByTopic
operation.
|
ListTopicsResult |
listTopics()
Simplified method form for invoking the ListTopics operation.
|
ListTopicsResult |
listTopics(ListTopicsRequest request)
Returns a list of the requester's topics.
|
ListTopicsResult |
listTopics(String nextToken)
Simplified method form for invoking the ListTopics operation.
|
PublishResult |
publish(PublishRequest request)
Sends a message to all of a topic's subscribed endpoints.
|
PublishResult |
publish(String topicArn,
String message)
Simplified method form for invoking the Publish operation.
|
PublishResult |
publish(String topicArn,
String message,
String subject)
Simplified method form for invoking the Publish operation.
|
void |
removePermission(RemovePermissionRequest request)
Removes a statement from a topic's access control policy.
|
void |
removePermission(String topicArn,
String label)
Simplified method form for invoking the RemovePermission operation.
|
void |
setEndpoint(String endpoint)
Overrides the default endpoint for this client
("https://sns.us-east-1.amazonaws.com").
|
void |
setEndpointAttributes(SetEndpointAttributesRequest request)
Sets the attributes for an endpoint for a device on one of the supported
push notification services, such as GCM and APNS.
|
void |
setPlatformApplicationAttributes(SetPlatformApplicationAttributesRequest request)
Sets the attributes of the platform application object for the supported
push notification services, such as APNS and GCM.
|
void |
setRegion(Region region)
An alternative to
AmazonSNS.setEndpoint(String) , sets the
regional endpoint for this client's service calls. |
void |
setSubscriptionAttributes(SetSubscriptionAttributesRequest request)
Allows a subscription owner to set an attribute of the topic to a new
value.
|
void |
setSubscriptionAttributes(String subscriptionArn,
String attributeName,
String attributeValue)
Simplified method form for invoking the SetSubscriptionAttributes
operation.
|
void |
setTopicAttributes(SetTopicAttributesRequest request)
Allows a topic owner to set an attribute of the topic to a new value.
|
void |
setTopicAttributes(String topicArn,
String attributeName,
String attributeValue)
Simplified method form for invoking the SetTopicAttributes operation.
|
void |
shutdown()
Shuts down this client object, releasing any resources that might be held
open.
|
SubscribeResult |
subscribe(String topicArn,
String protocol,
String endpoint)
Simplified method form for invoking the Subscribe operation.
|
SubscribeResult |
subscribe(SubscribeRequest request)
Prepares to subscribe an endpoint by sending the endpoint a confirmation
message.
|
void |
unsubscribe(String subscriptionArn)
Simplified method form for invoking the Unsubscribe operation.
|
void |
unsubscribe(UnsubscribeRequest request)
Deletes a subscription.
|
public void setEndpoint(String endpoint)
AmazonSNS
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.
setEndpoint
in interface AmazonSNS
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.public void setRegion(Region region)
AmazonSNS
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 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.
setRegion
in interface AmazonSNS
region
- The region this client will communicate with. See
Region.getRegion(com.amazonaws.regions.Regions)
for
accessing a given region. Must not be null and must be a region
where the service is available.Region.getRegion(com.amazonaws.regions.Regions)
,
Region.createClient(Class,
com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration)
,
Region.isServiceSupported(String)
public void addPermission(AddPermissionRequest request)
AmazonSNS
Adds a statement to a topic's access control policy, granting access for the specified AWS accounts to the specified actions.
addPermission
in interface AmazonSNS
public void addPermission(String topicArn, String label, List<String> aWSAccountIds, List<String> actionNames)
AmazonSNS
addPermission
in interface AmazonSNS
AmazonSNS.addPermission(AddPermissionRequest)
public ConfirmSubscriptionResult confirmSubscription(ConfirmSubscriptionRequest request)
AmazonSNS
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".
confirmSubscription
in interface AmazonSNS
request
- Input for ConfirmSubscription action.public ConfirmSubscriptionResult confirmSubscription(String topicArn, String token, String authenticateOnUnsubscribe)
AmazonSNS
confirmSubscription
in interface AmazonSNS
AmazonSNS.confirmSubscription(ConfirmSubscriptionRequest)
public ConfirmSubscriptionResult confirmSubscription(String topicArn, String token)
AmazonSNS
confirmSubscription
in interface AmazonSNS
AmazonSNS.confirmSubscription(ConfirmSubscriptionRequest)
public CreatePlatformApplicationResult createPlatformApplication(CreatePlatformApplicationRequest request)
AmazonSNS
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.
createPlatformApplication
in interface AmazonSNS
request
- Input for CreatePlatformApplication action.public CreatePlatformEndpointResult createPlatformEndpoint(CreatePlatformEndpointRequest request)
AmazonSNS
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.
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.
createPlatformEndpoint
in interface AmazonSNS
request
- Input for CreatePlatformEndpoint action.public CreateTopicResult createTopic(CreateTopicRequest request)
AmazonSNS
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.
createTopic
in interface AmazonSNS
request
- Input for CreateTopic action.public CreateTopicResult createTopic(String name)
AmazonSNS
createTopic
in interface AmazonSNS
AmazonSNS.createTopic(CreateTopicRequest)
public void deleteEndpoint(DeleteEndpointRequest request)
AmazonSNS
Deletes the endpoint from Amazon SNS. This action is idempotent. For more information, see Using Amazon SNS Mobile Push Notifications.
deleteEndpoint
in interface AmazonSNS
request
- Input for DeleteEndpoint action.public void deletePlatformApplication(DeletePlatformApplicationRequest request)
AmazonSNS
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.
deletePlatformApplication
in interface AmazonSNS
request
- Input for DeletePlatformApplication action.public void deleteTopic(DeleteTopicRequest request)
AmazonSNS
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.
deleteTopic
in interface AmazonSNS
public void deleteTopic(String topicArn)
AmazonSNS
deleteTopic
in interface AmazonSNS
AmazonSNS.deleteTopic(DeleteTopicRequest)
public GetEndpointAttributesResult getEndpointAttributes(GetEndpointAttributesRequest request)
AmazonSNS
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.
getEndpointAttributes
in interface AmazonSNS
request
- Input for GetEndpointAttributes action.public GetPlatformApplicationAttributesResult getPlatformApplicationAttributes(GetPlatformApplicationAttributesRequest request)
AmazonSNS
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.
getPlatformApplicationAttributes
in interface AmazonSNS
request
- Input for GetPlatformApplicationAttributes action.public GetSubscriptionAttributesResult getSubscriptionAttributes(GetSubscriptionAttributesRequest request)
AmazonSNS
Returns all of the properties of a subscription.
getSubscriptionAttributes
in interface AmazonSNS
request
- Input for GetSubscriptionAttributes.public GetSubscriptionAttributesResult getSubscriptionAttributes(String subscriptionArn)
AmazonSNS
getSubscriptionAttributes
in interface AmazonSNS
AmazonSNS.getSubscriptionAttributes(GetSubscriptionAttributesRequest)
public GetTopicAttributesResult getTopicAttributes(GetTopicAttributesRequest request)
AmazonSNS
Returns all of the properties of a topic. Topic properties returned might differ based on the authorization of the user.
getTopicAttributes
in interface AmazonSNS
request
- Input for GetTopicAttributes action.public GetTopicAttributesResult getTopicAttributes(String topicArn)
AmazonSNS
getTopicAttributes
in interface AmazonSNS
AmazonSNS.getTopicAttributes(GetTopicAttributesRequest)
public ListEndpointsByPlatformApplicationResult listEndpointsByPlatformApplication(ListEndpointsByPlatformApplicationRequest request)
AmazonSNS
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.
listEndpointsByPlatformApplication
in interface AmazonSNS
request
- Input for ListEndpointsByPlatformApplication action.public ListPlatformApplicationsResult listPlatformApplications(ListPlatformApplicationsRequest request)
AmazonSNS
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.
listPlatformApplications
in interface AmazonSNS
request
- Input for ListPlatformApplications action.public ListPlatformApplicationsResult listPlatformApplications()
AmazonSNS
listPlatformApplications
in interface AmazonSNS
AmazonSNS.listPlatformApplications(ListPlatformApplicationsRequest)
public ListSubscriptionsResult listSubscriptions(ListSubscriptionsRequest request)
AmazonSNS
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.
listSubscriptions
in interface AmazonSNS
request
- Input for ListSubscriptions action.public ListSubscriptionsResult listSubscriptions()
AmazonSNS
listSubscriptions
in interface AmazonSNS
AmazonSNS.listSubscriptions(ListSubscriptionsRequest)
public ListSubscriptionsResult listSubscriptions(String nextToken)
AmazonSNS
listSubscriptions
in interface AmazonSNS
AmazonSNS.listSubscriptions(ListSubscriptionsRequest)
public ListSubscriptionsByTopicResult listSubscriptionsByTopic(ListSubscriptionsByTopicRequest request)
AmazonSNS
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.
listSubscriptionsByTopic
in interface AmazonSNS
request
- Input for ListSubscriptionsByTopic action.public ListSubscriptionsByTopicResult listSubscriptionsByTopic(String topicArn)
AmazonSNS
listSubscriptionsByTopic
in interface AmazonSNS
AmazonSNS.listSubscriptionsByTopic(ListSubscriptionsByTopicRequest)
public ListSubscriptionsByTopicResult listSubscriptionsByTopic(String topicArn, String nextToken)
AmazonSNS
listSubscriptionsByTopic
in interface AmazonSNS
AmazonSNS.listSubscriptionsByTopic(ListSubscriptionsByTopicRequest)
public ListTopicsResult listTopics(ListTopicsRequest request)
AmazonSNS
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.
listTopics
in interface AmazonSNS
public ListTopicsResult listTopics()
AmazonSNS
listTopics
in interface AmazonSNS
AmazonSNS.listTopics(ListTopicsRequest)
public ListTopicsResult listTopics(String nextToken)
AmazonSNS
listTopics
in interface AmazonSNS
AmazonSNS.listTopics(ListTopicsRequest)
public PublishResult publish(PublishRequest request)
AmazonSNS
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.
public PublishResult publish(String topicArn, String message)
AmazonSNS
publish
in interface AmazonSNS
AmazonSNS.publish(PublishRequest)
public PublishResult publish(String topicArn, String message, String subject)
AmazonSNS
publish
in interface AmazonSNS
AmazonSNS.publish(PublishRequest)
public void removePermission(RemovePermissionRequest request)
AmazonSNS
Removes a statement from a topic's access control policy.
removePermission
in interface AmazonSNS
request
- Input for RemovePermission action.public void removePermission(String topicArn, String label)
AmazonSNS
removePermission
in interface AmazonSNS
AmazonSNS.removePermission(RemovePermissionRequest)
public void setEndpointAttributes(SetEndpointAttributesRequest request)
AmazonSNS
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.
setEndpointAttributes
in interface AmazonSNS
request
- Input for SetEndpointAttributes action.public void setPlatformApplicationAttributes(SetPlatformApplicationAttributesRequest request)
AmazonSNS
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.
setPlatformApplicationAttributes
in interface AmazonSNS
request
- Input for SetPlatformApplicationAttributes action.public void setSubscriptionAttributes(SetSubscriptionAttributesRequest request)
AmazonSNS
Allows a subscription owner to set an attribute of the topic to a new value.
setSubscriptionAttributes
in interface AmazonSNS
request
- Input for SetSubscriptionAttributes action.public void setSubscriptionAttributes(String subscriptionArn, String attributeName, String attributeValue)
AmazonSNS
setSubscriptionAttributes
in interface AmazonSNS
AmazonSNS.setSubscriptionAttributes(SetSubscriptionAttributesRequest)
public void setTopicAttributes(SetTopicAttributesRequest request)
AmazonSNS
Allows a topic owner to set an attribute of the topic to a new value.
setTopicAttributes
in interface AmazonSNS
request
- Input for SetTopicAttributes action.public void setTopicAttributes(String topicArn, String attributeName, String attributeValue)
AmazonSNS
setTopicAttributes
in interface AmazonSNS
AmazonSNS.setTopicAttributes(SetTopicAttributesRequest)
public SubscribeResult subscribe(SubscribeRequest request)
AmazonSNS
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.
public SubscribeResult subscribe(String topicArn, String protocol, String endpoint)
AmazonSNS
subscribe
in interface AmazonSNS
AmazonSNS.subscribe(SubscribeRequest)
public void unsubscribe(UnsubscribeRequest request)
AmazonSNS
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.
unsubscribe
in interface AmazonSNS
request
- Input for Unsubscribe action.public void unsubscribe(String subscriptionArn)
AmazonSNS
unsubscribe
in interface AmazonSNS
AmazonSNS.unsubscribe(UnsubscribeRequest)
public void shutdown()
AmazonSNS
public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request)
AmazonSNS
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.
getCachedResponseMetadata
in interface AmazonSNS
request
- The originally executed request.Copyright © 2016. All rights reserved.