Amazon Simple Notification Service

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

Changes  Update sns client to latest version

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.