Amazon Simple Notification Service

2018/06/01 - Amazon Simple Notification Service - 1 updated api methods

Changes  The SNS Subscribe API has been updated with two new optional parameters: Attributes and ReturnSubscriptionArn. Attributes is a map of subscription attributes which can be one or more of: FilterPolicy, DeliveryPolicy, and RawMessageDelivery. ReturnSubscriptionArn is a boolean parameter that overrides the default behavior of returning "pending confirmation" for subscriptions that require confirmation instead of returning the subscription ARN.

Subscribe (updated) Link ΒΆ
Changes (request)
{'Attributes': {'string': 'string'}, 'ReturnSubscriptionArn': 'boolean'}

Prepares to subscribe an endpoint by sending the endpoint a confirmation message. To actually create a subscription, the endpoint owner must call the ConfirmSubscription action with the token from the confirmation message. Confirmation tokens are valid for three days.

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

See also: AWS API Documentation

Request Syntax

client.subscribe(
    TopicArn='string',
    Protocol='string',
    Endpoint='string',
    Attributes={
        'string': 'string'
    },
    ReturnSubscriptionArn=True|False
)
type TopicArn

string

param TopicArn

[REQUIRED]

The ARN of the topic you want to subscribe to.

type Protocol

string

param Protocol

[REQUIRED]

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 AWS Lambda function.

type Endpoint

string

param Endpoint

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

  • For the http protocol, the endpoint is an URL beginning with "http://"

  • For the https protocol, the endpoint is a URL beginning with "https://"

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

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

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

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

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

  • For the lambda protocol, the endpoint is the ARN of an AWS Lambda function.

type Attributes

dict

param Attributes

Assigns attributes to the subscription as a map of key-value pairs. You can assign any attribute that is supported by the SetSubscriptionAttributes action.

  • (string) --

    • (string) --

type ReturnSubscriptionArn

boolean

param 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 false , the response includes the ARN for confirmed subscriptions, but it includes an ARN value of "pending subscription" for subscriptions that are not yet confirmed. A subscription becomes confirmed when the subscriber calls the ConfirmSubscription action with a confirmation token.

If you set this parameter to true , the response includes the ARN in all cases, even if the subscription is not yet confirmed.

The default value is false .

rtype

dict

returns

Response Syntax

{
    'SubscriptionArn': 'string'
}

Response Structure

  • (dict) --

    Response for Subscribe action.

    • SubscriptionArn (string) --

      The ARN of the subscription if it is confirmed, or the string "pending confirmation" if the subscription requires confirmation. However, if the API request parameter ReturnSubscriptionArn is true, then the value is always the subscription ARN, even if the subscription requires confirmation.