Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Une rubrique Amazon SNS est un point d'accès logique qui joue le rôle de canal de communication. Une rubrique vous permet de regrouper plusieurs points de terminaison (tels qu'Amazon SQS AWS Lambda, HTTP/S ou une adresse e-mail).
Pour diffuser les messages d'un système producteur de messages (par exemple, un site web d'e-commerce) qui utilise plusieurs autres services ayant besoin de ses messages (par exemple, les systèmes d'enregistrement et de distribution de commandes), vous pouvez créer une rubrique pour votre système producteur.
La tâche Amazon SNS la plus importante et la plus courante consiste à créer une rubrique. Cette page montre comment vous pouvez utiliser le AWS Management Console AWS SDK pour Java, le et le AWS SDK pour .NET pour créer un sujet.
Lors de la création, vous choisissez un type de rubrique (standard ou FIFO) et vous nommez la rubrique. Après avoir créé une rubrique, vous ne pouvez pas modifier son type ou son nom. Tous les autres choix de configuration sont facultatifs lors de la création d'une rubrique et vous pouvez les modifier ultérieurement.
Important
N'ajoutez pas de données d'identification personnelle (PII) ou d'autres données confidentielles ou sensibles dans les noms de rubriques. Les noms des rubriques sont accessibles aux autres Amazon Web Services, y compris aux CloudWatch journaux. Les noms de rubriques ne sont pas destinées à être utilisées pour des données privées ou sensibles.
Pour créer un sujet à l'aide du AWS Management Console
La création d'un sujet dans Amazon SNS pose les bases de la distribution de messages, vous permettant de publier des messages qui peuvent être transmis à plusieurs abonnés. Cette étape est essentielle pour configurer le type de sujet, les paramètres de chiffrement et les politiques d'accès, afin de garantir que le sujet répond aux exigences opérationnelles, de conformité et de sécurité de l'organisation.
Connectez-vous à la console Amazon SNS
. -
Effectuez l’une des actions suivantes :
-
Si aucun sujet n'a encore été créé sous votre Compte AWS nom, lisez la description d'Amazon SNS sur la page d'accueil.
-
Si des sujets ont déjà été créés sous votre Compte AWS nom, dans le panneau de navigation, sélectionnez Sujets.
-
-
Sur la page Rubriques, choisissez Créer une rubrique.
-
Sur la page Créer une rubrique, dans la section Détails, procédez comme suit :
-
Pour Type, choisissez un type de rubrique (Standard ou FIFO).
-
Entrez un Nom pour la rubrique. Pour une rubrique FIFO, ajoutez .fifo à la fin du nom.
-
(Facultatif) Entrez un Nom d'affichage pour votre rubrique.
Important
Lorsque vous vous abonnez à un point de terminaison d'e-mail, le nombre de caractères combinés pour le nom d'affichage de la rubrique Amazon SNS et l'adresse e-mail d'envoi (par exemple, no-reply@sns.amazonaws.com) ne doit pas dépasser 320 caractères UTF-8. Vous pouvez utiliser un outil d'encodage tiers pour vérifier la longueur de l'adresse d'envoi avant de configurer un nom d'affichage pour votre rubrique Amazon SNS.
-
(Facultatif) Pour une rubrique FIFO, vous pouvez choisir déduplication des messages basée sur le contenu pour activer la déduplication des messages par défaut. Pour de plus amples informations, veuillez consulter Déduplication des messages Amazon SNS pour les rubriques FIFO.
-
-
(Facultatif) Développez la section Chiffrement et effectuez les opérations suivantes. Pour de plus amples informations, veuillez consulter Sécurisation des données Amazon SNS grâce au chiffrement côté serveur.
-
Choisissez Activer le chiffrement.
-
Spécifiez la AWS KMS clé. Pour de plus amples informations, veuillez consulter Termes clés.
Pour chaque type de KMS, les champs Description, Account (Compte) et KMS ARN (ARN KMS) s'affichent.
Important
Si vous n'êtes pas le propriétaire de la clé KMS, ou si vous vous connectez avec un compte n'ayant pas les autorisations
kms:ListAliases
etkms:DescribeKey
, vous ne pouvez pas afficher les informations relatives à la KMS sur la console Amazon SNS.Demandez au propriétaire de la KMS de vous accorder ces autorisations. Pour plus d'informations, consultez Autorisations d'API AWS KMS : référence des actions et ressources dans le Guide du développeur AWS Key Management Service .
-
Le KMS AWS géré pour Amazon SNS (par défaut) alias/aws/sns est sélectionné par défaut.
Note
Gardez à l'esprit les points suivants :
-
La première fois que vous utilisez le AWS Management Console pour spécifier le KMS AWS géré pour Amazon SNS pour une rubrique, le KMS AWS géré pour Amazon SNS est AWS KMS créé.
-
Sinon, la première fois que vous utilisez l'
Publish
action sur un sujet pour lequel SSE est activé, le KMS AWS géré est AWS KMS créé pour Amazon SNS.
-
-
Pour utiliser un KMS personnalisé depuis votre AWS compte, choisissez le champ clé KMS, puis choisissez le KMS personnalisé dans la liste.
Note
Pour obtenir des instructions sur la création de clés personnalisées KMSs, voir Création de clés dans le guide du AWS Key Management Service développeur
-
Pour utiliser un ARN KMS personnalisé à partir de votre AWS compte ou d'un autre AWS compte, saisissez-le dans le champ clé KMS.
-
-
-
(Facultatif) Par défaut, seul le propriétaire de la rubrique peut publier dans la rubrique ou s'abonner à la rubrique. Pour configurer des autorisations d'accès supplémentaires, développez la section Politique d'accès. Pour plus d’informations, consultez Gestion des identités et des accès dans Amazon SNS et Cas d'exemple pour le contrôle d'accès Amazon SNS.
Note
Lorsque vous créez une rubrique à l'aide de la console, la politique par défaut utilise la clé de condition
aws:SourceOwner
. Cette clé est similaire àaws:SourceAccount
. -
(Facultatif) Pour configurer la façon dont Amazon SNS retente la distribution des messages en échec, développez la section Politique de nouvelle tentative de distribution (HTTP/S). Pour de plus amples informations, veuillez consulter Nouvelle tentative de distribution des messages Amazon SNS.
-
(Facultatif) Pour configurer la manière dont Amazon SNS enregistre la livraison des messages CloudWatch, développez la section Enregistrement de l'état de livraison. Pour de plus amples informations, veuillez consulter Statut de distribution de message Amazon SNS.
-
(Facultatif) Pour ajouter des balises de métadonnées à la rubrique, développez la section Balises, saisissez une clé et une valeur (facultatif) et choisissez Ajouter une balise. Pour de plus amples informations, veuillez consulter Identification des rubriques Amazon SNS.
-
Choisissez Créer une rubrique.
Le sujet est créé et la
MyTopic
page s'affiche.Le nom, l'ARN, le nom d'affichage (facultatif) et l'ID de AWS compte du propriétaire du sujet sont affichés dans la section Détails.
-
Copiez l'ARN de rubrique dans le Presse-papiers, par exemple :
arn:aws:sns:us-east-2:123456789012:MyTopic
Pour créer une rubrique à l'aide d'un AWS SDK
Pour utiliser un AWS SDK, vous devez le configurer avec vos informations d'identification. Pour plus d'informations, consultez la section Les fichiers de configuration et d'identification partagés dans le guide de référence des outils AWS SDKs et des outils.
Les exemples de code suivants illustrent comment utiliser CreateTopic
.
- SDK pour .NET
-
Note
Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le référentiel d’exemples de code AWS
. Créez une rubrique avec un nom spécifique.
using System; using System.Threading.Tasks; using Amazon.SimpleNotificationService; using Amazon.SimpleNotificationService.Model; /// <summary> /// This example shows how to use Amazon Simple Notification Service /// (Amazon SNS) to add a new Amazon SNS topic. /// </summary> public class CreateSNSTopic { public static async Task Main() { string topicName = "ExampleSNSTopic"; IAmazonSimpleNotificationService client = new AmazonSimpleNotificationServiceClient(); var topicArn = await CreateSNSTopicAsync(client, topicName); Console.WriteLine($"New topic ARN: {topicArn}"); } /// <summary> /// Creates a new SNS topic using the supplied topic name. /// </summary> /// <param name="client">The initialized SNS client object used to /// create the new topic.</param> /// <param name="topicName">A string representing the topic name.</param> /// <returns>The Amazon Resource Name (ARN) of the created topic.</returns> public static async Task<string> CreateSNSTopicAsync(IAmazonSimpleNotificationService client, string topicName) { var request = new CreateTopicRequest { Name = topicName, }; var response = await client.CreateTopicAsync(request); return response.TopicArn; } }
Créez une nouvelle rubrique avec un nom et des attributs FIFO et de déduplication spécifiques.
/// <summary> /// Create a new topic with a name and specific FIFO and de-duplication attributes. /// </summary> /// <param name="topicName">The name for the topic.</param> /// <param name="useFifoTopic">True to use a FIFO topic.</param> /// <param name="useContentBasedDeduplication">True to use content-based de-duplication.</param> /// <returns>The ARN of the new topic.</returns> public async Task<string> CreateTopicWithName(string topicName, bool useFifoTopic, bool useContentBasedDeduplication) { var createTopicRequest = new CreateTopicRequest() { Name = topicName, }; if (useFifoTopic) { // Update the name if it is not correct for a FIFO topic. if (!topicName.EndsWith(".fifo")) { createTopicRequest.Name = topicName + ".fifo"; } // Add the attributes from the method parameters. createTopicRequest.Attributes = new Dictionary<string, string> { { "FifoTopic", "true" } }; if (useContentBasedDeduplication) { createTopicRequest.Attributes.Add("ContentBasedDeduplication", "true"); } } var createResponse = await _amazonSNSClient.CreateTopicAsync(createTopicRequest); return createResponse.TopicArn; }
-
Pour plus de détails sur l'API, reportez-vous CreateTopicà la section Référence des AWS SDK pour .NET API.
-