Table of Contents

Class AmazonSimpleNotificationServiceClient

Namespace
Amazon.SimpleNotificationService
Assembly
AWSSDK.SimpleNotificationService.dll

Implementation for accessing SimpleNotificationService

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 https://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 class AmazonSimpleNotificationServiceClient : AmazonServiceClient, IAmazonSimpleNotificationService, IDisposable, IAmazonService
Inheritance
AmazonSimpleNotificationServiceClient
Implements
IAmazonService

Constructors

AmazonSimpleNotificationServiceClient()

Constructs AmazonSimpleNotificationServiceClient with the credentials loaded from the application's default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.

Example App.config with credentials set.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="AWSProfileName" value="AWS Default"/>
    </appSettings>
</configuration>
public AmazonSimpleNotificationServiceClient()

AmazonSimpleNotificationServiceClient(RegionEndpoint)

Constructs AmazonSimpleNotificationServiceClient with the credentials loaded from the application's default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.

Example App.config with credentials set.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="AWSProfileName" value="AWS Default"/>
    </appSettings>
</configuration>
public AmazonSimpleNotificationServiceClient(RegionEndpoint region)

Parameters

region RegionEndpoint

The region to connect.

AmazonSimpleNotificationServiceClient(AWSCredentials)

Constructs AmazonSimpleNotificationServiceClient with AWS Credentials

public AmazonSimpleNotificationServiceClient(AWSCredentials credentials)

Parameters

credentials AWSCredentials

AWS Credentials

AmazonSimpleNotificationServiceClient(AWSCredentials, RegionEndpoint)

Constructs AmazonSimpleNotificationServiceClient with AWS Credentials

public AmazonSimpleNotificationServiceClient(AWSCredentials credentials, RegionEndpoint region)

Parameters

credentials AWSCredentials

AWS Credentials

region RegionEndpoint

The region to connect.

AmazonSimpleNotificationServiceClient(AWSCredentials, AmazonSimpleNotificationServiceConfig)

Constructs AmazonSimpleNotificationServiceClient with AWS Credentials and an AmazonSimpleNotificationServiceClient Configuration object.

public AmazonSimpleNotificationServiceClient(AWSCredentials credentials, AmazonSimpleNotificationServiceConfig clientConfig)

Parameters

credentials AWSCredentials

AWS Credentials

clientConfig AmazonSimpleNotificationServiceConfig

The AmazonSimpleNotificationServiceClient Configuration Object

AmazonSimpleNotificationServiceClient(AmazonSimpleNotificationServiceConfig)

Constructs AmazonSimpleNotificationServiceClient with the credentials loaded from the application's default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.

Example App.config with credentials set.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="AWSProfileName" value="AWS Default"/>
    </appSettings>
</configuration>
public AmazonSimpleNotificationServiceClient(AmazonSimpleNotificationServiceConfig config)

Parameters

config AmazonSimpleNotificationServiceConfig

The AmazonSimpleNotificationServiceClient Configuration Object

AmazonSimpleNotificationServiceClient(string, string)

Constructs AmazonSimpleNotificationServiceClient with AWS Access Key ID and AWS Secret Key

public AmazonSimpleNotificationServiceClient(string awsAccessKeyId, string awsSecretAccessKey)

Parameters

awsAccessKeyId string

AWS Access Key ID

awsSecretAccessKey string

AWS Secret Access Key

AmazonSimpleNotificationServiceClient(string, string, RegionEndpoint)

Constructs AmazonSimpleNotificationServiceClient with AWS Access Key ID and AWS Secret Key

public AmazonSimpleNotificationServiceClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region)

Parameters

awsAccessKeyId string

AWS Access Key ID

awsSecretAccessKey string

AWS Secret Access Key

region RegionEndpoint

The region to connect.

AmazonSimpleNotificationServiceClient(string, string, AmazonSimpleNotificationServiceConfig)

Constructs AmazonSimpleNotificationServiceClient with AWS Access Key ID, AWS Secret Key and an AmazonSimpleNotificationServiceClient Configuration object.

public AmazonSimpleNotificationServiceClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonSimpleNotificationServiceConfig clientConfig)

Parameters

awsAccessKeyId string

AWS Access Key ID

awsSecretAccessKey string

AWS Secret Access Key

clientConfig AmazonSimpleNotificationServiceConfig

The AmazonSimpleNotificationServiceClient Configuration Object

AmazonSimpleNotificationServiceClient(string, string, string)

Constructs AmazonSimpleNotificationServiceClient with AWS Access Key ID and AWS Secret Key

public AmazonSimpleNotificationServiceClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken)

Parameters

awsAccessKeyId string

AWS Access Key ID

awsSecretAccessKey string

AWS Secret Access Key

awsSessionToken string

AWS Session Token

AmazonSimpleNotificationServiceClient(string, string, string, RegionEndpoint)

Constructs AmazonSimpleNotificationServiceClient with AWS Access Key ID and AWS Secret Key

public AmazonSimpleNotificationServiceClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region)

Parameters

awsAccessKeyId string

AWS Access Key ID

awsSecretAccessKey string

AWS Secret Access Key

awsSessionToken string

AWS Session Token

region RegionEndpoint

The region to connect.

AmazonSimpleNotificationServiceClient(string, string, string, AmazonSimpleNotificationServiceConfig)

Constructs AmazonSimpleNotificationServiceClient with AWS Access Key ID, AWS Secret Key and an AmazonSimpleNotificationServiceClient Configuration object.

public AmazonSimpleNotificationServiceClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonSimpleNotificationServiceConfig clientConfig)

Parameters

awsAccessKeyId string

AWS Access Key ID

awsSecretAccessKey string

AWS Secret Access Key

awsSessionToken string

AWS Session Token

clientConfig AmazonSimpleNotificationServiceConfig

The AmazonSimpleNotificationServiceClient Configuration Object

Properties

Paginators

Paginators for the service

public ISimpleNotificationServicePaginatorFactory Paginators { get; }

Property Value

ISimpleNotificationServicePaginatorFactory

ServiceMetadata

Capture metadata for the service.

protected override IServiceMetadata ServiceMetadata { get; }

Property Value

IServiceMetadata

Methods

AddPermissionAsync(AddPermissionRequest, CancellationToken)

Adds a statement to a topic's access control policy, granting access for the specified AWS accounts to the specified actions.

public virtual Task<AddPermissionResponse> AddPermissionAsync(AddPermissionRequest request, CancellationToken cancellationToken = default)

Parameters

request AddPermissionRequest

Container for the necessary parameters to execute the AddPermission service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<AddPermissionResponse>

The response from the AddPermission service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

NotFoundException

Indicates that the requested resource does not exist.

See Also

AddPermissionAsync(string, string, List<string>, List<string>, CancellationToken)

Adds a statement to a topic's access control policy, granting access for the specified AWS accounts to the specified actions.

public virtual Task<AddPermissionResponse> AddPermissionAsync(string topicArn, string label, List<string> awsAccountId, List<string> actionName, CancellationToken cancellationToken = default)

Parameters

topicArn string

The ARN of the topic whose access control policy you wish to modify.

label string

A unique identifier for the new policy statement.

awsAccountId List<string>

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.

actionName List<string>

The action you want to allow for the specified principal(s). Valid values: Any Amazon SNS action name, for example

Publish
.
cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<AddPermissionResponse>

The response from the AddPermission service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

NotFoundException

Indicates that the requested resource does not exist.

See Also

AuthorizeS3ToPublishAsync(string, string)

This is a utility method which updates the policy of a topic to allow the S3 bucket to publish events to it.

public Task AuthorizeS3ToPublishAsync(string topicArn, string bucket)

Parameters

topicArn string

The topic that will have its policy updated.

bucket string

The bucket that will be given access to publish from.

Returns

Task

A Task

CheckIfPhoneNumberIsOptedOutAsync(CheckIfPhoneNumberIsOptedOutRequest, CancellationToken)

Accepts a phone number and indicates whether the phone holder has opted out of receiving SMS messages from your account. You cannot send SMS messages to a number that is opted out.

To resume sending messages, you can opt in the number by using the

