SNSEsempi di utilizzo di Amazon AWS CLI - AWS Command Line Interface

Questa documentazione è valida AWS CLI solo per la versione 1. Per la documentazione relativa alla versione 2 di AWS CLI, consulta la Guida per l'utente della versione 2.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

SNSEsempi di utilizzo di Amazon AWS CLI

I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando il AWS Command Line Interface con AmazonSNS.

Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni di servizio, puoi vedere le azioni nel loro contesto negli scenari correlati.

Gli scenari sono esempi di codice che mostrano come eseguire attività specifiche richiamando più funzioni all'interno di un servizio o combinandole con altre Servizi AWS.

Ogni esempio include un collegamento al codice sorgente completo, in cui è possibile trovare istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzareadd-permission.

AWS CLI

Per aggiungere un'autorizzazione a un argomento

L'add-permissionesempio seguente aggiunge l'autorizzazione per l' AWS account 987654321098 a utilizzare l'Publishazione con l'argomento specificato in AWS account123456789012.

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

Questo comando non produce alcun output.

  • Per API i dettagli, vedere AddPermissionin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarecheck-if-phone-number-is-opted-out.

AWS CLI

Per verificare la disattivazione di un SMS messaggio per un numero di telefono

L'check-if-phone-number-is-opted-outesempio seguente verifica se al numero di telefono specificato è stata disattivata la ricezione di SMS messaggi dall'account corrente AWS .

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

Output:

{ "isOptedOut": false }

Il seguente esempio di codice mostra come utilizzareconfirm-subscription.

AWS CLI

Conferma di una sottoscrizione

Il confirm-subscription comando seguente completa il processo di conferma avviato quando l'utente ha sottoscritto un SNS argomento denominato. my-topic Il parametro --token proviene dal messaggio di conferma inviato all'endpoint di notifica specificato nella chiamata subscribe.

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

Output:

{ "SubscriptionArn": "arn:aws:sns:us-west-2:123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f" }

Il seguente esempio di codice mostra come utilizzarecreate-platform-application.

AWS CLI

Per creare un'applicazione di piattaforma

L'create-platform-applicationesempio seguente crea un'applicazione della piattaforma Google Firebase utilizzando le credenziali di piattaforma specificate.

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

Output:

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

Il seguente esempio di codice mostra come utilizzarecreate-topic.

AWS CLI

Per creare un argomento SNS

L'create-topicesempio seguente crea un SNS argomento denominatomy-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" }

Per ulteriori informazioni, consulta Using the AWS Command Line Interface with Amazon SQS e Amazon SNS nella AWS Command Line Interface User Guide.

Il seguente esempio di codice mostra come utilizzaredelete-endpoint.

AWS CLI

Per eliminare un endpoint dell'applicazione della piattaforma

L'delete-endpointesempio seguente elimina l'endpoint dell'applicazione di piattaforma specificato.

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

Questo comando non produce alcun output.

  • Per API i dettagli, vedere DeleteEndpointin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzaredelete-platform-application.

AWS CLI

Per eliminare un'applicazione della piattaforma

L'delete-platform-applicationesempio seguente elimina l'applicazione di piattaforma specificata.

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

Questo comando non produce alcun output.

Il seguente esempio di codice mostra come utilizzaredelete-topic.

AWS CLI

Per eliminare un SNS argomento

L'delete-topicesempio seguente elimina l'SNSargomento specificato.

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

Questo comando non produce alcun output.

  • Per API i dettagli, vedere DeleteTopicin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareget-endpoint-attributes.

AWS CLI

Per elencare gli attributi degli endpoint dell'applicazione della piattaforma

L'get-endpoint-attributesesempio seguente elenca gli attributi per l'endpoint dell'applicazione di piattaforma specificato.

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

Output:

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

Il seguente esempio di codice mostra come utilizzareget-platform-application-attributes.

AWS CLI

Per elencare gli attributi dell'applicazione della piattaforma

L'get-platform-application-attributesesempio seguente elenca gli attributi per l'applicazione di piattaforma specificata.

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

Output:

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

Il seguente esempio di codice mostra come utilizzareget-sms-attributes.

AWS CLI

Per elencare gli attributi predefiniti dei SMS messaggi

