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.
See also: AWS API Documentation
See ‘aws help’ for descriptions of global parameters.
create-topic
--name <value>
[--attributes <value>]
[--tags <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
--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.
--attributes
(map)
A map of attributes with their corresponding values.
The following lists the names, descriptions, and values of the special request parameters that the
CreateTopic
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.
FifoTopic
– Set to true to create a FIFO topic.
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 attributes apply only to FIFO topics :
FifoTopic
– When this is set totrue
, a FIFO topic is created.
ContentBasedDeduplication
– Enables content-based deduplication for FIFO topics.
By default,
ContentBasedDeduplication
is set tofalse
. If you create a FIFO topic and this attribute isfalse
, you must specify a value for theMessageDeduplicationId
parameter for the Publish action.When you set
ContentBasedDeduplication
totrue
, Amazon SNS uses a SHA-256 hash to generate theMessageDeduplicationId
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 theMessageDeduplicationId
parameter for thePublish
action.key -> (string)
value -> (string)
Shorthand Syntax:
KeyName1=string,KeyName2=string
JSON Syntax:
{"string": "string"
...}
--tags
(list)
The list of tags to add to a new topic.
Note
To be able to tag a topic on creation, you must have the
sns:CreateTopic
andsns:TagResource
permissions.(structure)
The list of tags to be added to the specified topic.
Key -> (string)
The required key portion of the tag.
Value -> (string)
The optional value portion of the tag.
Shorthand Syntax:
Key=string,Value=string ...
JSON Syntax:
[
{
"Key": "string",
"Value": "string"
}
...
]
--cli-input-json
| --cli-input-yaml
(string)
Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton
. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml
.
--generate-cli-skeleton
(string)
Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input
, prints a sample input JSON that can be used as an argument for --cli-input-json
. Similarly, if provided yaml-input
it will print a sample input YAML that can be used with --cli-input-yaml
. If provided with the value output
, it validates the command inputs and returns a sample output JSON for that command.
See ‘aws help’ for descriptions of global parameters.
To create an SNS topic
The following create-topic
example creates an SNS topic named my-topic
.
aws sns create-topic \
--name my-topic
Output:
{
"ResponseMetadata": {
"RequestId": "1469e8d7-1642-564e-b85d-a19b4b341f83"
},
"TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic"
}
For more information, see Using the AWS Command Line Interface with Amazon SQS and Amazon SNS in the AWS Command Line Interface User Guide.