OptInPhoneNumber
action.
public virtual Task<CheckIfPhoneNumberIsOptedOutResponse> CheckIfPhoneNumberIsOptedOutAsync(CheckIfPhoneNumberIsOptedOutRequest request, CancellationToken cancellationToken = default)

Parameters

request CheckIfPhoneNumberIsOptedOutRequest

Container for the necessary parameters to execute the CheckIfPhoneNumberIsOptedOut service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<CheckIfPhoneNumberIsOptedOutResponse>

The response from the CheckIfPhoneNumberIsOptedOut service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

ThrottledException

Indicates that the rate at which requests have been submitted for this action exceeds the limit for your account.

See Also

ConfirmSubscriptionAsync(ConfirmSubscriptionRequest, CancellationToken)

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".
public virtual Task<ConfirmSubscriptionResponse> ConfirmSubscriptionAsync(ConfirmSubscriptionRequest request, CancellationToken cancellationToken = default)

Parameters

request ConfirmSubscriptionRequest

Container for the necessary parameters to execute the ConfirmSubscription service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<ConfirmSubscriptionResponse>

The response from the ConfirmSubscription service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

FilterPolicyLimitExceededException

Indicates that the number of filter polices in your AWS account exceeds the limit. To add more filter polices, submit an SNS Limit Increase case in the AWS Support Center.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

NotFoundException

Indicates that the requested resource does not exist.

SubscriptionLimitExceededException

Indicates that the customer already owns the maximum allowed number of subscriptions.

See Also

ConfirmSubscriptionAsync(string, string, string, CancellationToken)

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".
public virtual Task<ConfirmSubscriptionResponse> ConfirmSubscriptionAsync(string topicArn, string token, string authenticateOnUnsubscribe, CancellationToken cancellationToken = default)

Parameters

topicArn string

The ARN of the topic for which you wish to confirm a subscription.

token string

Short-lived token sent to an endpoint during the

Subscribe
action.
authenticateOnUnsubscribe string

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.
cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<ConfirmSubscriptionResponse>

The response from the ConfirmSubscription service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

FilterPolicyLimitExceededException

Indicates that the number of filter polices in your AWS account exceeds the limit. To add more filter polices, submit an SNS Limit Increase case in the AWS Support Center.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

NotFoundException

Indicates that the requested resource does not exist.

SubscriptionLimitExceededException

Indicates that the customer already owns the maximum allowed number of subscriptions.

See Also

ConfirmSubscriptionAsync(string, string, CancellationToken)

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".
public virtual Task<ConfirmSubscriptionResponse> ConfirmSubscriptionAsync(string topicArn, string token, CancellationToken cancellationToken = default)

Parameters

topicArn string

The ARN of the topic for which you wish to confirm a subscription.

token string

Short-lived token sent to an endpoint during the

Subscribe
action.
cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<ConfirmSubscriptionResponse>

The response from the ConfirmSubscription service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

FilterPolicyLimitExceededException

Indicates that the number of filter polices in your AWS account exceeds the limit. To add more filter polices, submit an SNS Limit Increase case in the AWS Support Center.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

NotFoundException

Indicates that the requested resource does not exist.

SubscriptionLimitExceededException

Indicates that the customer already owns the maximum allowed number of subscriptions.

See Also

CreatePlatformApplicationAsync(CreatePlatformApplicationRequest, CancellationToken)

Creates a platform application object for one of the supported push notification services, such as APNS and GCM (Firebase Cloud Messaging), to which devices and mobile apps may register. You must specify

PlatformPrincipal
and
PlatformCredential
attributes when using the
CreatePlatformApplication
action.

PlatformPrincipal
and
PlatformCredential
are received from the notification service.
  • For

    ADM
    ,
    PlatformPrincipal
    is
    client id
    and
    PlatformCredential
    is
    client secret
    .
  • For

    Baidu
    ,
    PlatformPrincipal
    is
    API key
    and
    PlatformCredential
    is
    secret key
    .
  • For

    APNS
    and
    APNS_SANDBOX
    ,
    PlatformPrincipal
    is
    SSL certificate
    and
    PlatformCredential
    is
    private
                                                                                       key
    .
  • For

    GCM
    (Firebase Cloud Messaging), there is no
    PlatformPrincipal
    and the
    PlatformCredential
    is
    API key
    .
  • For

    MPNS
    ,
    PlatformPrincipal
    is
    TLS certificate
    and
    PlatformCredential
    is
    private key
    .
  • For

    WNS
    ,
    PlatformPrincipal
    is
    Package Security Identifier
    and
    PlatformCredential
    is
    secret key
    .

You can use the returned

PlatformApplicationArn
as an attribute for the
CreatePlatformEndpoint
action.
public virtual Task<CreatePlatformApplicationResponse> CreatePlatformApplicationAsync(CreatePlatformApplicationRequest request, CancellationToken cancellationToken = default)

Parameters

request CreatePlatformApplicationRequest

Container for the necessary parameters to execute the CreatePlatformApplication service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<CreatePlatformApplicationResponse>

The response from the CreatePlatformApplication service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

See Also

CreatePlatformEndpointAsync(CreatePlatformEndpointRequest, CancellationToken)

Creates an endpoint for a device and mobile app on one of the supported push notification services, such as GCM (Firebase Cloud Messaging) and APNS.

CreatePlatformEndpoint
requires the
PlatformApplicationArn
that is returned from
CreatePlatformApplication
. You can use the returned
EndpointArn
to send a message to a mobile app or by the
Subscribe
action for subscription to a topic. The
CreatePlatformEndpoint
action is idempotent, so if the requester already owns an endpoint with the same device token and attributes, that endpoint's ARN is returned without creating a new endpoint. For more information, see Using Amazon SNS Mobile Push Notifications.

When using

CreatePlatformEndpoint
with Baidu, two attributes must be provided: ChannelId and UserId. The token field must also contain the ChannelId. For more information, see Creating an Amazon SNS Endpoint for Baidu.
public virtual Task<CreatePlatformEndpointResponse> CreatePlatformEndpointAsync(CreatePlatformEndpointRequest request, CancellationToken cancellationToken = default)

Parameters

request CreatePlatformEndpointRequest

Container for the necessary parameters to execute the CreatePlatformEndpoint service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<CreatePlatformEndpointResponse>

The response from the CreatePlatformEndpoint service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

NotFoundException

Indicates that the requested resource does not exist.

See Also

CreateSigner()

Creates the signer for the service.

protected override AbstractAWSSigner CreateSigner()

Returns

AbstractAWSSigner

CreateTopicAsync(CreateTopicRequest, CancellationToken)

Creates a topic to which notifications can be published. Users can create at most 100,000 standard topics (at most 1,000 FIFO topics). For more information, see https://aws.amazon.com/sns. This action is idempotent, so if the requester already owns a topic with the specified name, that topic's ARN is returned without creating a new topic.

public virtual Task<CreateTopicResponse> CreateTopicAsync(CreateTopicRequest request, CancellationToken cancellationToken = default)

Parameters

request CreateTopicRequest

Container for the necessary parameters to execute the CreateTopic service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<CreateTopicResponse>

The response from the CreateTopic service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

ConcurrentAccessException

Can't perform multiple operations on a tag simultaneously. Perform the operations sequentially.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

InvalidSecurityException

The credential signature isn't valid. You must use an HTTPS endpoint and sign your request using Signature Version 4.

StaleTagException

A tag has been added to a resource with the same ARN as a deleted resource. Wait a short while and then retry the operation.

TagLimitExceededException

Can't add more than 50 tags to a topic.

TagPolicyException

The request doesn't comply with the IAM tag policy. Correct your request and then retry it.

TopicLimitExceededException

Indicates that the customer already owns the maximum allowed number of topics.

See Also

CreateTopicAsync(string, CancellationToken)

Creates a topic to which notifications can be published. Users can create at most 100,000 standard topics (at most 1,000 FIFO topics). For more information, see https://aws.amazon.com/sns. This action is idempotent, so if the requester already owns a topic with the specified name, that topic's ARN is returned without creating a new topic.

