SNSExemples Amazon utilisant AWS CLI - AWS Command Line Interface

Cette documentation concerne AWS CLI uniquement la version 1. Pour la documentation relative à la version 2 du AWS CLI, consultez le guide de l'utilisateur de la version 2.

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.

SNSExemples Amazon utilisant AWS CLI

Les exemples de code suivants vous montrent comment effectuer des actions et implémenter des scénarios courants à l' AWS Command Line Interface aide d'AmazonSNS.

Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Les actions vous indiquent comment appeler des fonctions de service individuelles, mais vous pouvez les visualiser dans leur contexte dans les scénarios correspondants.

Les scénarios sont des exemples de code qui vous montrent comment accomplir des tâches spécifiques en appelant plusieurs fonctions au sein d'un service ou en les combinant à d'autres Services AWS.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la façon de configurer et d'exécuter le code en contexte.

Actions

L'exemple de code suivant montre comment utiliseradd-permission.

AWS CLI

Pour ajouter une autorisation à un sujet

L'add-permissionexemple suivant ajoute l'autorisation 987654321098 au AWS compte d'utiliser l'Publishaction avec le sujet spécifié sous AWS compte123456789012.

aws sns add-permission \ --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --label Publish-Permission \ --aws-account-id 987654321098 \ --action-name Publish

Cette commande ne produit aucun résultat.

  • Pour API plus de détails, voir AddPermissionla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercheck-if-phone-number-is-opted-out.

AWS CLI

Pour vérifier le SMS message, désactivez un numéro de téléphone

L'check-if-phone-number-is-opted-outexemple suivant vérifie si le numéro de téléphone spécifié est désactivé pour ne pas recevoir de SMS messages du AWS compte courant.

aws sns check-if-phone-number-is-opted-out \ --phone-number +1555550100

Sortie :

{ "isOptedOut": false }

L'exemple de code suivant montre comment utiliserconfirm-subscription.

AWS CLI

Pour confirmer un abonnement

La confirm-subscription commande suivante termine le processus de confirmation lancé lorsque vous vous êtes abonné à une SNS rubrique nomméemy-topic. Le paramètre --token provient du message de confirmation envoyé au point de terminaison de notification spécifié dans l'appel d'abonnement.

aws sns confirm-subscription \ --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic \ --token 2336412f37fb687f5d51e6e241d7700ae02f7124d8268910b858cb4db727ceeb2474bb937929d3bdd7ce5d0cce19325d036bc858d3c217426bcafa9c501a2cace93b83f1dd3797627467553dc438a8c974119496fc3eff026eaa5d14472ded6f9a5c43aec62d83ef5f49109da7176391

Sortie :

{ "SubscriptionArn": "arn:aws:sns:us-west-2:123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f" }
  • Pour API plus de détails, voir ConfirmSubscriptionla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-platform-application.

AWS CLI

Pour créer une application de plateforme

L'create-platform-applicationexemple suivant crée une application de plate-forme Google Firebase à l'aide des informations d'identification de plate-forme spécifiées.

aws sns create-platform-application \ --name MyApplication \ --platform GCM \ --attributes PlatformCredential=EXAMPLEabcd12345jklm67890stuv12345bcdef

Sortie :

{ "PlatformApplicationArn": "arn:aws:sns:us-west-2:123456789012:app/GCM/MyApplication" }

L'exemple de code suivant montre comment utilisercreate-topic.

AWS CLI

Pour créer une rubrique SNS

L'create-topicexemple suivant crée une SNS rubrique nomméemy-topic.

aws sns create-topic \ --name my-topic

Sortie :

{ "ResponseMetadata": { "RequestId": "1469e8d7-1642-564e-b85d-a19b4b341f83" }, "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic" }

Pour plus d'informations, consultez la section Utilisation de l'interface de ligne de AWS commande avec Amazon SQS et Amazon SNS dans le guide de l'utilisateur de l'interface de ligne de AWS commande.

  • Pour API plus de détails, voir CreateTopicla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-endpoint.

AWS CLI

Pour supprimer un point de terminaison d'une application de plateforme

L'delete-endpointexemple suivant supprime le point de terminaison de l'application de plate-forme spécifié.

aws sns delete-endpoint \ --endpoint-arn arn:aws:sns:us-west-2:123456789012:endpoint/GCM/MyApplication/12345678-abcd-9012-efgh-345678901234

