Skip to content

Sns

Client

AsyncSNSClient

AsyncSNSClient(config: Config | None = None, plugins: list[Plugin] | None = None)

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 the Amazon SNS product page. For detailed information about Amazon SNS features and their associated API calls, see the Amazon SNS Developer Guide.

For information on the permissions you need to use this API, see Identity and access management in Amazon SNS in 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.

Parameters:

Name Type Description Default
config Config | None

Optional configuration for the client. Here you can set things like the endpoint for HTTP services or auth credentials.

None
plugins list[Plugin] | None

A list of callables that modify the configuration dynamically. These can be used to set defaults, for example.

None

Operations

Configuration

Config dataclass

Config(*, auth_scheme_resolver: HTTPAuthSchemeResolver | None = None, auth_schemes: dict[ShapeID, AuthScheme[Any, Any, Any, Any]] | None = None, aws_access_key_id: str | None = None, aws_credentials_identity_resolver: IdentityResolver[AWSCredentialsIdentity, AWSIdentityProperties] | None = None, aws_secret_access_key: str | None = None, aws_session_token: str | None = None, endpoint_resolver: EndpointResolver | None = None, endpoint_uri: str | URI | None = None, http_request_config: HTTPRequestConfiguration | None = None, interceptors: list[_ServiceInterceptor] | None = None, protocol: ClientProtocol[Any, Any] | None = None, region: str | None = None, retry_strategy: RetryStrategy | RetryStrategyOptions | None = None, sdk_ua_app_id: str | None = None, transport: ClientTransport[Any, Any] | None = None, user_agent_extra: str | None = None)

Configuration for SNS.

Attributes

auth_scheme_resolver instance-attribute
auth_scheme_resolver: HTTPAuthSchemeResolver = auth_scheme_resolver or HTTPAuthSchemeResolver()

An auth scheme resolver that determines the auth scheme for each operation.

auth_schemes instance-attribute
auth_schemes: dict[ShapeID, AuthScheme[Any, Any, Any, Any]] = auth_schemes or {ShapeID('aws.auth#sigv4'): SigV4AuthScheme(service='sns')}

A map of auth scheme ids to auth schemes.

aws_access_key_id instance-attribute
aws_access_key_id: str | None = aws_access_key_id

The identifier for a secret access key.

aws_credentials_identity_resolver instance-attribute
aws_credentials_identity_resolver: IdentityResolver[AWSCredentialsIdentity, AWSIdentityProperties] | None = aws_credentials_identity_resolver

Resolves AWS Credentials. Required for operations that use Sigv4 Auth.

aws_secret_access_key instance-attribute
aws_secret_access_key: str | None = aws_secret_access_key

A secret access key that can be used to sign requests.

aws_session_token instance-attribute
aws_session_token: str | None = aws_session_token

An access key ID that identifies temporary security credentials.

endpoint_resolver instance-attribute
endpoint_resolver: EndpointResolver = endpoint_resolver or StandardRegionalEndpointsResolver(endpoint_prefix='sns')

The endpoint resolver used to resolve the final endpoint per-operation based on the configuration.

endpoint_uri instance-attribute
endpoint_uri: str | URI | None = endpoint_uri

A static URI to route requests to.

http_request_config instance-attribute
http_request_config: HTTPRequestConfiguration | None = http_request_config

Configuration for individual HTTP requests.

interceptors instance-attribute
interceptors: list[_ServiceInterceptor] = interceptors or []

The list of interceptors, which are hooks that are called during the execution of a request.

protocol instance-attribute
protocol: ClientProtocol[Any, Any] | None = protocol or AwsQueryClientProtocol(_SCHEMA_AMAZON_SIMPLE_NOTIFICATION_SERVICE, '2010-03-31')

The protocol to serialize and deserialize requests with.

region instance-attribute
region: str | None = region

The AWS region to connect to. The configured region is used to determine the service endpoint.

retry_strategy instance-attribute
retry_strategy: RetryStrategy | RetryStrategyOptions | None = retry_strategy

The retry strategy or options for configuring retry behavior. Can be either a configured RetryStrategy or RetryStrategyOptions to create one.

sdk_ua_app_id instance-attribute
sdk_ua_app_id: str | None = sdk_ua_app_id

A unique and opaque application ID that is appended to the User-Agent header.

transport instance-attribute
transport: ClientTransport[Any, Any] | None = transport or AIOHTTPClient()

The transport to use to send requests (e.g. an HTTP client).

user_agent_extra instance-attribute
user_agent_extra: str | None = user_agent_extra

Additional suffix to be added to the User-Agent header.

Methods:

set_auth_scheme
set_auth_scheme(scheme: AuthScheme[Any, Any, Any, Any]) -> None

Sets the implementation of an auth scheme.

Using this method ensures the correct key is used.

Parameters:

Name Type Description Default
scheme AuthScheme[Any, Any, Any, Any]

The auth scheme to add.

required

Plugin module-attribute

Plugin: TypeAlias = Callable[[Config], None]

A callable that allows customizing the config object on each request.

Structures

Errors

Enums