public virtual Task<CreateTopicResponse> CreateTopicAsync(string name, CancellationToken cancellationToken = default)

Parameters

name string

The name of the topic you want to create. Constraints: Topic names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long. For a FIFO (first-in-first-out) topic, the name must end with the

.fifo
suffix.
cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<CreateTopicResponse>

The response from the CreateTopic service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

ConcurrentAccessException

Can't perform multiple operations on a tag simultaneously. Perform the operations sequentially.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

InvalidSecurityException

The credential signature isn't valid. You must use an HTTPS endpoint and sign your request using Signature Version 4.

StaleTagException

A tag has been added to a resource with the same ARN as a deleted resource. Wait a short while and then retry the operation.

TagLimitExceededException

Can't add more than 50 tags to a topic.

TagPolicyException

The request doesn't comply with the IAM tag policy. Correct your request and then retry it.

TopicLimitExceededException

Indicates that the customer already owns the maximum allowed number of topics.

See Also

DeleteEndpointAsync(DeleteEndpointRequest, CancellationToken)

Deletes the endpoint for a device and mobile app from Amazon SNS. This action is idempotent. For more information, see Using Amazon SNS Mobile Push Notifications.

When you delete an endpoint that is also subscribed to a topic, then you must also unsubscribe the endpoint from the topic.

public virtual Task<DeleteEndpointResponse> DeleteEndpointAsync(DeleteEndpointRequest request, CancellationToken cancellationToken = default)

Parameters

request DeleteEndpointRequest

Container for the necessary parameters to execute the DeleteEndpoint service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<DeleteEndpointResponse>

The response from the DeleteEndpoint service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

See Also

DeletePlatformApplicationAsync(DeletePlatformApplicationRequest, CancellationToken)

Deletes a platform application object for one of the supported push notification services, such as APNS and GCM (Firebase Cloud Messaging). For more information, see Using Amazon SNS Mobile Push Notifications.

public virtual Task<DeletePlatformApplicationResponse> DeletePlatformApplicationAsync(DeletePlatformApplicationRequest request, CancellationToken cancellationToken = default)

Parameters

request DeletePlatformApplicationRequest

Container for the necessary parameters to execute the DeletePlatformApplication service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<DeletePlatformApplicationResponse>

The response from the DeletePlatformApplication service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

See Also

DeleteTopicAsync(DeleteTopicRequest, CancellationToken)

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.

public virtual Task<DeleteTopicResponse> DeleteTopicAsync(DeleteTopicRequest request, CancellationToken cancellationToken = default)

Parameters

request DeleteTopicRequest

Container for the necessary parameters to execute the DeleteTopic service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<DeleteTopicResponse>

The response from the DeleteTopic service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

ConcurrentAccessException

Can't perform multiple operations on a tag simultaneously. Perform the operations sequentially.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

NotFoundException

Indicates that the requested resource does not exist.

StaleTagException

A tag has been added to a resource with the same ARN as a deleted resource. Wait a short while and then retry the operation.

TagPolicyException

The request doesn't comply with the IAM tag policy. Correct your request and then retry it.

See Also

DeleteTopicAsync(string, CancellationToken)

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.

public virtual Task<DeleteTopicResponse> DeleteTopicAsync(string topicArn, CancellationToken cancellationToken = default)

Parameters

topicArn string

The ARN of the topic you want to delete.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<DeleteTopicResponse>

The response from the DeleteTopic service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

ConcurrentAccessException

Can't perform multiple operations on a tag simultaneously. Perform the operations sequentially.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

NotFoundException

Indicates that the requested resource does not exist.

StaleTagException

A tag has been added to a resource with the same ARN as a deleted resource. Wait a short while and then retry the operation.

TagPolicyException

The request doesn't comply with the IAM tag policy. Correct your request and then retry it.

See Also

Dispose(bool)

Disposes the service client.

protected override void Dispose(bool disposing)

Parameters

disposing bool

FindTopicAsync(string)

Finds an existing Amazon SNS topic by iterating all SNS topics until a match is found asynchronously.

The ListTopics method is used to fetch upto 100 SNS topics at a time until a SNS topic with an TopicArn that matches topicName is found.

public Task<Topic> FindTopicAsync(string topicName)

Parameters

topicName string

The name of the topic find

Returns

Task<Topic>

A Task containing the matched SNS topic.

GetEndpointAttributesAsync(GetEndpointAttributesRequest, CancellationToken)

Retrieves the endpoint attributes for a device on one of the supported push notification services, such as GCM (Firebase Cloud Messaging) and APNS. For more information, see Using Amazon SNS Mobile Push Notifications.

public virtual Task<GetEndpointAttributesResponse> GetEndpointAttributesAsync(GetEndpointAttributesRequest request, CancellationToken cancellationToken = default)

Parameters

request GetEndpointAttributesRequest

Container for the necessary parameters to execute the GetEndpointAttributes service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<GetEndpointAttributesResponse>

The response from the GetEndpointAttributes service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

NotFoundException

Indicates that the requested resource does not exist.

See Also

GetPlatformApplicationAttributesAsync(GetPlatformApplicationAttributesRequest, CancellationToken)

Retrieves the attributes of the platform application object for the supported push notification services, such as APNS and GCM (Firebase Cloud Messaging). For more information, see Using Amazon SNS Mobile Push Notifications.

public virtual Task<GetPlatformApplicationAttributesResponse> GetPlatformApplicationAttributesAsync(GetPlatformApplicationAttributesRequest request, CancellationToken cancellationToken = default)

Parameters

request GetPlatformApplicationAttributesRequest

Container for the necessary parameters to execute the GetPlatformApplicationAttributes service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<GetPlatformApplicationAttributesResponse>

The response from the GetPlatformApplicationAttributes service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

NotFoundException

Indicates that the requested resource does not exist.

See Also

GetSMSAttributesAsync(GetSMSAttributesRequest, CancellationToken)

Returns the settings for sending SMS messages from your account.

These settings are set with the

SetSMSAttributes
action.
public virtual Task<GetSMSAttributesResponse> GetSMSAttributesAsync(GetSMSAttributesRequest request, CancellationToken cancellationToken = default)

Parameters

request GetSMSAttributesRequest

Container for the necessary parameters to execute the GetSMSAttributes service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<GetSMSAttributesResponse>

The response from the GetSMSAttributes service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

ThrottledException

Indicates that the rate at which requests have been submitted for this action exceeds the limit for your account.

See Also

GetSubscriptionAttributesAsync(GetSubscriptionAttributesRequest, CancellationToken)

Returns all of the properties of a subscription.

public virtual Task<GetSubscriptionAttributesResponse> GetSubscriptionAttributesAsync(GetSubscriptionAttributesRequest request, CancellationToken cancellationToken = default)

Parameters

request GetSubscriptionAttributesRequest

Container for the necessary parameters to execute the GetSubscriptionAttributes service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<GetSubscriptionAttributesResponse>

The response from the GetSubscriptionAttributes service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

NotFoundException

Indicates that the requested resource does not exist.

See Also

GetSubscriptionAttributesAsync(string, CancellationToken)

Returns all of the properties of a subscription.

public virtual Task<GetSubscriptionAttributesResponse> GetSubscriptionAttributesAsync(string subscriptionArn, CancellationToken cancellationToken = default)

Parameters

subscriptionArn string

The ARN of the subscription whose properties you want to get.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<GetSubscriptionAttributesResponse>

The response from the GetSubscriptionAttributes service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

NotFoundException

Indicates that the requested resource does not exist.

See Also

GetTopicAttributesAsync(GetTopicAttributesRequest, CancellationToken)

Returns all of the properties of a topic. Topic properties returned might differ based on the authorization of the user.

public virtual Task<GetTopicAttributesResponse> GetTopicAttributesAsync(GetTopicAttributesRequest request, CancellationToken cancellationToken = default)

Parameters

request GetTopicAttributesRequest

Container for the necessary parameters to execute the GetTopicAttributes service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<GetTopicAttributesResponse>

The response from the GetTopicAttributes service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

InvalidSecurityException

The credential signature isn't valid. You must use an HTTPS endpoint and sign your request using Signature Version 4.

NotFoundException