Cette commande ne produit aucun résultat.

  • Pour API plus de détails, voir DeleteEndpointla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-platform-application.

AWS CLI

Pour supprimer une application de plateforme

L'delete-platform-applicationexemple suivant supprime l'application de plate-forme spécifiée.

aws sns delete-platform-application \ --platform-application-arn arn:aws:sns:us-west-2:123456789012:app/ADM/MyApplication

Cette commande ne produit aucun résultat.

L'exemple de code suivant montre comment utiliserdelete-topic.

AWS CLI

Pour supprimer un SNS sujet

L'delete-topicexemple suivant supprime le SNS sujet spécifié.

aws sns delete-topic \ --topic-arn "arn:aws:sns:us-west-2:123456789012:my-topic"

Cette commande ne produit aucun résultat.

  • Pour API plus de détails, voir DeleteTopicla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-endpoint-attributes.

AWS CLI

Pour répertorier les attributs des points de terminaison d'une application

L'get-endpoint-attributesexemple suivant répertorie les attributs du point de terminaison de l'application de plate-forme spécifié.

aws sns get-endpoint-attributes \ --endpoint-arn arn:aws:sns:us-west-2:123456789012:endpoint/GCM/MyApplication/12345678-abcd-9012-efgh-345678901234

Sortie :

{ "Attributes": { "Enabled": "true", "Token": "EXAMPLE12345..." } }

L'exemple de code suivant montre comment utiliserget-platform-application-attributes.

AWS CLI

Pour répertorier les attributs de l'application de plate-forme

L'get-platform-application-attributesexemple suivant répertorie les attributs de l'application de plate-forme spécifiée.

aws sns get-platform-application-attributes \ --platform-application-arn arn:aws:sns:us-west-2:123456789012:app/MPNS/MyApplication

Sortie :

{ "Attributes": { "Enabled": "true", "SuccessFeedbackSampleRate": "100" } }

L'exemple de code suivant montre comment utiliserget-sms-attributes.

AWS CLI

Pour répertorier les attributs de SMS message par défaut

L'get-sms-attributesexemple suivant répertorie les attributs par défaut pour l'envoi de SMS messages.

aws sns get-sms-attributes

Sortie :

{ "attributes": { "DefaultSenderID": "MyName" } }
  • Pour API plus de détails, voir G etSMSAttributes dans la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-subscription-attributes.

AWS CLI

Pour récupérer les attributs d'abonnement pour une rubrique

Les attributs de l'abonnement spécifié sont get-subscription-attributes affichés ci-dessous. Vous pouvez l'obtenir subscription-arn à partir de la sortie de la list-subscriptions commande.

aws sns get-subscription-attributes \ --subscription-arn "arn:aws:sns:us-west-2:123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f"

Sortie :

{ "Attributes": { "Endpoint": "my-email@example.com", "Protocol": "email", "RawMessageDelivery": "false", "ConfirmationWasAuthenticated": "false", "Owner": "123456789012", "SubscriptionArn": "arn:aws:sns:us-west-2:123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f", "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic" } }

L'exemple de code suivant montre comment utiliserget-topic-attributes.

AWS CLI

Pour récupérer les attributs d'une rubrique

L'exemple get-topic-attributes suivant affiche les attributs de la rubrique spécifiée.

aws sns get-topic-attributes \ --topic-arn "arn:aws:sns:us-west-2:123456789012:my-topic"

Sortie :

{ "Attributes": { "SubscriptionsConfirmed": "1", "DisplayName": "my-topic", "SubscriptionsDeleted": "0", "EffectiveDeliveryPolicy": "{\"http\":{\"defaultHealthyRetryPolicy\":{\"minDelayTarget\":20,\"maxDelayTarget\":20,\"numRetries\":3,\"numMaxDelayRetries\":0,\"numNoDelayRetries\":0,\"numMinDelayRetries\":0,\"backoffFunction\":\"linear\"},\"disableSubscriptionOverrides\":false}}", "Owner": "123456789012", "Policy": "{\"Version\":\"2008-10-17\",\"Id\":\"__default_policy_ID\",\"Statement\":[{\"Sid\":\"__default_statement_ID\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"*\"},\"Action\":[\"SNS:Subscribe\",\"SNS:ListSubscriptionsByTopic\",\"SNS:DeleteTopic\",\"SNS:GetTopicAttributes\",\"SNS:Publish\",\"SNS:RemovePermission\",\"SNS:AddPermission\",\"SNS:SetTopicAttributes\"],\"Resource\":\"arn:aws:sns:us-west-2:123456789012:my-topic\",\"Condition\":{\"StringEquals\":{\"AWS:SourceOwner\":\"0123456789012\"}}}]}", "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic", "SubscriptionsPending": "0" } }
  • Pour API plus de détails, voir GetTopicAttributesla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-endpoints-by-platform-application.