L'get-sms-attributesesempio seguente elenca gli attributi predefiniti per l'invio SMS di messaggi.

aws sns get-sms-attributes

Output:

{ "attributes": { "DefaultSenderID": "MyName" } }

Il seguente esempio di codice mostra come usareget-subscription-attributes.

AWS CLI

Per recuperare gli attributi di sottoscrizione per un argomento

Di seguito get-subscription-attributes vengono visualizzati gli attributi della sottoscrizione specificata. È possibile ottenere il subscription-arn dall'output del list-subscriptions comando.

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

Output:

{ "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" } }

Il seguente esempio di codice mostra come utilizzareget-topic-attributes.

AWS CLI

Recupero degli attributi di un argomento

Nell'esempio get-topic-attributes seguente vengono visualizzati gli attributi per l'argomento specificato.

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

Output:

{ "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" } }

Il seguente esempio di codice mostra come utilizzarelist-endpoints-by-platform-application.

AWS CLI

Per elencare gli endpoint di un'applicazione di piattaforma

L'list-endpoints-by-platform-applicationesempio seguente elenca gli endpoint e gli attributi degli endpoint per l'applicazione di piattaforma specificata.

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

Output:

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

Il seguente esempio di codice mostra come utilizzarelist-phone-numbers-opted-out.

AWS CLI

Per elencare le opzioni di disattivazione dei SMS messaggi

L'list-phone-numbers-opted-outesempio seguente elenca i numeri di telefono a cui è stato negato il consenso alla ricezione dei messaggi. SMS

aws sns list-phone-numbers-opted-out

Output:

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

Il seguente esempio di codice mostra come utilizzarelist-platform-applications.

AWS CLI

Per elencare le applicazioni della piattaforma

L'list-platform-applicationsesempio seguente elenca le applicazioni della piattaforma per ADM eMPNS.

aws sns list-platform-applications

Output:

{ "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" } } ] }

Il seguente esempio di codice mostra come utilizzarelist-subscriptions-by-topic.

AWS CLI

Per elencare le sottoscrizioni associate a un argomento

Quanto segue list-subscriptions-by-topic recupera un elenco di SNS sottoscrizioni associate all'argomento specificato.

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

Output:

{ "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" } ] }

Il seguente esempio di codice mostra come utilizzarelist-subscriptions.

AWS CLI

Per elencare i tuoi SNS abbonamenti

L'list-subscriptionsesempio seguente mostra un elenco degli SNS abbonamenti presenti nel tuo AWS account.

aws sns list-subscriptions

Output:

{ "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" } ] }

Il seguente esempio di codice mostra come utilizzarelist-tags-for-resource.

AWS CLI

Per elencare i tag di un argomento

L'list-tags-for-resourceesempio seguente elenca i tag per l'SNSargomento Amazon specificato.

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

Output:

{ "Tags": [ { "Key": "Team", "Value": "Alpha" } ] }

Il seguente esempio di codice mostra come utilizzarelist-topics.

AWS CLI

Per elencare i tuoi SNS argomenti

L'list-topicsesempio seguente elenca tutti SNS gli argomenti del tuo AWS account.

aws sns list-topics

Output:

{ "Topics": [ { "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic" } ] }
  • Per API i dettagli, vedere ListTopicsin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareopt-in-phone-number.

AWS CLI

Per attivare la ricezione dei messaggi SMS

L'opt-in-phone-numberesempio seguente imposta il numero di telefono specificato per la ricezione SMS dei messaggi.

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

Questo comando non produce alcun output.

Il seguente esempio di codice mostra come utilizzarepublish.

AWS CLI

Esempio 1: pubblicazione di un messaggio in un argomento

L'publishesempio seguente pubblica il messaggio specificato SNS sull'argomento specificato. Il messaggio proviene da un file di testo che consente di includere interruzioni di riga.

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

Contenuto di message.txt.

Hello World Second Line

Output:

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

Esempio 2: pubblicare un SMS messaggio su un numero di telefono

Nell'esempio publish seguente viene pubblicato il messaggio Hello world! sul numero di telefono+1-555-555-0100.

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

Output:

{ "MessageId": "123a45b6-7890-12c3-45d6-333322221111" }
  • Per API i dettagli, consulta Pubblica in AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareput-data-protection-policy.