Indicates that the requested resource does not exist.

See Also

GetTopicAttributesAsync(string, CancellationToken)

Returns all of the properties of a topic. Topic properties returned might differ based on the authorization of the user.

public virtual Task<GetTopicAttributesResponse> GetTopicAttributesAsync(string topicArn, CancellationToken cancellationToken = default)

Parameters

topicArn string

The ARN of the topic whose properties you want to get.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<GetTopicAttributesResponse>

The response from the GetTopicAttributes service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

InvalidSecurityException

The credential signature isn't valid. You must use an HTTPS endpoint and sign your request using Signature Version 4.

NotFoundException

Indicates that the requested resource does not exist.

See Also

ListEndpointsByPlatformApplicationAsync(ListEndpointsByPlatformApplicationRequest, CancellationToken)

Lists the endpoints and endpoint attributes for devices in a supported push notification service, such as GCM (Firebase Cloud Messaging) and APNS. The results for

ListEndpointsByPlatformApplication
are paginated and return a limited list of endpoints, up to 100. If additional records are available after the first page results, then a NextToken string will be returned. To receive the next page, you call
ListEndpointsByPlatformApplication
again using the NextToken string received from the previous call. When there are no more records to return, NextToken will be null. For more information, see Using Amazon SNS Mobile Push Notifications.

This action is throttled at 30 transactions per second (TPS).

public virtual Task<ListEndpointsByPlatformApplicationResponse> ListEndpointsByPlatformApplicationAsync(ListEndpointsByPlatformApplicationRequest request, CancellationToken cancellationToken = default)

Parameters

request ListEndpointsByPlatformApplicationRequest

Container for the necessary parameters to execute the ListEndpointsByPlatformApplication service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<ListEndpointsByPlatformApplicationResponse>

The response from the ListEndpointsByPlatformApplication service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

NotFoundException

Indicates that the requested resource does not exist.

See Also

ListPhoneNumbersOptedOutAsync(ListPhoneNumbersOptedOutRequest, CancellationToken)

Returns a list of phone numbers that are opted out, meaning you cannot send SMS messages to them.

The results for

ListPhoneNumbersOptedOut
are paginated, and each page returns up to 100 phone numbers. If additional phone numbers are available after the first page of results, then a
NextToken
string will be returned. To receive the next page, you call
ListPhoneNumbersOptedOut
again using the
NextToken
string received from the previous call. When there are no more records to return,
NextToken
will be null.
public virtual Task<ListPhoneNumbersOptedOutResponse> ListPhoneNumbersOptedOutAsync(ListPhoneNumbersOptedOutRequest request, CancellationToken cancellationToken = default)

Parameters

request ListPhoneNumbersOptedOutRequest

Container for the necessary parameters to execute the ListPhoneNumbersOptedOut service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<ListPhoneNumbersOptedOutResponse>

The response from the ListPhoneNumbersOptedOut service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

ThrottledException

Indicates that the rate at which requests have been submitted for this action exceeds the limit for your account.

See Also

ListPlatformApplicationsAsync(ListPlatformApplicationsRequest, CancellationToken)

Lists the platform application objects for the supported push notification services, such as APNS and GCM (Firebase Cloud Messaging). The results for

ListPlatformApplications
are paginated and return a limited list of applications, up to 100. If additional records are available after the first page results, then a NextToken string will be returned. To receive the next page, you call
ListPlatformApplications
using the NextToken string received from the previous call. When there are no more records to return,
NextToken
will be null. For more information, see Using Amazon SNS Mobile Push Notifications.

This action is throttled at 15 transactions per second (TPS).

public virtual Task<ListPlatformApplicationsResponse> ListPlatformApplicationsAsync(ListPlatformApplicationsRequest request, CancellationToken cancellationToken = default)

Parameters

request ListPlatformApplicationsRequest

Container for the necessary parameters to execute the ListPlatformApplications service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<ListPlatformApplicationsResponse>

The response from the ListPlatformApplications service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

See Also

ListPlatformApplicationsAsync(CancellationToken)

Lists the platform application objects for the supported push notification services, such as APNS and GCM (Firebase Cloud Messaging). The results for

ListPlatformApplications
are paginated and return a limited list of applications, up to 100. If additional records are available after the first page results, then a NextToken string will be returned. To receive the next page, you call
ListPlatformApplications
using the NextToken string received from the previous call. When there are no more records to return,
NextToken
will be null. For more information, see Using Amazon SNS Mobile Push Notifications.

This action is throttled at 15 transactions per second (TPS).

public virtual Task<ListPlatformApplicationsResponse> ListPlatformApplicationsAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<ListPlatformApplicationsResponse>

The response from the ListPlatformApplications service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

See Also

ListSubscriptionsAsync(ListSubscriptionsRequest, CancellationToken)

Returns a list of the requester's subscriptions. Each call returns a limited list of subscriptions, up to 100. If there are more subscriptions, a

NextToken
is also returned. Use the
NextToken
parameter in a new
ListSubscriptions
call to get further results.

This action is throttled at 30 transactions per second (TPS).

public virtual Task<ListSubscriptionsResponse> ListSubscriptionsAsync(ListSubscriptionsRequest request, CancellationToken cancellationToken = default)

Parameters

request ListSubscriptionsRequest

Container for the necessary parameters to execute the ListSubscriptions service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<ListSubscriptionsResponse>

The response from the ListSubscriptions service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

See Also

ListSubscriptionsAsync(string, CancellationToken)

Returns a list of the requester's subscriptions. Each call returns a limited list of subscriptions, up to 100. If there are more subscriptions, a

NextToken
is also returned. Use the
NextToken
parameter in a new
ListSubscriptions
call to get further results.

This action is throttled at 30 transactions per second (TPS).

public virtual Task<ListSubscriptionsResponse> ListSubscriptionsAsync(string nextToken, CancellationToken cancellationToken = default)

Parameters

nextToken string

Token returned by the previous

ListSubscriptions
request.
cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<ListSubscriptionsResponse>

The response from the ListSubscriptions service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

See Also

ListSubscriptionsAsync(CancellationToken)

Returns a list of the requester's subscriptions. Each call returns a limited list of subscriptions, up to 100. If there are more subscriptions, a

NextToken
is also returned. Use the
NextToken
parameter in a new
ListSubscriptions
call to get further results.

This action is throttled at 30 transactions per second (TPS).

public virtual Task<ListSubscriptionsResponse> ListSubscriptionsAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<ListSubscriptionsResponse>

The response from the ListSubscriptions service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

See Also

ListSubscriptionsByTopicAsync(ListSubscriptionsByTopicRequest, CancellationToken)

Returns a list of the subscriptions to a specific topic. Each call returns a limited list of subscriptions, up to 100. If there are more subscriptions, a

NextToken
is also returned. Use the
NextToken
parameter in a new
ListSubscriptionsByTopic
call to get further results.

This action is throttled at 30 transactions per second (TPS).

public virtual Task<ListSubscriptionsByTopicResponse> ListSubscriptionsByTopicAsync(ListSubscriptionsByTopicRequest request, CancellationToken cancellationToken = default)

Parameters

request ListSubscriptionsByTopicRequest

Container for the necessary parameters to execute the ListSubscriptionsByTopic service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<ListSubscriptionsByTopicResponse>

The response from the ListSubscriptionsByTopic service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

NotFoundException

Indicates that the requested resource does not exist.

See Also

ListSubscriptionsByTopicAsync(string, string, CancellationToken)

Returns a list of the subscriptions to a specific topic. Each call returns a limited list of subscriptions, up to 100. If there are more subscriptions, a

NextToken
is also returned. Use the
NextToken
parameter in a new
ListSubscriptionsByTopic
call to get further results.

This action is throttled at 30 transactions per second (TPS).

public virtual Task<ListSubscriptionsByTopicResponse> ListSubscriptionsByTopicAsync(string topicArn, string nextToken, CancellationToken cancellationToken = default)

Parameters

topicArn string

The ARN of the topic for which you wish to find subscriptions.

nextToken string

Token returned by the previous

ListSubscriptionsByTopic
request.
cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<ListSubscriptionsByTopicResponse>

