Table of Contents

Class SubscribeRequest

Namespace
Amazon.SimpleNotificationService.Model
Assembly
AWSSDK.SimpleNotificationService.dll

Container for the parameters to the Subscribe operation. 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 class SubscribeRequest : AmazonSimpleNotificationServiceRequest
Inheritance
SubscribeRequest

Constructors

SubscribeRequest()

Empty constructor used to set properties independently even when a simple constructor is available

public SubscribeRequest()

SubscribeRequest(string, string, string)

Instantiates SubscribeRequest with the parameterized properties

public SubscribeRequest(string topicArn, string protocol, string endpoint)

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.

Properties

Attributes

Gets and sets the property Attributes.

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.
public Dictionary<string, string> Attributes { get; set; }

Property Value

Dictionary<string, string>

Endpoint

Gets and sets the property Endpoint.

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

  • For the

    http
    protocol, the (public) endpoint is a URL beginning with
    http://
  • For the

    https
    protocol, the (public) endpoint is a URL beginning with
    https://
  • For the

    email
    protocol, the endpoint is an email address
  • For the

    email-json
    protocol, the endpoint is an email address
  • For the

    sms
    protocol, the endpoint is a phone number of an SMS-enabled device
  • For the

    sqs
    protocol, the endpoint is the ARN of an Amazon SQS queue
  • For the

    application
    protocol, the endpoint is the EndpointArn of a mobile app and device.
  • For the

    lambda
    protocol, the endpoint is the ARN of an Amazon Lambda function.
public string Endpoint { get; set; }

Property Value

string

Protocol

Gets and sets the property Protocol.

The protocol you want to use. Supported protocols include:

  • http
    – delivery of JSON-encoded message via HTTP POST
  • https
    – delivery of JSON-encoded message via HTTPS POST
  • email
    – delivery of message via SMTP
  • email-json
    – delivery of JSON-encoded message via SMTP
  • sms
    – delivery of message via SMS
  • sqs
    – delivery of JSON-encoded message to an Amazon SQS queue
  • application
    – delivery of JSON-encoded message to an EndpointArn for a mobile app and device.
  • lambda
    – delivery of JSON-encoded message to an Amazon Lambda function.
public string Protocol { get; set; }

Property Value

string

ReturnSubscriptionArn

Gets and sets the property ReturnSubscriptionArn.

Sets whether the response from the

Subscribe
request includes the subscription ARN, even if the subscription is not yet confirmed.

If you set this parameter to

true
, the response includes the ARN in all cases, even if the subscription is not yet confirmed. In addition to the ARN for confirmed subscriptions, the response also includes the
pending subscription
ARN value for subscriptions that aren't yet confirmed. A subscription becomes confirmed when the subscriber calls the
ConfirmSubscription
action with a confirmation token.

The default value is

false
.
public bool ReturnSubscriptionArn { get; set; }

Property Value

bool

TopicArn

Gets and sets the property TopicArn.

The ARN of the topic you want to subscribe to.

public string TopicArn { get; set; }

Property Value

string