Esempi di utilizzo di Amazon SNS AWS CLI - AWS Command Line Interface

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à.

Esempi di utilizzo di Amazon SNS AWS CLI

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

Le azioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Scenari: esempi di codice che mostrano come eseguire un’attività specifica chiamando più funzioni all’interno dello stesso servizio o combinate con altri Servizi AWS.

Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come usareadd-permission.

AWS CLI

Come 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 i dettagli sull'API, vedere AddPermissionin AWS CLI Command Reference.

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

AWS CLI

Controllo delle impostazioni di opt-out dei messaggi SMS 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 messaggi SMS dall' AWS account corrente.

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

Attraverso il comando confirm-subscription seguente viene completato il processo di conferma avviato effettuando la sottoscrizione a un argomento SNS 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

Come creare un’applicazione della piattaforma

L’esempio create-platform-application 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

Creazione di un argomento SNS

Nell’esempio create-topic seguente viene creato un argomento SNS denominato 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" }

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

  • Per i dettagli sull'API, consulta AWS CLI Command CreateTopicReference.

Il seguente esempio di codice mostra come utilizzaredelete-endpoint.

AWS CLI

Come eliminare un endpoint dell’applicazione della piattaforma

L’esempio delete-endpoint seguente elimina l’endpoint dell’applicazione della 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.

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

AWS CLI

Come eliminare un endpoint un’applicazione della piattaforma

L’esempio delete-platform-application seguente elimina l’applicazione della 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

Eliminazione di un argomento SNS

Nell’esempio delete-topic seguente viene eliminato l’argomento SNS specificato.

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

Questo comando non produce alcun output.

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

AWS CLI

Come elencare gli attributi dell’endpoint dell’applicazione della piattaforma

L’esempio get-endpoint-attributes seguente elenca gli attributi per l’endpoint dell’applicazione della piattaforma specificata.

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

Come elencare gli attributi dell’applicazione della piattaforma

L’esempio get-platform-application-attributes seguente elenca gli attributi per l’applicazione della 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

Elencare gli attributi predefiniti dei messaggi SMS

Nell’esempio get-sms-attributes seguente vengono elencati gli attributi predefiniti per l’invio di messaggi SMS.

aws sns get-sms-attributes

Output:

{ "attributes": { "DefaultSenderID": "MyName" } }
  • Per informazioni dettagliate sull’API, consulta GetSMSAttributes in AWS CLI Command Reference.

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

AWS CLI

Come recuperare gli attributi di abbonamento a un argomento

Il comando get-subscription-attributes seguente visualizza gli attributi dell’abbonamento specificato. È possibile ottenere il valore subscription-arn dall’output del comando list-subscriptions.

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

Come elencare gli endpoint di un’applicazione di piattaforma

L’esempio list-endpoints-by-platform-application seguente elenca gli endpoint e gli attributi dell’endpoint per l’applicazione della 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

Elencare le opzioni di opt-out dei messaggi SMS

Nell’esempio list-phone-numbers-opted-out seguente sono elencati i numeri di telefono per i quali sono abilitate le opzioni di opt-out per la ricezione di SMS.

aws sns list-phone-numbers-opted-out

Output:

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

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

AWS CLI

Come elencare le applicazioni della piattaforma

L’esempio list-platform-applications seguente elenca le applicazioni della piattaforma per ADM e MPNS.

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

Come elencare le sottoscrizioni associate a un argomento

Il comando list-subscriptions-by-topic seguente recupera un elenco di abbonamenti SNS associati 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

Elencare le sottoscrizioni SNS

L'list-subscriptionsesempio seguente visualizza un elenco degli abbonamenti SNS presenti nell'account AWS .

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

Come elencare i tag di un argomento

L’esempio list-tags-for-resource seguente elenca i tag per l’argomento Amazon SNS 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

Elenco degli argomenti SNS

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

aws sns list-topics

Output:

{ "Topics": [ { "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic" } ] }

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

AWS CLI

Come attivare i messaggi SMS

L’esempio opt-in-phone-number seguente elenca i numeri di telefono per i quali sono abilitate le opzioni per la ricezione di SMS.

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

Nell’esempio publish viene pubblicato il messaggio indicato in un argomento SNS 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 messaggio SMS 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 informazioni dettagliate sull’API, consulta Publish nella documentazione di riferimento dei comandi della AWS CLI .

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

AWS CLI

Come impostare la policy 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: come caricare i parametri da un file

L’esempio put-data-protection-policy seguente 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

Come rimuovere un’autorizzazione da un argomento

L’esempio 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

Come configurare gli attributi degli endpoint

L’esempio set-endpoint-attributes 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

Come impostare gli attributi dell’applicazione della piattaforma

L’esempio set-platform-application-attributes seguente imposta l’attributo EventDeliveryFailure per l’applicazione di piattaforma specificata sull’ARN dell’argomento Amazon SNS 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

Impostazione degli attributi dei messaggi SMS

Nell’esempio set-sms-attributes seguente l’ID mittente predefinito per i messaggi SMS viene impostato su MyName.

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

Nell’esempio set-subscription-attributes seguente viene impostato l’attributo RawMessageDelivery su una sottoscrizione SQS.

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.

Nell’esempio set-subscription-attributes seguente viene impostato un attributo FilterPolicy su una sottoscrizione SQS.

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.

Nell’esempio set-subscription-attributes seguente viene rimosso l’attributo FilterPolicy su una sottoscrizione SQS.

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 informazioni dettagliate sull’API, consulta Subscribe nella documentazione di riferimento dei comandi della AWS CLI .

Il seguente esempio di codice mostra come utilizzaretag-resource.

AWS CLI

Aggiungere un tag a un argomento

Nell’esempio tag-resource seguente viene aggiunto un tag di metadati all’argomento Amazon SNS 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 informazioni dettagliate sull’API, consulta Unsubscribe nella documentazione di riferimento dei comandi della AWS CLI .

Il seguente esempio di codice mostra come utilizzareuntag-resource.

AWS CLI

Come rimuovere un tag da un argomento

L’esempio untag-resource seguente elimina qualsiasi tag con le chiavi specificate dall’argomento Amazon SNS 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

L’esempio di codice seguente mostra come creare un endpoint di piattaforma per notifiche push di Amazon SNS.

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