The response from the ListSubscriptionsByTopic service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

NotFoundException

Indicates that the requested resource does not exist.

See Also

ListSubscriptionsByTopicAsync(string, CancellationToken)

Returns a list of the subscriptions to a specific topic. Each call returns a limited list of subscriptions, up to 100. If there are more subscriptions, a

NextToken
is also returned. Use the
NextToken
parameter in a new
ListSubscriptionsByTopic
call to get further results.

This action is throttled at 30 transactions per second (TPS).

public virtual Task<ListSubscriptionsByTopicResponse> ListSubscriptionsByTopicAsync(string topicArn, CancellationToken cancellationToken = default)

Parameters

topicArn string

The ARN of the topic for which you wish to find subscriptions.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<ListSubscriptionsByTopicResponse>

The response from the ListSubscriptionsByTopic service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

NotFoundException

Indicates that the requested resource does not exist.

See Also

ListTagsForResourceAsync(ListTagsForResourceRequest, CancellationToken)

List all tags added to the specified Amazon SNS topic. For an overview, see Amazon SNS Tags in the Amazon Simple Notification Service Developer Guide.

public virtual Task<ListTagsForResourceResponse> ListTagsForResourceAsync(ListTagsForResourceRequest request, CancellationToken cancellationToken = default)

Parameters

request ListTagsForResourceRequest

Container for the necessary parameters to execute the ListTagsForResource service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<ListTagsForResourceResponse>

The response from the ListTagsForResource service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

ConcurrentAccessException

Can't perform multiple operations on a tag simultaneously. Perform the operations sequentially.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

ResourceNotFoundException

Can't tag resource. Verify that the topic exists.

TagPolicyException

The request doesn't comply with the IAM tag policy. Correct your request and then retry it.

See Also

ListTopicsAsync(ListTopicsRequest, CancellationToken)

Returns a list of the requester's topics. Each call returns a limited list of topics, up to 100. If there are more topics, a

NextToken
is also returned. Use the
NextToken
parameter in a new
ListTopics
call to get further results.

This action is throttled at 30 transactions per second (TPS).

public virtual Task<ListTopicsResponse> ListTopicsAsync(ListTopicsRequest request, CancellationToken cancellationToken = default)

Parameters

request ListTopicsRequest

Container for the necessary parameters to execute the ListTopics service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<ListTopicsResponse>

The response from the ListTopics service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

See Also

ListTopicsAsync(string, CancellationToken)

Returns a list of the requester's topics. Each call returns a limited list of topics, up to 100. If there are more topics, a

NextToken
is also returned. Use the
NextToken
parameter in a new
ListTopics
call to get further results.

This action is throttled at 30 transactions per second (TPS).

public virtual Task<ListTopicsResponse> ListTopicsAsync(string nextToken, CancellationToken cancellationToken = default)

Parameters

nextToken string

Token returned by the previous

ListTopics
request.
cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<ListTopicsResponse>

The response from the ListTopics service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

See Also

ListTopicsAsync(CancellationToken)

Returns a list of the requester's topics. Each call returns a limited list of topics, up to 100. If there are more topics, a

NextToken
is also returned. Use the
NextToken
parameter in a new
ListTopics
call to get further results.

This action is throttled at 30 transactions per second (TPS).

public virtual Task<ListTopicsResponse> ListTopicsAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<ListTopicsResponse>

The response from the ListTopics service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

See Also

OptInPhoneNumberAsync(OptInPhoneNumberRequest, CancellationToken)

Use this request to opt in a phone number that is opted out, which enables you to resume sending SMS messages to the number.

You can opt in a phone number only once every 30 days.

public virtual Task<OptInPhoneNumberResponse> OptInPhoneNumberAsync(OptInPhoneNumberRequest request, CancellationToken cancellationToken = default)

Parameters

request OptInPhoneNumberRequest

Container for the necessary parameters to execute the OptInPhoneNumber service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<OptInPhoneNumberResponse>

The response from the OptInPhoneNumber service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

ThrottledException

Indicates that the rate at which requests have been submitted for this action exceeds the limit for your account.

See Also

PublishAsync(PublishRequest, CancellationToken)

Sends a message to an Amazon SNS topic, a text message (SMS message) directly to a phone number, or a message to a mobile platform endpoint (when you specify the

TargetArn
).

If you send a message to a topic, Amazon SNS delivers the message to each endpoint that is subscribed to the topic. The format of the message depends on the notification protocol for each subscribed endpoint.

When a

messageId
is returned, the message has been saved and Amazon SNS will attempt to deliver it shortly.

To use the

Publish
action for sending a message to a mobile endpoint, such as an app on a Kindle device or mobile phone, you must specify the EndpointArn for the TargetArn parameter. The EndpointArn is returned when making a call with the
CreatePlatformEndpoint
action.

For more information about formatting messages, see Send Custom Platform-Specific Payloads in Messages to Mobile Devices.

You can publish messages only to topics and endpoints in the same AWS Region.

public virtual Task<PublishResponse> PublishAsync(PublishRequest request, CancellationToken cancellationToken = default)

Parameters

request PublishRequest

Container for the necessary parameters to execute the Publish service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<PublishResponse>

The response from the Publish service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

EndpointDisabledException

Exception error indicating endpoint disabled.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

InvalidParameterValueException

Indicates that a request parameter does not comply with the associated constraints.

InvalidSecurityException

The credential signature isn't valid. You must use an HTTPS endpoint and sign your request using Signature Version 4.

KMSAccessDeniedException

The ciphertext references a key that doesn't exist or that you don't have access to.

KMSDisabledException

The request was rejected because the specified customer master key (CMK) isn't enabled.

KMSInvalidStateException

The request was rejected because the state of the specified resource isn't valid for this request. For more information, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

KMSNotFoundException

The request was rejected because the specified entity or resource can't be found.

KMSOptInRequiredException

The AWS access key ID needs a subscription for the service.

KMSThrottlingException

The request was denied due to request throttling. For more information about throttling, see Limits in the AWS Key Management Service Developer Guide.

NotFoundException

Indicates that the requested resource does not exist.

PlatformApplicationDisabledException

Exception error indicating platform application disabled.

See Also

PublishAsync(string, string, string, CancellationToken)

Sends a message to an Amazon SNS topic, a text message (SMS message) directly to a phone number, or a message to a mobile platform endpoint (when you specify the

TargetArn
).

If you send a message to a topic, Amazon SNS delivers the message to each endpoint that is subscribed to the topic. The format of the message depends on the notification protocol for each subscribed endpoint.

When a

messageId
is returned, the message has been saved and Amazon SNS will attempt to deliver it shortly.

To use the

Publish
action for sending a message to a mobile endpoint, such as an app on a Kindle device or mobile phone, you must specify the EndpointArn for the TargetArn parameter. The EndpointArn is returned when making a call with the
CreatePlatformEndpoint
action.

For more information about formatting messages, see Send Custom Platform-Specific Payloads in Messages to Mobile Devices.

You can publish messages only to topics and endpoints in the same AWS Region.

public virtual Task<PublishResponse> PublishAsync(string topicArn, string message, string subject, CancellationToken cancellationToken = default)

Parameters

topicArn string

The topic you want to publish to. If you don't specify a value for the

TopicArn
parameter, you must specify a value for the
PhoneNumber
or
TargetArn
parameters.
message string

The message you want to send. If you are publishing to a topic and you want to send the same message to all transport protocols, include the text of the message as a String value. If you want to send different messages for each transport protocol, set the value of the

MessageStructure
parameter to
json
and use a JSON object for the
Message
parameter.

Constraints:
  • With the exception of SMS, messages must be UTF-8 encoded strings and at most 256 KB in size (262,144 bytes, not 262,144 characters).
  • For SMS, each message can contain up to 140 characters. This character limit depends on the encoding schema. For example, an SMS message can contain 160 GSM characters, 140 ASCII characters, or 70 UCS-2 characters. If you publish a message that exceeds this size limit, Amazon SNS sends the message as multiple messages, each fitting within the size limit. Messages aren't truncated mid-word but are cut off at whole-word boundaries. The total size limit for a single SMS
    Publish
    action is 1,600 characters.