AWS CLI

Per impostare la politica di protezione dei dati

Esempio 1: impedire agli editori di pubblicare messaggi con CreditCardNumber

L'put-data-protection-policyesempio seguente impedisce agli editori di pubblicare messaggi con. 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\":{}}}]}"

Questo comando non produce alcun output.

Esempio 2: per caricare i parametri da un file

Quanto segue put-data-protection-policy carica i parametri da un file.

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

Questo comando non produce alcun output.

Il seguente esempio di codice mostra come utilizzareremove-permission.

AWS CLI

Per rimuovere un'autorizzazione da un argomento

L'remove-permissionesempio seguente rimuove l'autorizzazione Publish-Permission dall'argomento specificato.

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

Questo comando non produce alcun output.

Il seguente esempio di codice mostra come utilizzareset-endpoint-attributes.

AWS CLI

Per impostare gli attributi degli endpoint

L'set-endpoint-attributesesempio seguente disabilita l'endpoint dell'applicazione della piattaforma specificato.

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

Output:

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

Il seguente esempio di codice mostra come utilizzareset-platform-application-attributes.

AWS CLI

Per impostare gli attributi dell'applicazione della piattaforma

L'set-platform-application-attributesesempio seguente imposta l'EventDeliveryFailureattributo per l'applicazione ARN di piattaforma specificata sull'SNSargomento Amazon specificato.

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

Questo comando non produce alcun output.

Il seguente esempio di codice mostra come utilizzareset-sms-attributes.

AWS CLI

Per impostare gli attributi dei SMS messaggi

L'set-sms-attributesesempio seguente imposta l'ID mittente predefinito per SMS MyName i messaggi su.

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

Questo comando non produce alcun output.

Il seguente esempio di codice mostra come utilizzareset-subscription-attributes.

AWS CLI

Impostazione degli attributi della sottoscrizione

L'set-subscription-attributesesempio seguente imposta l'RawMessageDeliveryattributo su un SQS abbonamento.

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

Questo comando non produce alcun output.

L'set-subscription-attributesesempio seguente imposta un FilterPolicy attributo a un SQS abbonamento.

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\"] }"

Questo comando non produce alcun output.

L'set-subscription-attributesesempio seguente rimuove l'FilterPolicyattributo da una SQS sottoscrizione.

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 "{}"

Questo comando non produce alcun output.

Il seguente esempio di codice mostra come utilizzareset-topic-attributes.

AWS CLI

Impostazione di un attributo per un argomento

Nell'esempio set-topic-attributes seguente vengono impostati gli attributi DisplayName per l'argomento specificato.

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

Questo comando non produce alcun output.

Il seguente esempio di codice mostra come utilizzaresubscribe.

AWS CLI

Effettuare la sottoscrizione a un argomento

Attraverso il comando subscribe seguente viene effettuata la sottoscrizione all'argomento specificato utilizzando un indirizzo e-mail.

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

Output:

{ "SubscriptionArn": "pending confirmation" }
  • Per API i dettagli, consulta Subscribe in AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzaretag-resource.

AWS CLI

Aggiungere un tag a un argomento

L'tag-resourceesempio seguente aggiunge un tag di metadati all'SNSargomento Amazon specificato.

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

Questo comando non produce alcun output.

Il seguente esempio di codice mostra come utilizzareunsubscribe.

AWS CLI

Annullamento della sottoscrizione a un argomento

Nell'esempio unsubscribe seguente viene eliminata la sottoscrizione specificata a un argomento.

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

Questo comando non produce alcun output.

  • Per API i dettagli, consulta Unsubscribe in AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareuntag-resource.

AWS CLI

Per rimuovere un tag da un argomento

L'untag-resourceesempio seguente rimuove tutti i tag con le chiavi specificate dall'SNSargomento Amazon specificato.

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

Questo comando non produce alcun output.

Scenari

Il seguente esempio di codice mostra come creare un endpoint della piattaforma per le notifiche SNS push di Amazon.

AWS CLI

Creazione di un endpoint dell'applicazione della piattaforma

Nell'esempio create-platform-endpoint seguente viene creato un endpoint per l'applicazione della piattaforma indicata utilizzando il token specificato.

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

Output:

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