AWS CLI

Pour répertorier les points de terminaison d'une application de plateforme

L'list-endpoints-by-platform-applicationexemple suivant répertorie les points de terminaison et les attributs de point de terminaison pour l'application de plate-forme spécifiée.

aws sns list-endpoints-by-platform-application \ --platform-application-arn arn:aws:sns:us-west-2:123456789012:app/GCM/MyApplication

Sortie :

{ "Endpoints": [ { "Attributes": { "Token": "EXAMPLE12345..., "Enabled": "true" }, "EndpointArn": "arn:aws:sns:us-west-2:123456789012:endpoint/GCM/MyApplication/12345678-abcd-9012-efgh-345678901234" } ] }

L'exemple de code suivant montre comment utiliserlist-phone-numbers-opted-out.

AWS CLI

Pour répertorier les SMS désinscriptions aux messages

L'list-phone-numbers-opted-outexemple suivant répertorie les numéros de téléphone ayant choisi de ne pas recevoir de SMS messages.

aws sns list-phone-numbers-opted-out

Sortie :

{ "phoneNumbers": [ "+15555550100" ] }

L'exemple de code suivant montre comment utiliserlist-platform-applications.

AWS CLI

Pour répertorier les applications de la plateforme

L'list-platform-applicationsexemple suivant répertorie les applications de plate-forme pour ADM etMPNS.

aws sns list-platform-applications

Sortie :

{ "PlatformApplications": [ { "PlatformApplicationArn": "arn:aws:sns:us-west-2:123456789012:app/ADM/MyApplication", "Attributes": { "SuccessFeedbackSampleRate": "100", "Enabled": "true" } }, { "PlatformApplicationArn": "arn:aws:sns:us-west-2:123456789012:app/MPNS/MyOtherApplication", "Attributes": { "SuccessFeedbackSampleRate": "100", "Enabled": "true" } } ] }

L'exemple de code suivant montre comment utiliserlist-subscriptions-by-topic.

AWS CLI

Pour répertorier les abonnements associés à un sujet

Ce qui suit list-subscriptions-by-topic permet de récupérer la liste des SNS abonnements associés à la rubrique spécifiée.

aws sns list-subscriptions-by-topic \ --topic-arn "arn:aws:sns:us-west-2:123456789012:my-topic"

Sortie :

{ "Subscriptions": [ { "Owner": "123456789012", "Endpoint": "my-email@example.com", "Protocol": "email", "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic", "SubscriptionArn": "arn:aws:sns:us-west-2:123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f" } ] }

L'exemple de code suivant montre comment utiliserlist-subscriptions.

AWS CLI

Pour répertorier vos SNS abonnements

L'list-subscriptionsexemple suivant affiche la liste des SNS abonnements de votre AWS compte.

aws sns list-subscriptions

Sortie :

{ "Subscriptions": [ { "Owner": "123456789012", "Endpoint": "my-email@example.com", "Protocol": "email", "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic", "SubscriptionArn": "arn:aws:sns:us-west-2:123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f" } ] }
  • Pour API plus de détails, voir ListSubscriptionsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-tags-for-resource.

AWS CLI

Pour répertorier les tags d'un sujet

L'list-tags-for-resourceexemple suivant répertorie les balises pour le SNS sujet Amazon spécifié.

aws sns list-tags-for-resource \ --resource-arn arn:aws:sns:us-west-2:123456789012:MyTopic

Sortie :

{ "Tags": [ { "Key": "Team", "Value": "Alpha" } ] }
  • Pour API plus de détails, voir ListTagsForResourcela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-topics.

AWS CLI

Pour répertorier vos SNS sujets

L'list-topicsexemple suivant répertorie tous les SNS sujets de votre AWS compte.

aws sns list-topics

Sortie :

{ "Topics": [ { "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic" } ] }
  • Pour API plus de détails, voir ListTopicsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliseropt-in-phone-number.

AWS CLI

Pour accepter de recevoir des messages SMS

L'opt-in-phone-numberexemple suivant permet de choisir le numéro de téléphone spécifié pour recevoir SMS des messages.

aws sns opt-in-phone-number \ --phone-number +15555550100

Cette commande ne produit aucun résultat.

  • Pour API plus de détails, voir OptInPhoneNumberla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserpublish.

AWS CLI

Exemple 1 : pour publier un message dans une rubrique

L'publishexemple suivant publie le message spécifié dans la SNS rubrique spécifiée. Le message provient d'un fichier texte qui vous permet d'inclure des sauts de ligne.

aws sns publish \ --topic-arn "arn:aws:sns:us-west-2:123456789012:my-topic" \ --message file://message.txt

Contenu de message.txt :

Hello World Second Line

Sortie :

{ "MessageId": "123a45b6-7890-12c3-45d6-111122223333" }

Exemple 2 : pour publier un SMS message sur un numéro de téléphone

L'exemple publish suivant publie le message Hello world! sur le numéro de téléphone +1-555-555-0100.

aws sns publish \ --message "Hello world!" \ --phone-number +1-555-555-0100

Sortie :

{ "MessageId": "123a45b6-7890-12c3-45d6-333322221111" }
  • Pour API plus de détails, voir Publier dans AWS CLI Command Reference.

L'exemple de code suivant montre comment utiliserput-data-protection-policy.

AWS CLI

Pour définir la politique de protection des données

Exemple 1 : pour empêcher les éditeurs de publier des messages avec CreditCardNumber

L'put-data-protection-policyexemple suivant interdit aux éditeurs de publier des messages avec CreditCardNumber.

aws sns put-data-protection-policy \ --resource-arn arn:aws:sns:us-east-1:123456789012:mytopic \ --data-protection-policy "{\"Name\":\"data_protection_policy\",\"Description\":\"Example data protection policy\",\"Version\":\"2021-06-01\",\"Statement\":[{\"DataDirection\":\"Inbound\",\"Principal\":[\"*\"],\"DataIdentifier\":[\"arn:aws:dataprotection::aws:data-identifier/CreditCardNumber\"],\"Operation\":{\"Deny\":{}}}]}"

Cette commande ne produit aucun résultat.

Exemple 2 : pour charger des paramètres depuis un fichier

Ce qui suit put-data-protection-policy charge les paramètres à partir d'un fichier.

aws sns put-data-protection-policy \ --resource-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --data-protection-policy file://policy.json

Cette commande ne produit aucun résultat.

L'exemple de code suivant montre comment utiliserremove-permission.

AWS CLI

Pour supprimer une autorisation d'un sujet

L'remove-permissionexemple suivant supprime l'autorisation Publish-Permission du sujet spécifié.

aws sns remove-permission \ --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --label Publish-Permission

Cette commande ne produit aucun résultat.

  • Pour API plus de détails, voir RemovePermissionla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserset-endpoint-attributes.

AWS CLI

Pour définir les attributs du point de terminaison

L'set-endpoint-attributesexemple suivant désactive le point de terminaison de l'application de plate-forme spécifié.

aws sns set-endpoint-attributes \ --endpoint-arn arn:aws:sns:us-west-2:123456789012:endpoint/GCM/MyApplication/12345678-abcd-9012-efgh-345678901234 \ --attributes Enabled=false

Sortie :

{ "Attributes": { "Enabled": "false", "Token": "EXAMPLE12345..." } }

L'exemple de code suivant montre comment utiliserset-platform-application-attributes.

AWS CLI

Pour définir les attributs de l'application de plate-forme

L'set-platform-application-attributesexemple suivant définit l'EventDeliveryFailureattribut de l'application de plate-forme spécifiée sur celui ARN de la SNS rubrique Amazon spécifiée.

aws sns set-platform-application-attributes \ --platform-application-arn arn:aws:sns:us-west-2:123456789012:app/GCM/MyApplication \ --attributes EventDeliveryFailure=arn:aws:sns:us-west-2:123456789012:AnotherTopic

Cette commande ne produit aucun résultat.

L'exemple de code suivant montre comment utiliserset-sms-attributes.

AWS CLI

Pour définir les attributs des SMS messages

L'set-sms-attributesexemple suivant définit l'ID d'expéditeur par défaut des SMS messages surMyName.

aws sns set-sms-attributes \ --attributes DefaultSenderID=MyName

Cette commande ne produit aucun résultat.

  • Pour API plus de détails, voir S etSMSAttributes dans le manuel de référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserset-subscription-attributes.

AWS CLI

Pour définir des attributs d'abonnement

L'set-subscription-attributesexemple suivant définit l'RawMessageDeliveryattribut sur un SQS abonnement.

aws sns set-subscription-attributes \ --subscription-arn arn:aws:sns:us-east-1:123456789012:mytopic:f248de18-2cf6-578c-8592-b6f1eaa877dc \ --attribute-name RawMessageDelivery \ --attribute-value true

Cette commande ne produit aucun résultat.

L'set-subscription-attributesexemple suivant définit un FilterPolicy attribut pour un SQS abonnement.

aws sns set-subscription-attributes \ --subscription-arn arn:aws:sns:us-east-1:123456789012:mytopic:f248de18-2cf6-578c-8592-b6f1eaa877dc \ --attribute-name FilterPolicy \ --attribute-value "{ \"anyMandatoryKey\": [\"any\", \"of\", \"these\"] }"

Cette commande ne produit aucun résultat.

L'set-subscription-attributesexemple suivant supprime l'FilterPolicyattribut d'un SQS abonnement.

aws sns set-subscription-attributes \ --subscription-arn arn:aws:sns:us-east-1:123456789012:mytopic:f248de18-2cf6-578c-8592-b6f1eaa877dc \ --attribute-name FilterPolicy \ --attribute-value "{}"

Cette commande ne produit aucun résultat.

L'exemple de code suivant montre comment utiliserset-topic-attributes.

AWS CLI

Pour définir un attribut pour une rubrique

L'exemple set-topic-attributes suivant définit l'attribut DisplayName pour la rubrique spécifiée.

aws sns set-topic-attributes \ --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --attribute-name DisplayName \ --attribute-value MyTopicDisplayName

Cette commande ne produit aucun résultat.

  • Pour API plus de détails, voir SetTopicAttributesla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisersubscribe.

AWS CLI

Pour s'abonner à une rubrique

La commande subscribe suivante abonne une adresse e-mail à la rubrique spécifiée.

aws sns subscribe \ --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic \ --protocol email \ --notification-endpoint my-email@example.com

Sortie :

{ "SubscriptionArn": "pending confirmation" }
  • Pour API plus de détails, voir Subscribe dans AWS CLI Command Reference.

L'exemple de code suivant montre comment utilisertag-resource.

AWS CLI

Pour ajouter une balise à une rubrique

L'tag-resourceexemple suivant ajoute une balise de métadonnées à la SNS rubrique Amazon spécifiée.

aws sns tag-resource \ --resource-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --tags Key=Team,Value=Alpha

Cette commande ne produit aucun résultat.

  • Pour API plus de détails, voir TagResourcela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserunsubscribe.

AWS CLI

Pour se désabonner d'une rubrique

L'exemple unsubscribe suivant supprime l'abonnement spécifié d'une rubrique.

aws sns unsubscribe \ --subscription-arn arn:aws:sns:us-west-2:0123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f

Cette commande ne produit aucun résultat.

  • Pour API plus de détails, voir Désabonnement dans AWS CLI la référence des commandes.

L'exemple de code suivant montre comment utiliseruntag-resource.

AWS CLI

Pour supprimer un tag d'un sujet

L'untag-resourceexemple suivant supprime toutes les balises contenant les clés spécifiées de la SNS rubrique Amazon spécifiée.

aws sns untag-resource \ --resource-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --tag-keys Team

Cette commande ne produit aucun résultat.

  • Pour API plus de détails, voir UntagResourcela section Référence des AWS CLI commandes.

Scénarios

L'exemple de code suivant montre comment créer un point de terminaison de plateforme pour les notifications SNS push Amazon.

AWS CLI

Pour créer un point de terminaison d'application de plateforme

L'exemple create-platform-endpoint suivant crée un point de terminaison pour l'application de plateforme spécifiée à l'aide du jeton spécifié.

aws sns create-platform-endpoint \ --platform-application-arn arn:aws:sns:us-west-2:123456789012:app/GCM/MyApplication \ --token EXAMPLE12345...

Sortie :

{ "EndpointArn": "arn:aws:sns:us-west-2:1234567890:endpoint/GCM/MyApplication/12345678-abcd-9012-efgh-345678901234" }