JSON-specific constraints:
  • Keys in the JSON object that correspond to supported transport protocols must have simple JSON string values.
  • The values will be parsed (unescaped) before they are used in outgoing messages.
  • Outbound notifications are JSON encoded (meaning that the characters will be reescaped for sending).
  • Values have a minimum length of 0 (the empty string, "", is allowed).
  • Values have a maximum length bounded by the overall message size (so, including multiple protocols may limit message sizes).
  • Non-string values will cause the key to be ignored.
  • Keys that do not correspond to supported transport protocols are ignored.
  • Duplicate keys are not allowed.
  • Failure to parse or validate any key or value in the message will cause the
    Publish
    call to return an error (no partial delivery).
subject string

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.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<PublishResponse>

The response from the Publish service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

EndpointDisabledException

Exception error indicating endpoint disabled.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

InvalidParameterValueException

Indicates that a request parameter does not comply with the associated constraints.

InvalidSecurityException

The credential signature isn't valid. You must use an HTTPS endpoint and sign your request using Signature Version 4.

KMSAccessDeniedException

The ciphertext references a key that doesn't exist or that you don't have access to.

KMSDisabledException

The request was rejected because the specified customer master key (CMK) isn't enabled.

KMSInvalidStateException

The request was rejected because the state of the specified resource isn't valid for this request. For more information, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

KMSNotFoundException

The request was rejected because the specified entity or resource can't be found.

KMSOptInRequiredException

The AWS access key ID needs a subscription for the service.

KMSThrottlingException

The request was denied due to request throttling. For more information about throttling, see Limits in the AWS Key Management Service Developer Guide.

NotFoundException

Indicates that the requested resource does not exist.

PlatformApplicationDisabledException

Exception error indicating platform application disabled.

See Also

PublishAsync(string, string, CancellationToken)

Sends a message to an Amazon SNS topic, a text message (SMS message) directly to a phone number, or a message to a mobile platform endpoint (when you specify the

TargetArn
).

If you send a message to a topic, Amazon SNS delivers the message to each endpoint that is subscribed to the topic. The format of the message depends on the notification protocol for each subscribed endpoint.

When a

messageId
is returned, the message has been saved and Amazon SNS will attempt to deliver it shortly.

To use the

Publish
action for sending a message to a mobile endpoint, such as an app on a Kindle device or mobile phone, you must specify the EndpointArn for the TargetArn parameter. The EndpointArn is returned when making a call with the
CreatePlatformEndpoint
action.

For more information about formatting messages, see Send Custom Platform-Specific Payloads in Messages to Mobile Devices.

You can publish messages only to topics and endpoints in the same AWS Region.

public virtual Task<PublishResponse> PublishAsync(string topicArn, string message, CancellationToken cancellationToken = default)

Parameters

topicArn string

The topic you want to publish to. If you don't specify a value for the

TopicArn
parameter, you must specify a value for the
PhoneNumber
or
TargetArn
parameters.
message string

The message you want to send. If you are publishing to a topic and you want to send the same message to all transport protocols, include the text of the message as a String value. If you want to send different messages for each transport protocol, set the value of the

MessageStructure
parameter to
json
and use a JSON object for the
Message
parameter.

Constraints:
  • With the exception of SMS, messages must be UTF-8 encoded strings and at most 256 KB in size (262,144 bytes, not 262,144 characters).
  • For SMS, each message can contain up to 140 characters. This character limit depends on the encoding schema. For example, an SMS message can contain 160 GSM characters, 140 ASCII characters, or 70 UCS-2 characters. If you publish a message that exceeds this size limit, Amazon SNS sends the message as multiple messages, each fitting within the size limit. Messages aren't truncated mid-word but are cut off at whole-word boundaries. The total size limit for a single SMS
    Publish
    action is 1,600 characters.
JSON-specific constraints:
  • Keys in the JSON object that correspond to supported transport protocols must have simple JSON string values.
  • The values will be parsed (unescaped) before they are used in outgoing messages.
  • Outbound notifications are JSON encoded (meaning that the characters will be reescaped for sending).
  • Values have a minimum length of 0 (the empty string, "", is allowed).
  • Values have a maximum length bounded by the overall message size (so, including multiple protocols may limit message sizes).
  • Non-string values will cause the key to be ignored.
  • Keys that do not correspond to supported transport protocols are ignored.
  • Duplicate keys are not allowed.
  • Failure to parse or validate any key or value in the message will cause the
    Publish
    call to return an error (no partial delivery).
cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<PublishResponse>

The response from the Publish service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

EndpointDisabledException

Exception error indicating endpoint disabled.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

InvalidParameterValueException

Indicates that a request parameter does not comply with the associated constraints.

InvalidSecurityException

The credential signature isn't valid. You must use an HTTPS endpoint and sign your request using Signature Version 4.

KMSAccessDeniedException

The ciphertext references a key that doesn't exist or that you don't have access to.

KMSDisabledException

The request was rejected because the specified customer master key (CMK) isn't enabled.

KMSInvalidStateException

The request was rejected because the state of the specified resource isn't valid for this request. For more information, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

KMSNotFoundException

The request was rejected because the specified entity or resource can't be found.

KMSOptInRequiredException

The AWS access key ID needs a subscription for the service.

KMSThrottlingException

The request was denied due to request throttling. For more information about throttling, see Limits in the AWS Key Management Service Developer Guide.

NotFoundException

Indicates that the requested resource does not exist.

PlatformApplicationDisabledException

Exception error indicating platform application disabled.

See Also

RemovePermissionAsync(RemovePermissionRequest, CancellationToken)

Removes a statement from a topic's access control policy.

public virtual Task<RemovePermissionResponse> RemovePermissionAsync(RemovePermissionRequest request, CancellationToken cancellationToken = default)

Parameters

request RemovePermissionRequest

Container for the necessary parameters to execute the RemovePermission service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<RemovePermissionResponse>

The response from the RemovePermission service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

NotFoundException

Indicates that the requested resource does not exist.

See Also

RemovePermissionAsync(string, string, CancellationToken)

Removes a statement from a topic's access control policy.

public virtual Task<RemovePermissionResponse> RemovePermissionAsync(string topicArn, string label, CancellationToken cancellationToken = default)

Parameters

topicArn string

The ARN of the topic whose access control policy you wish to modify.

label string

The unique label of the statement you want to remove.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<RemovePermissionResponse>

The response from the RemovePermission service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

NotFoundException

Indicates that the requested resource does not exist.

See Also

SetEndpointAttributesAsync(SetEndpointAttributesRequest, CancellationToken)

Sets the attributes for an endpoint for a device on one of the supported push notification services, such as GCM (Firebase Cloud Messaging) and APNS. For more information, see Using Amazon SNS Mobile Push Notifications.

public virtual Task<SetEndpointAttributesResponse> SetEndpointAttributesAsync(SetEndpointAttributesRequest request, CancellationToken cancellationToken = default)

Parameters

request SetEndpointAttributesRequest

Container for the necessary parameters to execute the SetEndpointAttributes service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<SetEndpointAttributesResponse>

The response from the SetEndpointAttributes service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

NotFoundException

Indicates that the requested resource does not exist.

See Also

SetPlatformApplicationAttributesAsync(SetPlatformApplicationAttributesRequest, CancellationToken)

Sets the attributes of the platform application object for the supported push notification services, such as APNS and GCM (Firebase Cloud Messaging). For more information, see Using Amazon SNS Mobile Push Notifications. For information on configuring attributes for message delivery status, see Using Amazon SNS Application Attributes for Message Delivery Status.

public virtual Task<SetPlatformApplicationAttributesResponse> SetPlatformApplicationAttributesAsync(SetPlatformApplicationAttributesRequest request, CancellationToken cancellationToken = default)

Parameters

request SetPlatformApplicationAttributesRequest

Container for the necessary parameters to execute the SetPlatformApplicationAttributes service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<SetPlatformApplicationAttributesResponse>

The response from the SetPlatformApplicationAttributes service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

NotFoundException

Indicates that the requested resource does not exist.

See Also

SetSMSAttributesAsync(SetSMSAttributesRequest, CancellationToken)

Use this request to set the default settings for sending SMS messages and receiving daily SMS usage reports.

You can override some of these settings for a single message when you use the

Publish
action with the
MessageAttributes.entry.N
parameter. For more information, see Publishing to a mobile phone in the Amazon SNS Developer Guide.
public virtual Task<SetSMSAttributesResponse> SetSMSAttributesAsync(SetSMSAttributesRequest request, CancellationToken cancellationToken = default)

Parameters

request SetSMSAttributesRequest

Container for the necessary parameters to execute the SetSMSAttributes service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<SetSMSAttributesResponse>

The response from the SetSMSAttributes service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

ThrottledException

Indicates that the rate at which requests have been submitted for this action exceeds the limit for your account.

See Also

SetSubscriptionAttributesAsync(SetSubscriptionAttributesRequest, CancellationToken)

Allows a subscription owner to set an attribute of the subscription to a new value.

public virtual Task<SetSubscriptionAttributesResponse> SetSubscriptionAttributesAsync(SetSubscriptionAttributesRequest request, CancellationToken cancellationToken = default)

Parameters

request SetSubscriptionAttributesRequest

Container for the necessary parameters to execute the SetSubscriptionAttributes service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<SetSubscriptionAttributesResponse>

The response from the SetSubscriptionAttributes service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

FilterPolicyLimitExceededException

Indicates that the number of filter polices in your AWS account exceeds the limit. To add more filter polices, submit an SNS Limit Increase case in the AWS Support Center.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

NotFoundException

Indicates that the requested resource does not exist.

See Also

SetSubscriptionAttributesAsync(string, string, string, CancellationToken)

Allows a subscription owner to set an attribute of the subscription to a new value.

public virtual Task<SetSubscriptionAttributesResponse> SetSubscriptionAttributesAsync(string subscriptionArn, string attributeName, string attributeValue, CancellationToken cancellationToken = default)

Parameters

subscriptionArn string

The ARN of the subscription to modify.

attributeName string

A map of attributes with their corresponding values. The following lists the names, descriptions, and values of the special request parameters that the

SetTopicAttributes
action uses:
  • DeliveryPolicy
    – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.
  • FilterPolicy
    – The simple JSON object that lets your subscriber receive only a subset of messages, rather than receiving every message published to the topic.
  • RawMessageDelivery
    – When set to
    true
    , enables raw message delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need for the endpoints to process JSON formatting, which is otherwise created for Amazon SNS metadata.
  • RedrivePolicy
    – When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.
attributeValue string

The new value for the attribute in JSON format.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<SetSubscriptionAttributesResponse>

The response from the SetSubscriptionAttributes service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

FilterPolicyLimitExceededException

Indicates that the number of filter polices in your AWS account exceeds the limit. To add more filter polices, submit an SNS Limit Increase case in the AWS Support Center.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

NotFoundException

Indicates that the requested resource does not exist.

See Also

SetTopicAttributesAsync(SetTopicAttributesRequest, CancellationToken)

Allows a topic owner to set an attribute of the topic to a new value.

public virtual Task<SetTopicAttributesResponse> SetTopicAttributesAsync(SetTopicAttributesRequest request, CancellationToken cancellationToken = default)

Parameters

request SetTopicAttributesRequest

Container for the necessary parameters to execute the SetTopicAttributes service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<SetTopicAttributesResponse>

The response from the SetTopicAttributes service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

InvalidSecurityException

The credential signature isn't valid. You must use an HTTPS endpoint and sign your request using Signature Version 4.

NotFoundException

Indicates that the requested resource does not exist.

See Also

SetTopicAttributesAsync(string, string, string, CancellationToken)

Allows a topic owner to set an attribute of the topic to a new value.

public virtual Task<SetTopicAttributesResponse> SetTopicAttributesAsync(string topicArn, string attributeName, string attributeValue, CancellationToken cancellationToken = default)

Parameters

topicArn string

The ARN of the topic to modify.

attributeName string

A map of attributes with their corresponding values. The following lists the names, descriptions, and values of the special request parameters that the

SetTopicAttributes
action uses:
  • DeliveryPolicy
    – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.
  • DisplayName
    – The display name to use for a topic with SMS subscriptions.
  • Policy
    – The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic.
The following attribute applies only to server-side-encryption:
  • KmsMasterKeyId
    – The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API Reference.
The following attribute applies only to FIFO topics:
  • ContentBasedDeduplication
    – Enables content-based deduplication for FIFO topics.
    • By default,
      ContentBasedDeduplication
      is set to
      false
      . If you create a FIFO topic and this attribute is
      false
      , you must specify a value for the
      MessageDeduplicationId
      parameter for the Publish action.
    • When you set
      ContentBasedDeduplication
      to
      true
      , Amazon SNS uses a SHA-256 hash to generate the
      MessageDeduplicationId
      using the body of the message (but not the attributes of the message). (Optional) To override the generated value, you can specify a value for the the
      MessageDeduplicationId
      parameter for the
      Publish
      action.
attributeValue string

The new value for the attribute.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<SetTopicAttributesResponse>

The response from the SetTopicAttributes service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

InvalidSecurityException

The credential signature isn't valid. You must use an HTTPS endpoint and sign your request using Signature Version 4.

NotFoundException

Indicates that the requested resource does not exist.

See Also

SubscribeAsync(SubscribeRequest, CancellationToken)

Subscribes an endpoint to an Amazon SNS topic. If the endpoint type is HTTP/S or email, or if the endpoint and the topic are not in the same AWS account, the endpoint owner must the

ConfirmSubscription
action to confirm the subscription.

You call the

ConfirmSubscription
action with the token from the subscription response. Confirmation tokens are valid for three days.

This action is throttled at 100 transactions per second (TPS).

public virtual Task<SubscribeResponse> SubscribeAsync(SubscribeRequest request, CancellationToken cancellationToken = default)

Parameters

request SubscribeRequest

Container for the necessary parameters to execute the Subscribe service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<SubscribeResponse>

The response from the Subscribe service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

FilterPolicyLimitExceededException

Indicates that the number of filter polices in your AWS account exceeds the limit. To add more filter polices, submit an SNS Limit Increase case in the AWS Support Center.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

InvalidSecurityException

The credential signature isn't valid. You must use an HTTPS endpoint and sign your request using Signature Version 4.

NotFoundException

Indicates that the requested resource does not exist.

SubscriptionLimitExceededException

Indicates that the customer already owns the maximum allowed number of subscriptions.

See Also

SubscribeAsync(string, string, string, CancellationToken)

Subscribes an endpoint to an Amazon SNS topic. If the endpoint type is HTTP/S or email, or if the endpoint and the topic are not in the same AWS account, the endpoint owner must the

ConfirmSubscription
action to confirm the subscription.

You call the

ConfirmSubscription
action with the token from the subscription response. Confirmation tokens are valid for three days.

This action is throttled at 100 transactions per second (TPS).

public virtual Task<SubscribeResponse> SubscribeAsync(string topicArn, string protocol, string endpoint, CancellationToken cancellationToken = default)

Parameters

topicArn string

The ARN of the topic you want to subscribe to.

protocol string

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.
  • lambda
    – delivery of JSON-encoded message to an Amazon Lambda function.
endpoint string

The endpoint that you want to receive notifications. Endpoints vary by protocol:

  • For the
    http
    protocol, the (public) endpoint is a URL beginning with
    http://
  • For the
    https
    protocol, the (public) endpoint is a URL beginning with
    https://
  • For the
    email
    protocol, the endpoint is an email address
  • For the
    email-json
    protocol, the endpoint is an email address
  • For the
    sms
    protocol, the endpoint is a phone number of an SMS-enabled device
  • For the
    sqs
    protocol, the endpoint is the ARN of an Amazon SQS queue
  • For the
    application
    protocol, the endpoint is the EndpointArn of a mobile app and device.
  • For the
    lambda
    protocol, the endpoint is the ARN of an Amazon Lambda function.
cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<SubscribeResponse>

The response from the Subscribe service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

FilterPolicyLimitExceededException

Indicates that the number of filter polices in your AWS account exceeds the limit. To add more filter polices, submit an SNS Limit Increase case in the AWS Support Center.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

InvalidSecurityException

The credential signature isn't valid. You must use an HTTPS endpoint and sign your request using Signature Version 4.

NotFoundException

Indicates that the requested resource does not exist.

SubscriptionLimitExceededException

Indicates that the customer already owns the maximum allowed number of subscriptions.

See Also

SubscribeQueueAsync(string, ICoreAmazonSQS, string)

Subscribes an existing Amazon SQS queue to an existing Amazon SNS topic asynchronously.

The policy applied to the SQS queue is similar to this:

{
	"Version" : "2008-10-17",
	"Statement" : [{
	    "Sid" : "topic-subscription-arn:aws:sns:us-west-2:599109622955:myTopic",
		"Effect" : "Allow",
		"Principal" : "*",
		"Action" : ["sqs:SendMessage"],
		"Resource":["arn:aws:sqs:us-west-2:599109622955:myQueue"],
		"Condition" : {
			"ArnLike":{
				"aws:SourceArn":["arn:aws:sns:us-west-2:599109622955:myTopic"]
			}
		}
    }]
}

There might be a small time period immediately after subscribing the SQS queue to the SNS topic and updating the SQS queue's policy, where messages are not able to be delivered to the queue. After a moment, the new queue policy will propagate and the queue will be able to receive messages. This delay only occurs immediately after initially subscribing the queue.

public Task<string> SubscribeQueueAsync(string topicArn, ICoreAmazonSQS sqsClient, string sqsQueueUrl)

Parameters

topicArn string

The topic to subscribe to

sqsClient ICoreAmazonSQS

The SQS client used to get attributes and set the policy on the SQS queue.

sqsQueueUrl string

The queue to add a subscription to.

Returns

Task<string>

The subscription ARN as returned by Amazon SNS when the queue is successfully subscribed to the topic.

SubscribeQueueToTopicsAsync(IList<string>, ICoreAmazonSQS, string)

Subscribes an existing Amazon SQS queue to existing Amazon SNS topics asynchronously.

The policy applied to the SQS queue is similar to this:

{
	"Version" : "2008-10-17",
	"Statement" : [{
	    "Sid" : "topic-subscription-arn:aws:sns:us-west-2:599109622955:myTopic",
		"Effect" : "Allow",
		"Principal" : "*",
		"Action" : ["sqs:SendMessage"],
		"Resource":["arn:aws:sqs:us-west-2:599109622955:myQueue"],
		"Condition" : {
			"ArnLike":{
				"aws:SourceArn":["arn:aws:sns:us-west-2:599109622955:myTopic"]
			}
		}
    }]
}

There might be a small time period immediately after subscribing the SQS queue to the SNS topic and updating the SQS queue's policy, where messages are not able to be delivered to the queue. After a moment, the new queue policy will propagate and the queue will be able to receive messages. This delay only occurs immediately after initially subscribing the queue.

public Task<IDictionary<string, string>> SubscribeQueueToTopicsAsync(IList<string> topicArns, ICoreAmazonSQS sqsClient, string sqsQueueUrl)

Parameters

topicArns IList<string>

The topics to subscribe to

sqsClient ICoreAmazonSQS

The SQS client used to get attributes and set the policy on the SQS queue.

sqsQueueUrl string

The queue to add a subscription to.

Returns

Task<IDictionary<string, string>>

The mapping of topic ARNs to subscription ARNs as returned by Amazon SNS when the queue is successfully subscribed to each topic.

TagResourceAsync(TagResourceRequest, CancellationToken)

Add tags to the specified Amazon SNS topic. For an overview, see Amazon SNS Tags in the Amazon SNS Developer Guide.

When you use topic tags, keep the following guidelines in mind:

  • Adding more than 50 tags to a topic isn't recommended.

  • Tags don't have any semantic meaning. Amazon SNS interprets tags as character strings.

  • Tags are case-sensitive.

  • A new tag with a key identical to that of an existing tag overwrites the existing tag.

  • Tagging actions are limited to 10 TPS per AWS account, per AWS region. If your application requires a higher throughput, file a technical support request.

public virtual Task<TagResourceResponse> TagResourceAsync(TagResourceRequest request, CancellationToken cancellationToken = default)

Parameters

request TagResourceRequest

Container for the necessary parameters to execute the TagResource service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<TagResourceResponse>

The response from the TagResource service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

ConcurrentAccessException

Can't perform multiple operations on a tag simultaneously. Perform the operations sequentially.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

ResourceNotFoundException

Can't tag resource. Verify that the topic exists.

StaleTagException

A tag has been added to a resource with the same ARN as a deleted resource. Wait a short while and then retry the operation.

TagLimitExceededException

Can't add more than 50 tags to a topic.

TagPolicyException

The request doesn't comply with the IAM tag policy. Correct your request and then retry it.

See Also

UnsubscribeAsync(UnsubscribeRequest, CancellationToken)

Deletes a subscription. If the subscription requires authentication for deletion, only the owner of the subscription or the topic's owner can unsubscribe, and an AWS signature is required. If the

Unsubscribe
call does not require authentication and the requester is not the subscription owner, a final cancellation message is delivered to the endpoint, so that the endpoint owner can easily resubscribe to the topic if the
Unsubscribe
request was unintended.

This action is throttled at 100 transactions per second (TPS).

public virtual Task<UnsubscribeResponse> UnsubscribeAsync(UnsubscribeRequest request, CancellationToken cancellationToken = default)

Parameters

request UnsubscribeRequest

Container for the necessary parameters to execute the Unsubscribe service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<UnsubscribeResponse>

The response from the Unsubscribe service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

InvalidSecurityException

The credential signature isn't valid. You must use an HTTPS endpoint and sign your request using Signature Version 4.

NotFoundException

Indicates that the requested resource does not exist.

See Also

UnsubscribeAsync(string, CancellationToken)

Deletes a subscription. If the subscription requires authentication for deletion, only the owner of the subscription or the topic's owner can unsubscribe, and an AWS signature is required. If the

Unsubscribe
call does not require authentication and the requester is not the subscription owner, a final cancellation message is delivered to the endpoint, so that the endpoint owner can easily resubscribe to the topic if the
Unsubscribe
request was unintended.

This action is throttled at 100 transactions per second (TPS).

public virtual Task<UnsubscribeResponse> UnsubscribeAsync(string subscriptionArn, CancellationToken cancellationToken = default)

Parameters

subscriptionArn string

The ARN of the subscription to be deleted.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<UnsubscribeResponse>

The response from the Unsubscribe service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

InternalErrorException

Indicates an internal service error.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

InvalidSecurityException

The credential signature isn't valid. You must use an HTTPS endpoint and sign your request using Signature Version 4.

NotFoundException

Indicates that the requested resource does not exist.

See Also

UntagResourceAsync(UntagResourceRequest, CancellationToken)

Remove tags from the specified Amazon SNS topic. For an overview, see Amazon SNS Tags in the Amazon SNS Developer Guide.

public virtual Task<UntagResourceResponse> UntagResourceAsync(UntagResourceRequest request, CancellationToken cancellationToken = default)

Parameters

request UntagResourceRequest

Container for the necessary parameters to execute the UntagResource service method.

cancellationToken CancellationToken

A cancellation token that can be used by other objects or threads to receive notice of cancellation.

Returns

Task<UntagResourceResponse>

The response from the UntagResource service method, as returned by SimpleNotificationService.

Exceptions

AuthorizationErrorException

Indicates that the user has been denied access to the requested resource.

ConcurrentAccessException

Can't perform multiple operations on a tag simultaneously. Perform the operations sequentially.

InvalidParameterException

Indicates that a request parameter does not comply with the associated constraints.

ResourceNotFoundException

Can't tag resource. Verify that the topic exists.

StaleTagException

A tag has been added to a resource with the same ARN as a deleted resource. Wait a short while and then retry the operation.

TagLimitExceededException

Can't add more than 50 tags to a topic.

TagPolicyException

The request doesn't comply with the IAM tag policy. Correct your request and then retry it.

See Also