D: Cos'è Amazon Simple Notification Service (Amazon SNS)?

Amazon Simple Notification Service (Amazon SNS) è un servizio Web che consente di configurare, utilizzare e inviare notifiche dal cloud. Questo servizio mette a disposizione degli sviluppatori funzionalità flessibili, convenienti e ad alta scalabilità per pubblicare messaggi da un'applicazione e recapitarli immediatamente agli abbonati o ad altre applicazioni. È progettato per consentire agli sviluppatori di eseguire più facilmente operazioni di elaborazione su scala Web. Amazon SNS si basa sul paradigma di messaggistica "publish-subscribe" o pub-sub, secondo il quale le notifiche vengono recapitate ai client utilizzando un meccanismo "push" che elimina la necessità di controllare periodicamente (o "eseguire il polling") l'eventuale presenza di nuove informazioni e aggiornamenti. Grazie ad API semplici che non richiedono grandi interventi manuali di sviluppo, requisiti minimi a livello di manutenzione o gestione e tariffe a consumo, Amazon SNS mette a disposizione degli sviluppatori uno strumento intuitivo per implementare un sistema di notifiche avanzato nelle loro applicazioni.

D: Cosa occorre per cominciare a usare Amazon SNS?

Completa il tutorial da 10 minuti Invio in fan-out di notifiche di eventi per iniziare subito a creare un argomento Amazon SNS e pubblicare messaggi.

Per ulteriori informazioni, consulta il documento Amazon SNS Developer Guide e il codice di esempio nel centro risorse.

D: Quali sono i vantaggi dell'uso di Amazon SNS?

Amazon SNS offre numerosi vantaggi e per tale motivo è una soluzione estremamente versatile per la generazione e l'integrazione di applicazioni loosely coupled distribuite:

  • Recapito immediato basato sulla tecnologia push (senza polling)
  • API semplici e ottimizzazione dell'integrazione con le applicazioni
  • Recapito flessibile dei messaggi mediante più protocolli di trasporto
  • Modello vantaggioso in termini di costi, con pagamento in base al consumo e senza anticipi
  • La Console di gestione AWS basata sul Web è caratterizzata da un'interfaccia semplice e di approccio immediato

D: In che modo è possibile utilizzare le notifiche di Amazon SNS?

Amazon SNS è in grado di soddisfare un'ampia gamma di esigenze, tra cui inoltro di notifiche di eventi, monitoraggio di applicazioni, sistemi di gestione dei flussi di lavoro, aggiornamenti dei dati con vincoli tempistici specifici, applicazioni per dispositivi mobili e qualsiasi altra applicazione in grado di generare o utilizzare notifiche. Ad esempio, Amazon SNS può essere utilizzato nei sistemi di gestione dei flussi di lavoro per inoltrare eventi tra applicazioni distribuite, trasferire dati tra archivi dati o aggiornare record nei sistemi business. Gli aggiornamenti di eventi e le notifiche relative a convalida, approvazione, variazione del magazzino e stato della spedizione vengono immediatamente recapitati sia ai componenti rilevanti del sistema che agli utenti finali. Un caso d'uso comune è rappresentato dalla pubblicazione dei messaggi di SNS nelle code di messaggistica di Amazon SQS per inoltrarli a uno o più componenti in modo asincrono. Un altro esempio di utilizzo di Amazon SNS è rappresentato dall'inoltro di eventi con vincoli tempistici specifici ad applicazioni e dispositivi mobili. Dal momento che è caratterizzato da livelli elevati di affidabilità e scalabilità, Amazon SNS offre vantaggi significativi agli sviluppatori che sviluppano applicazioni basate su eventi in tempo reale.

D: Come funziona Amazon SNS?

Iniziare a utilizzare Amazon SNS è molto semplice. Gli sviluppatori devono innanzitutto creare un "argomento", che rappresenterà il "punto di accesso" (identificazione di un tipo di argomento o evento specifico) per la pubblicazione dei messaggi, e autorizzare i client a iscriversi alle notifiche. Dopo aver creato un argomento, il proprietario dell'argomento può impostare policy specifiche, ad esempio definire chi può pubblicare messaggi o iscriversi alla ricezione delle notifiche oppure specificare i protocolli di notifica supportati (ad esempio, HTTP/HTTPS, Email, SMS). I sottoscrittori sono client interessati alla ricezione delle notifiche relative agli argomenti di interesse. Possono iscriversi a un argomento oppure venire iscritti dal proprietario dell'argomento. I sottoscrittori specificano il protocollo e l'endpoint (URL, indirizzo e-mail e così via) per le notifiche da recapitare. Quando devono comunicare la presenza di informazioni o aggiornamenti ai sottoscrittori, le entità di pubblicazione possono pubblicare un messaggio nell'argomento. Questa azione attiverà il recapito immediato del messaggio a tutti i sottoscrittori validi da parte di Amazon SNS.

D: Quali sono le differenze tra Amazon SNS e Amazon SQS?

Amazon Simple Queue Service (SQS) e Amazon SNS sono entrambi servizi di messaggistica disponibili in AWS in grado di offrire numerosi vantaggi agli sviluppatori. Amazon SNS consente alle applicazioni di inviare messaggi con vincoli tempistici specifici a più sottoscrittori grazie a un meccanismo "push" che elimina la necessità di controllare periodicamente (polling) l'eventuale presenza di aggiornamenti. Amazon SQS è un servizio di accodamento dei messaggi utilizzato dalle applicazioni distribuite per scambiare messaggi mediante un modello di polling, che può essere impiegato per separare i componenti di invio e ricezione. Amazon SQS offre elevati livelli di flessibilità per i componenti distribuiti delle applicazioni per quanto riguarda l'invio e la ricezione dei messaggi e non richiede la disponibilità simultanea di tutti i componenti.

Un caso d'uso comune è rappresentato dalla pubblicazione dei messaggi di SNS nelle code di messaggistica di Amazon SQS per inoltrarli a uno o più componenti in modo asincrono.

D: Quali sono le differenze tra Amazon SNS e Amazon MQ?

Amazon MQ, Amazon SQS e Amazon SNS sono servizi di messaggistica adatti per ogni tipo di impresa. Se è in uso un'applicazione esistente e occorre trasferire la messaggistica nel cloud in modo semplice e veloce, si consiglia di utilizzare Amazon MQ. Supporta i protocolli e le API standard di settore e consente pertanto di passare da un qualsiasi broker di messaggi basato su standard al servizio senza dover ricompilare il codice dell'applicazione. Se è previsto lo sviluppo di una nuova applicazione nel cloud, si consiglia di utilizzare Amazon SQS e Amazon SNS. Amazon SQS ed SNS sono servizi di gestione di code di messaggi e argomenti completamente gestiti, che ricalibrano le risorse praticamente all'infinito e forniscono API intuitive. Questi due servizi possono essere usati per suddividere e ridimensionare microservizi, sistemi distribuiti e applicazioni serverless migliorandone l'affidabilità.

D: Cosa occorre per cominciare a usare Amazon SNS?

Per registrarsi ad Amazon SNS, fai clic sul pulsante "Sign up for Amazon SNS" nella pagina dei dettagli di Amazon SNS. Per accedere al servizio devi disporre di un account Amazon Web Services. Se non ne possiedi uno, avrai la possibilità di crearlo quando esegui la procedura di registrazione ad Amazon SNS. Dopo aver eseguito la registrazione, consulta la documentazione e la Guida alle operazioni di base di Amazon SNS per iniziare a usare Amazon SNS. Grazie alla Console di gestione AWS puoi semplificare e velocizzare le procedure di creazione di argomenti, aggiunta di sottoscrittori, invio di notifiche e modifica delle policy relative agli argomenti usando un browser.

D: Amazon SNS è supportato nella Console di gestione AWS?

Amazon SNS è presente nella Console di gestione AWS, dove è disponibile un'interfaccia semplice e intuitiva basata sul Web, che consente di accedere e gestire Amazon SNS. Grazie alla Console di gestione AWS puoi creare argomenti, aggiungere sottoscrittori e inviare notifiche dal browser. Inoltre, la console di gestione AWS semplifica la pubblicazione di messaggi in endpoint specifici (HTTP, SQS, Lambda, push per dispositivi mobili o SMS) e la modifica di policy relative agli argomenti per controllare gli accessi di entità di pubblicazione e sottoscrittori. 

D: Quali sono i punti di accesso al servizio Amazon SNS in ciascuna regione?

Consulta la sezione AWS Regions and Endpoints della documentazione di AWS per un elenco aggiornato di tutti i punti di accesso al servizio Amazon SNS.

D: È possibile ottenere uno storico di tutte le chiamate alle API effettuate sull'account per analizzare la sicurezza e per la risoluzione dei problemi operativi?

Sì. Il servizio SNS supporta AWS CloudTrail, un servizio Web che registra le chiamate alle API di AWS effettuate dal tuo account e fornisce i relativi file di log. Grazie a CloudTrail puoi ricevere uno storico relativo a varie informazioni, ad esempio l'identità dell'intermediario dell'API, l'ora della chiamata all'API, l'indirizzo IP di origine dell'intermediario dell'API, i parametri della richiesta e gli elementi di risposta restituiti dal servizio SNS.

Il servizio SNS attualmente supporta le funzionalità di controllo di CloudTrail solo per le chiamate autenticate. I log di controllo di CloudTrail per le chiamate ConfirmSubscription e Unsubscribe non autenticate non sono al momento disponibili. Per ulteriori informazioni, consulta la sezione CloudTrail – SNS Developer Guide.

Per ricevere uno storico di tutte le chiamate alle API del servizio SNS effettuate sul tuo account, non devi fare altro che attivare AWS CloudTrail nella Console di gestione AWS. Per ulteriori informazioni su AWS CloudTrail, fai clic qui.


D: Quanto costa Amazon SNS?

Amazon SNS non prevede alcuna tariffa minima e usa un piano di pagamento in base al consumo. Gli utenti pagano 0,50 USD ogni milione di richieste di Amazon SNS, 0,06 USD per ogni 100.000 recapiti di notifiche sul protocollo HTTP e 2,00 USD per ogni 100.000 recapiti di notifiche mediante e-mail. Per i messaggi SMS, gli utenti possono inviare 100 recapiti di notifica gratuiti; per i messaggi successivi, la tariffa varia in base al Paese di destinazione.

Amazon SNS offre inoltre un piano gratuito, che consente agli utenti di iniziare a utilizzare Amazon SNS gratuitamente. Ogni mese, il primo milione di richieste di Amazon SNS è gratuito, così come le prime 100.000 notifiche tramite HTTP, le prime 100 notifiche tramite SMS e le prime 1.000 notifiche tramite e-mail.

Per ulteriori informazioni sui prezzi e sui costi per il trasferimento dei dati, consulta la pagina dei dettagli relativi ad Amazon SNS.

D: Come viene addebitato e fatturato il mio utilizzo di Amazon SNS?

L'utilizzo del servizio non richiede alcun costo di configurazione. Alla fine del mese, verrà addebitato sulla carta di credito il costo delle risorse utilizzate in quel mese. Puoi controllare i consumi per il periodo di fatturazione corrente in qualsiasi momento sul sito Web di Amazon Web Services accedendo al tuo account AWS e facendo clic su "Account Activity" nell'area "Your Web Services Account".

D: Quando inizia e quando finisce il periodo di fatturazione per l'utilizzo di Amazon SNS?

Il periodo di fatturazione di Amazon SNS inizia il primo giorno di ogni mese e termina l'ultimo giorno di ciascun mese. I costi mensili saranno calcolati alla fine di ciascun mese.

D: I prezzi includono le tasse?

Salvo diversa indicazione, i prezzi sono al netto di eventuali tasse e imposte doganali, inclusa l'IVA ed eventuali imposte sulle vendite. Per i clienti con indirizzo di fatturazione in Giappone, l'utilizzo dei servizi AWS è soggetto all'imposta sul consumo giapponese. Ulteriori informazioni.


D: Qual è il formato di un argomento di Amazon SNS?

I nomi degli argomenti non possono contenere più di 256 caratteri. È consentito l'utilizzo di caratteri alfanumerici, trattini (-) e caratteri di sottolineatura (_). I nomi degli argomenti devono essere univoci all'interno di un account AWS. Dopo aver eliminato un argomento potrai utilizzare di nuovo il relativo nome. Dopo aver creato un argomento, Amazon SNS assegnerà un ARN (Amazon Resource Name) univoco all'argomento. L'ARN conterrà il nome del servizio (SNS), l'area geografica, l'ID AWS dell'utente e il nome dell'argomento. L'ARN verrà restituito assieme alla chiamata all'API per la creazione dell'argomento. Se un'entità di pubblicazione o un sottoscrittore deve eseguire un'operazione sull'argomento, dovrà fare riferimento all'ARN univoco associato all'argomento.

Di seguito è riportato l'ARN relativo all'argomento "mytopic" creato da un utente con ID account AWS "123456789012" ospitato nell'areaa geografica Stati Uniti orientali:

arn:aws:sns:us-east-1:1234567890123456:mytopic Nota: gli utenti NON devono tentare di creare l'ARN dell'argomento in base ai singoli componenti. Per creare l'argomento, è necessario utilizzare sempre il nome restituito dalla chiamata all'API.

D: Quali sono le operazioni disponibili in Amazon SNS e chi è autorizzato a eseguirle?

Amazon SNS mette a disposizione un set di API semplici che consentono l'invio di notifiche di evento a proprietari di argomenti, sottoscrittori ed entità di pubblicazione.

Operazioni disponibili per i proprietari:

  • CreateTopic: consente di creare un nuovo argomento.
  • DeleteTopic: consente di eliminare un argomento creato in precedenza.
  • ListTopics: consente di elencare gli argomenti di proprietà di un utente specifico (ID AWS).
  • ListSubscriptionsByTopic: consente di elencare le sottoscrizioni a un argomento specifico.
  • SetTopicAttributes: consente di impostare/modificare gli attributi degli argomenti, ad esempio impostare e modificare i permessi delle entità di pubblicazione/sottoscrittori, i protocolli di trasporto e così via.
  • GetTopicAttributes: consente di recuperare/visualizzare gli attributi esistenti di un argomento.
  • AddPermission: consente di concedere agli utenti selezionati l'accesso a operazioni specifiche.
  • RemovePermission: consente di rimuovere i permessi concessi agli utenti selezionati in relazione a operazioni specifiche.

Operazioni disponibili per i sottoscrittori:

  • Subscribe: consente di registrare una nuova sottoscrizione a un argomento specifico, che genererà un messaggio di conferma da parte di Amazon SNS.
  • ConfirmSubscription: consente di rispondere a un messaggio di conferma della sottoscrizione, ovvero conferma la richiesta di sottoscrizione relativa alla ricezione delle notifiche dall'argomento sottoscritto.
  • UnSubscribe: consente di annullare la sottoscrizione registrata in precedenza.
  • ListSubscriptions: consente di elencare le sottoscrizioni di proprietà di un utente specifico (ID AWS).

Operazioni disponibili per le entità di pubblicazione:

  • Publish: consente di pubblicare un nuovo messaggio nell'argomento.

D: Perché esistono due API distinte per elencare le sottoscrizioni?

Le due API per elencare le sottoscrizioni eseguono funzionalità diverse e restituiscono risultati distinti:

  • L'API ListSubscriptionsByTopic consente al proprietario di un argomento di visualizzare l'elenco di tutti i sottoscrittori attivamente registrati all'argomento.
  • L'API ListSubscriptions consente a un utente di visualizzare l'elenco di tutte le proprie sottoscrizioni attive (a uno o più argomenti).

D: Quali sono i diversi formati di recapito/trasporto per la ricezione delle notifiche?

Per consentire ai clienti di sfruttare al massimo la flessibilità dei meccanismi di recapito, Amazon SNS supporta più protocolli di trasporto per le notifiche. I clienti possono selezionare uno dei seguenti protocolli di trasporto nell'ambito delle richieste di sottoscrizione:

  • "HTTP", "HTTPS": i sottoscrittori specificano un URL durante la registrazione della sottoscrizione. Le notifiche verranno recapitate mediante una richiesta HTTP POST all'URL specificato.
  • "Email", "Email-JSON": i messaggi vengono inviati a un indirizzo registrato sotto forma di messaggi e-mail. Il protocollo Email-JSON invia le notifiche sotto forma di oggetti JSON, mentre il protocollo Email invia messaggi e-mail di testo.
  • "SQS": gli utenti possono specificare una coda SQS standard come endpoint. Amazon SNS accoderà il messaggio di notifica nella coda specificata, che i sottoscrittori potranno quindi elaborare utilizzando le API SQS quali, ad esempio, ReceiveMessage, DeleteMessage e così via. Le code FIFO non sono al momento supportate.
  • "SMS": i messaggi vengono inviati ai numeri di telefono registrati sotto forma di messaggi di testo in formato SMS.

D: I proprietari degli argomenti possono controllare i protocolli di trasporto supportati dagli argomenti che hanno creato o di cui sono proprietari?

I proprietari degli argomenti possono configurare protocolli di trasporto specifici per i propri argomenti impostando i permessi appropriati mediante le policy di controllo accessi.

D: In che modo un proprietario imposta le policy di controllo accessi?

Per una panoramica sull'impostazione delle policy di controllo accessi, consulta la Guida alle operazioni di base di Amazon SNS.

D: Un argomento può supportare le sottoscrizioni con più protocolli di trasporto?

I sottoscrittori di un argomento di Amazon SNS possono ricevere notifiche con qualsiasi protocollo di trasporto supportato dall'argomento. Un argomento può supportare sottoscrizioni e recapiti di notifiche con più protocolli di trasporto.

D: I sottoscrittori possono scegliere di ricevere solo uno specifico sottoinsieme di messaggi pubblicati in un argomento?

Sì, è possibile utilizzare la caratteristica di filtraggio dei messaggi di Amazon Simple Notification Service (SNS) per creare architetture pub/sub più semplici e lineari. Questa funzionalità consente ai sottoscrittori degli argomenti di Amazon SNS di ricevere in modo selettivo solo un sottoinsieme dei messaggi a cui sono interessati, invece di ricevere tutti i messaggi pubblicati per un argomento. Per ulteriori dettagli, prova il tutorial da 10 minuti Filtraggio di messaggi pubblicati in argomenti, oppure consulta la documentazione.

D: Amazon SNS può essere utilizzato con altri servizi AWS?

Amazon SNS può essere utilizzato con altri servizi AWS, ad esempio Amazon SQS, Amazon EC2 e Amazon S3. Di seguito è riportato un esempio di come un sistema di gestione del flusso di lavoro per l'elaborazione degli ordini utilizza Amazon SNS con Amazon EC2, SQS e SimpleDB. In questo sistema di gestione del flusso di lavoro i messaggi vengono inviati tra i componenti dell'applicazione quando si verifica una transazione o un ordine avanza nella pipeline di elaborazione degli ordini. Quando un cliente inserisce un ordine, la transazione viene prima registrata in Amazon SimpleDB e quindi un'applicazione in esecuzione in Amazon EC2 inoltra la richiesta dell'ordine a un processore dei pagamenti che addebita il relativo importo sulla carta di credito o sul conto bancario del cliente. In seguito all'approvazione, un messaggio di conferma dell'ordine viene pubblicato in un argomento di Amazon SNS. In questo caso, l'argomento ha vari sottoscrittori che usano il protocollo Email/HTTP (commercianti, clienti e partner della catena di fornitura). Le notifiche inviate da Amazon SNS per tale argomento consentono l'aggiornamento immediato di tutti i sottoscrittori in merito all'esito positivo dell'elaborazione del pagamento. Le notifiche possono inoltre essere utilizzate per orchestrare un sistema di elaborazione degli ordini in esecuzione su EC2, dove le notifiche inviate tramite il protocollo HTTP possono attivare l'elaborazione in tempo reale nei componenti correlati, ad esempio, in un sistema di inventario o in un servizio di spedizione. Grazie all'integrazione di Amazon SNS con Amazon SQS, tutte le notifiche recapitate vengono inoltre rese persistenti in una coda di Amazon SQS, dove verranno elaborate in un secondo momento da un'applicazione di controllo.

D: Amazon SNS è disponibile in tutte le regioni in cui sono disponibili i servizi AWS?

Consulta la sezione AWS Regions and Endpoints della documentazione di AWS per informazioni aggiornate sulla disponibilità di Amazon SNS.

D: Dopo quanto tempo i clienti possono creare di nuovo argomenti usando i nomi di argomento precedentemente utilizzati?

I nomi di argomento sono in genere disponibili per il riutilizzo dopo circa 30-60 secondi dall'eliminazione del precedente argomento con lo stesso nome. L'intervallo di tempo dipenderà dal numero di sottoscrizioni attive valide per l'argomento. Gli argomenti con pochi sottoscrittori saranno infatti disponibili immediatamente per il riutilizzo, mentre gli argomenti con elenchi di sottoscrittori di grandi dimensioni richiederanno più tempo.


D: In che modo un utente sottoscrive le notifiche con recapito mediante e-mail?

Per ricevere via e-mail le notifiche relative a un argomento specifico, un sottoscrittore deve specificare "Email" o "Email-JSON" come protocollo e fornire un indirizzo e-mail valido come endpoint. Questa operazione può essere eseguita utilizzando la Console di gestione AWS oppure con una chiamata diretta all'API di Amazon SNS. Amazon SNS invierà all'indirizzo e-mail specificato un messaggio contenente un collegamento di conferma e richiederà all'utente di acconsentire in modo esplicito alla ricezione delle notifiche e-mail relative all'argomento desiderato. Quando l'utente conferma la sottoscrizione facendo clic sul collegamento ricevuto, tutti i messaggi pubblicati nell'argomento verranno recapitati all'indirizzo e-mail indicato.

D: Perché in Amazon SNS sono disponibili due protocolli di trasporto per la ricezione delle notifiche via e-mail?

I due protocolli di trasporto via e-mail sono disponibili per due tipi diversi di clienti/utenti. Il protocollo "Email-JSON" consente di inviare le notifiche come oggetti JSON e viene utilizzato dalle applicazioni per elaborare i messaggi e-mail a livello di codice. Il protocollo "Email" è destinato ai clienti/utenti finali. Le notifiche sono normali messaggi di testo facilmente leggibili.

D: Un utente può modificare l'oggetto e il nome visualizzato nelle notifiche inviate tramite il protocollo Email/Email-JSON?

Amazon SNS consente agli utenti di specificare il campo relativo all'oggetto dei messaggi e-mail come parametro passato alla chiamata all'API Publish e può essere diverso per ogni messaggio pubblicato. Il nome visualizzato per gli argomenti può essere impostato utilizzando l'API SetTopicAttributes. Il nome specificato viene applicato a tutti i messaggi e-mail inviati dall'argomento specifico.

D: I sottoscrittori devono configurare in modo specifico le impostazioni e-mail per ricevere le notifiche da Amazon SNS?

Nella maggior parte dei casi gli utenti devono essere in grado di ricevere le conferme di sottoscrizione e le notifiche da Amazon SNS senza interventi di configurazione specifici. Tuttavia, potrebbe verificarsi il caso in cui le impostazioni di default del provider e-mail o altre configurazioni specifiche dell'utente reindirizzano erroneamente i messaggi e-mail alla cartella dello spam. Per assicurarsi che i messaggi di conferma e le notifiche inviati da Amazon SNS siano visibili agli utenti, è necessario aggiungere l'indirizzo "no-reply@sns.amazonaws.com" all'elenco di contatti degli utenti e controllare l'eventuale presenza di messaggi provenienti da Amazon SNS nella cartella dello spam.

D: Se una coda SQS viene configurata come endpoint, gli utenti devono creare la coda prima di effettuare la sottoscrizione? Quali permessi sono richiesti dalla coda?

Gli utenti possono utilizzare la console SQS per creare la coda SQS prima di eseguirne la sottoscrizione a un argomento. Seleziona questa coda nella console e quindi alla voce "Queue Actions" nella barra dei menu seleziona "Subscribe Queue to SNS Topic" nell'elenco di riepilogo a discesa. Nella finestra di dialogo per la sottoscrizione seleziona l'argomento desiderato nell'elenco di riepilogo a discesa "Choose a Topic" e quindi fai clic sul pulsante "Subscribe". Per istruzioni dettagliate complete, consulta la documentazione di Amazon SNS.

D: Le code FIFO di Amazon SQS sono compatibili con Amazon Simple Notification Service (SNS)?

Amazon SNS non supporta attualmente l'inoltro di messaggi alle code FIFO di Amazon SQS. Si può utilizzare SNS per inoltrare messaggi a code standard.

D: In che modo uno sviluppatore configura una coda di Amazon SQS per ricevere le notifiche di Amazon SNS?

Per indicare ad Amazon SNS di recapitare notifiche a una coda SQS, uno sviluppatore deve sottoscrivere un argomento specificando "SQS" come protocollo di trasporto e una coda SQS standard valida come endpoint. Per consentire alla coda SQS di ricevere le notifiche da Amazon SNS, il proprietario della coda SQS deve sottoscrivere la coda SQS all'argomento affinché Amazon SNS recapiti correttamente i messaggi alla coda.

Se l'utente è proprietario sia dell'argomento di Amazon SNS a cui viene effettuata la sottoscrizione che della coda SQS che riceve le notifiche, non sono richieste altre impostazioni. Qualsiasi messaggio pubblicato nell'argomento verrà recapitato automaticamente alla coda SQS specificata. Se l'utente proprietario della coda SQS non è proprietario dell'argomento, Amazon SNS richiederà una conferma esplicita per la richieste di sottoscrizione.

Consulta la documentazione di Amazon SNS per ulteriori dettagli relativi alla sottoscrizione di una coda SQS a un argomento e all'impostazione delle policy di controllo accessi per le code SQS.

D: In che modo è possibile effettuare il fan-out di messaggi identici su più code SQS?

Crea innanzitutto un argomento SNS utilizzando SNS. Quindi, crea e sottoscrivi più code SQS standard per l'argomento SNS. Ogni volta che un messaggio viene inviato all'argomento SNS, tale messaggio verrà distribuito alle code SQS, ovvero SNS recapiterà il messaggio a tutte le code SQS sottoscritte per l'argomento.

D: Qual è il formato dei messaggi di notifica strutturati inviati da Amazon SNS?

Il messaggio di notifica inviato da Amazon SNS per il recapito mediante i protocolli di trasporto HTTP, HTTPS, Email-JSON e SQS è composto da un oggetto JSON che include le seguenti informazioni:

  • MessageId: identificatore univoco universale per ogni notifica pubblicata.
  • Timestamp: ora (nel fuso orario GMT) in cui la notifica è stata pubblicata.
  • TopicArn: argomento per cui il messaggio è stato pubblicato.
  • Type: tipo di messaggio di recapito. Viene impostato su "Notification" per il recapito delle notifiche.
  • UnsubscribeURL: collegamento per annullare la sottoscrizione dell'endpoint all'argomento e pertanto impedire la ricezione di ulteriori notifiche.
  • Message: payload (corpo) del messaggio ricevuto dall'entità di pubblicazione.
  • Subject: campo dell'oggetto se ne è stato incluso uno come parametro facoltativo per pubblicare la chiamata all'API assieme al messaggio.
  • Signature: firma "SHA1withRSA" con codifica Base64 dei valori Message, MessageId, Subject (se presente), Type, Timestamp e Topic.
  • SignatureVersion: versione della firma Amazon SNS utilizzata.

I messaggi di notifica inviati mediante il protocollo di trasporto "Email" contengono solo il payload (corpo del messaggio) ricevuto dall'entità di pubblicazione.

D: In che modo un utente sottoscrive le notifiche con recapito mediante SMS?

Consulta la sezione 'Domande relative ai messaggi SMS' più avanti.


D: In che modo gli utenti proteggono i messaggi inviati agli argomenti?

Tutte le chiamate alle API effettuate ad Amazon SNS vengono convalidate a livello di ID AWS e firma dell'utente. Agli utenti consigliamo inoltre di proteggere i propri dati in linea mediante connessioni a endpoint SSL sicuri.

D: Chi può creare un argomento?

Gli argomenti possono essere creati dagli utenti con ID AWS validi che si sono registrati ad Amazon SNS. Il modo più semplice per creare un argomento è utilizzare la Console di gestione AWS. Un argomento può essere creato anche mediante l'API CreateTopic. La Console di gestione AWS è disponibile all'indirizzo: http://aws.amazon.com/console

D: Più utenti possono pubblicare in uno stesso argomento?

Il proprietario di un argomento può impostare permessi espliciti per consentire a più utenti (con un ID AWS valido) di pubblicare in un argomento. Per default, solo i proprietari di argomenti dispongono dei permessi per eseguire pubblicazioni in un argomento.

D: In che modo il proprietario può concedere/revocare i permessi di pubblicazione o sottoscrizione per un argomento?

Le API AddPermission e RemovePermission forniscono agli sviluppatori un'interfaccia semplice per l'aggiunta e la rimozione dei permessi relativi a un argomento. Tuttavia, per l'accesso condizionale e per casi d'uso più avanzati gli utenti devono utilizzare le policy di controllo accessi per la gestione dei permessi. Il modo più semplice per gestire i permessi è utilizzare la Console di gestione AWS. La Console di gestione AWS è disponibile all'indirizzo: http://aws.amazon.com/console

D: In che modo il proprietario di un argomento concede ai sottoscrittori i permessi di accesso? I sottoscrittori devono avere un ID AWS valido?

Amazon SNS semplifica la procedura di ricezione delle notifiche da parte degli utenti con o senza ID AWS. Il proprietario dell'argomento può concedere/limitare l'accesso ai sottoscrittori impostando i permessi appropriati per l'argomento mediante le policy di controllo accessi. Gli utenti possono ricevere le notifiche da Amazon SNS in due modi:

  • Utenti con ID AWS: i sottoscrittori con un ID AWS valido (consulta questo collegamento per ulteriori dettagli su come ottenere un ID AWS) possono sottoscrivere direttamente qualsiasi argomento, a condizione che il proprietario dell'argomento abbia concesso loro i permessi corrispondenti. Gli ID AWS verranno convalidati durante la registrazione della sottoscrizione.
  • Altri utenti: i proprietari degli argomenti possono sottoscrivere e registrare gli endpoint per conto degli utenti sprovvisti di ID AWS.

In entrambi i casi, il proprietario dell'endpoint di sottoscrizione deve acconsentire e confermare in modo esplicito la sottoscrizione rispondendo al messaggio di conferma inviato da Amazon SNS.

D: In che modo Amazon SNS autentica le chiamate alle API?

L'autenticità di tutte le chiamate alle API effettuate ad Amazon SNS verrà convalidata richiedendo la firma delle richieste con la chiave segreta dell'ID AWS dell'account e la verifica della firma inclusa nelle richieste.

D: In che modo Amazon SNS convalida una richiesta di sottoscrizione per garantire che le notifiche non vengano inviate agli utenti sotto forma di spam?

Durante la registrazione della sottoscrizione Amazon SNS assicurerà che le notifiche vengano inviate solo a sottoscrittori/endpoint registrati validi. Per evitare spam e garantire che l'endpoint di un sottoscrittore interessato riceva effettivamente le notifiche relative a un argomento specifico, Amazon SNS richiede ai sottoscrittori di acconsentire in modo esplicito mediante una procedura di handshake in 2 parti:

i. Quando un utente invia chiamate all'API Subscribe e sottoscrive un endpoint, Amazon SNS invierà un messaggio di conferma all'endpoint specificato.

ii. Alla ricezione del messaggio di conferma nell'endpoint, il sottoscrittore deve confermare la richiesta di sottoscrizione inviando una risposta valida. Solo in seguito a questo processo Amazon SNS considererà valida la richiesta di sottoscrizione. In assenza di risposta a questa richiesta di verifica, Amazon SNS non invierà notifiche all'endpoint in questione. Il meccanismo di conferma della sottoscrizione varia in base al protocollo di trasporto selezionato:

  • Per le notifiche HTTP/HTTPS, Amazon SNS pubblicherà innanzitutto il messaggio di conferma (contenente un token) nell'URL specificato. L'applicazione che esegue il monitoraggio dell'URL dovrà chiamare l'API ConfirmSubscription con il token incluso nel messaggio.
  • Per le notifiche Email ed Email-JSON, Amazon SNS invierà all'indirizzo specificato un messaggio e-mail contenente un collegamento incorporato. L'utente dovrà fare clic sul collegamento incorporato per confermare la richiesta di sottoscrizione.
  • Per le notifiche SQS, Amazon SNS inserirà nella coda specificata un messaggio di verifica contenente un token. L'applicazione che esegue il monitoraggio della coda dovrà chiamare l'API ConfirmSubscription con il token.

Nota: i passaggi di "consenso" esplicito descritti in precedenza non sono richiesti nel caso specifico in cui viene eseguita la sottoscrizione della coda Amazon SQS all'argomento Amazon SNS in quanto entrambi sono "di proprietà" dello stesso account AWS.

D: Per quanto tempo le richieste di sottoscrizione rimangono in sospeso mentre sono in attesa di essere confermate?

Il token incluso nel messaggio di conferma inviato agli endpoint nella richiesta di sottoscrizione è valido per 3 giorni.

D: Chi può modificare i permessi di un argomento?

Solo il proprietario dell'argomento può modificare i permessi dell'argomento in questione.

D: In che modo gli utenti possono controllare che i messaggi di notifica siano stati inviati da Amazon SNS?

Per verificare l'autenticità delle notifiche, Amazon SNS firma tutti i recapiti delle notifiche utilizzando un meccanismo asimmetrico con protezione crittografica (coppia di chiavi pubblica/privata basate su certificati). Amazon SNS pubblica il proprio certificato in una posizione nota, ad esempio http://sns.us-east-1.amazonaws.com/SimpleNotificationService.pem per l'area geografica Stati Uniti orientali, e firma i messaggi con la chiave privata di tale certificato. Gli sviluppatori/le applicazioni possono ottenere il certificato e convalidare la firma nelle notifiche con la chiave pubblica del certificato per controllare che le notifiche siano state effettivamente inviate da Amazon SNS. Per ulteriori dettagli sulle posizioni dei certificati, consulta la pagina dei dettagli relativi ad Amazon SNS.

D: Anche le entità di pubblicazione devono firmare i messaggi?

Amazon SNS richiede alle entità di pubblicazione con ID AWS di convalidare i propri messaggi mediante la firma dei messaggi con la relativa chiave AWS privata. La firma viene quindi convalidata da Amazon SNS.

D: Un'entità di pubblicazione/sottoscrittore può utilizzare il protocollo SSL per proteggere i messaggi?

Sì. Le entità di pubblicazione e i sottoscrittori possono entrambi utilizzare il protocollo SSL per proteggere il canale durante l'invio e la ricezione dei messaggi. Le entità di pubblicazione possono connettersi ad Amazon SNS mediante il protocollo HTTPS e pubblicare i messaggi sul canale SSL. Le entità di pubblicazione devono registrare un endpoint abilitato per SSL durante la registrazione della sottoscrizione. Le notifiche verranno quindi recapitate mediante un canale SSL a tale endpoint.

D: Quali permessi un sottoscrittore deve concedere ad Amazon SNS per l'invio di notifiche a un endpoint registrato?

Il proprietario dell'endpoint che riceve le notifiche deve concedere i permessi necessari affinché Amazon SNS possa inviare i messaggi a tale endpoint.

D: È possibile annullare le sottoscrizioni?

La sottoscrizione dei sottoscrittori può essere annullata dal proprietario dell'argomento, dal proprietario della sottoscrizione oppure da altri utenti, a seconda del meccanismo utilizzato per la conferma della richiesta di sottoscrizione.

  • Una sottoscrizione confermata con il flag AuthenticateOnUnsubscribe impostato su True nella chiamata all'API ConfirmSubscription può essere annullata solo dal proprietario dell'argomento o dal proprietario della sottoscrizione.
  • Se la sottoscrizione è stata confermata in modo anonimo senza il flag AuthenticateOnUnsubscribe impostato su True, è possibile annullare la sottoscrizione in modo anonimo.

In tutti i casi, eccezion fatta per l'annullamento della sottoscrizione da parte del proprietario della sottoscrizione, all'endpoint verrà inviato un messaggio di annullamento finale per consentire al proprietario dell'endpoint di rieseguire in modo semplice e rapido la sottoscrizione all'argomento (se la richiesta di annullamento della sottoscrizione non era intenzionale oppure era un errore). Per ulteriori dettagli sull'API ConfirmSubscription, consulta la documentazione di Amazon SNS.


D: Amazon SNS è soggetto alla normativa HIPAA?

Sì, il programma di conformità agli standard HIPAA di AWS include Amazon SNS. Se disponi di un BAA (Business Associate Agreement) con AWS, puoi utilizzare Amazon SNS per creare applicazioni conformi allo standard HIPAA. In caso contrario, oppure se hai domande sull'utilizzo di AWS con applicazioni conformi agli standard HIPAA, contattaci.

Per ulteriori informazioni, consulta le seguenti risorse:

Per un elenco completo dei programmi in cui è incluso Amazon SNS, consulta la pagina Servizi AWS coperti dal programma di compliance.

D: Con quali standard è conforme Amazon SNS?

Per informazioni aggiornate su SNS e altri servizi AWS, consulta la pagina Servizi AWS coperti dal programma di compliance.


D: Qual è il livello di affidabilità dei dati una volta pubblicati in Amazon SNS?

Amazon SNS archivia tutte le informazioni relative ad argomenti e messaggi all'interno dell'infrastruttura di rete e dei data center sicuri di Amazon. Vengono memorizzate almeno tre copie dei dati in diverse zone di disponibilità, perciò Amazon SNS rimarrà disponibile anche in caso di errori di singoli computer o singole reti.

D: Una notifica contiene più di un messaggio?

No, tutti i messaggi di notifica conterranno un unico messaggio pubblicato.

D: Quante volte ogni messaggio viene ricevuto da un sottoscrittore?

Nonostante nella maggior parte dei casi ogni messaggio venga recapitato all'applicazione solo una volta, la natura distribuita di Amazon SNS ed eventuali condizioni temporanee della rete potrebbero occasionalmente causare la ricezione di messaggi duplicati da parte del sottoscrittore. Gli sviluppatori devono progettare le applicazioni in modo tale che le elaborazioni di un messaggio non creino errori o incoerenze.

D: I messaggi verranno recapitati nell'esatto ordine in cui sono stati pubblicati?

Il servizio Amazon SNS tenterà di recapitare i messaggi dall'entità di pubblicazione nell'ordine in cui sono stati pubblicati nell'argomento. Tuttavia, eventuali problemi di rete potrebbero potenzialmente causare messaggi in un ordine sequenziale errato sul lato del sottoscrittore.

D: Un messaggio può essere eliminato dopo essere stato pubblicato?

No, dopo la sua corretta pubblicazione in un argomento un messaggio non potrà essere annullato.

D: Amazon SNS garantisce la consegna dei messaggi a ogni endpoint sottoscritto?

Quando un messaggio viene pubblicato in un argomento, Amazon SNS tenterà di recapitare le notifiche a tutti i sottoscrittori registrati per tale argomento. A causa di potenziali problemi a livello di Internet o delle limitazioni del recapito dei messaggi e-mail, a volte la notifica potrebbe non raggiungere un endpoint HTTP o Email. In caso di utilizzo del protocollo HTTP, è possibile utilizzare una policy di recapito SNS per controllare lo schema dei nuovi tentativi (backoff lineare, geometrico, esponenziale), il ritardo massimo e minimo dei nuovi tentativi e altri parametri. Se è fondamentale che tutti i messaggi pubblicati vengano elaborati correttamente, gli sviluppatori devono far recapitare le notifiche a una coda SQS (oltre alle notifiche su altri protocolli di trasporto).

D: Cosa accade ai messaggi di Amazon SNS se un endpoint con sottoscrizione non è disponibile?

Tutti i messaggi inviati a SNS sono elaborati e inoltrati immediatamente. Se un messaggio non può essere consegnato al primo tentativo, la procedura di SNS prevede 4 fasi: 1) nuovi tentativi senza alcun intervallo tra loro; 2) nuovi tentativi suddivisi da brevi intervalli; 3) nuovi tentativi con un modello di backoff (lineare o esponenziale); 4) nuovi tentativi con l'intervallo massimo possibile tra loro. 

Le procedure di ciascun endpoint possono variare secondo quanto descritto di seguito.

  • SQS: se una coda SQS non è disponibile, SNS effettuerà 10 nuovi tentativi immediatamente, quindi altri 100.000 tentativi ogni 20 secondi, per un totale di 100.010 in più di 23 giorni; quindi il messaggio viene scartato.
  • Lambda: se Lambda non è disponibile, SNS effettuerà 2 nuovi tentativi a 1 secondo di distanza, quindi 10 nuovi tentativi con backoff esponenziale, da 1 secondo a 20 minuti, infine 38 tentativi ogni 20 minuti, per un totale di 50 tentativi in più di 13 ore; quindi il messaggio viene scartato. 
  • HTTP/S: le policy di consegna degli endpoint HTTP/S possono essere impostate in base all'argomento. Ognuna di essere conterrà una procedura specifica relativa ai nuovi tentativi e una relativa al throttling. Ad esempio, è possibile specificare ritardi minimi e massimi per nuovi tentativi, il numero di tentativi da effettuare prima di uno specifico intervallo e il tipo di backoff (lineare, esponenziale o aritmetico).  Una volta effettuato il numero specificato di nuovi tentativi, SNS elimina il messaggio. Le policy di throttling vengono definite dal numero massimo di tentativi di consegna al secondo per sottoscrizione.  Per ulteriori informazioni, consulta il documento Setting Amazon SNS Delivery Retry Policies for HTTP/HTTPS Endpoints.
  • E-mail: se un endpoint di posta non è disponibile, SNS effettuerà immediatamente 1 nuovo tentativo a 10 secondi di distanza, quindi 10 nuovi tentativi con backoff lineare, da 10 secondi a 5 minuti, infine 90 tentativi ogni 5 minuti, per un totale di 102 tentativi in più di 7 ore; quindi il messaggio viene scartato.
  • Notifiche push per dispositivi mobili: se un endpoint per dispositivi mobili non è disponibile, SNS effettuerà immediatamente 2 nuovi tentativi, quindi 5 nuovi tentativi a 20 secondi di distanza, 31 nuovi tentativi con backoff esponenziale, da 20 secondi a 20 minuti, infine 12 tentativi ogni 20 minuti, per un totale di 50 tentativi in più di 4 ore; quindi il messaggio viene scartato.
  • SMS: se un endpoint SMS non è disponibile, SNS effettuerà 2 nuovi tentativi a 1 secondo di distanza, quindi 10 nuovi tentativi con backoff esponenziale, da 1 secondo a 10 minuti, infine 38 tentativi ogni 10 minuti, per un totale di 50 tentativi in più di 6 ore; quindi il messaggio viene scartato.

D: Quali sono le caratteristiche della nuova funzionalità Worldwide SMS?

Puoi utilizzare Amazon SNS per inviare messaggi di testo in più di 200 paesi in tutto il mondo, senza dover attendere una loro esplicita iscrizione. È tuttavia necessario ottenere consenso dei destinatari all'invio di messaggi SMS al loro numero di telefono, secondo quanto prescritto da legislazione e normative locali. Inoltre, è possibile contrassegnare i messaggi SMS come "transazionali" per ottimizzare l'affidabilità della consegna, oppure come "promozionali" per ottimizzare i costi. Infine, è possibile configurare limiti di spesa a livello di account e di messaggio per evitare di sforare il budget.

D: Quando è consigliato contrassegnare un messaggio come Transactional?

I messaggi da contrassegnare come "transazionali" sono quelli ad elevata priorità. In questo modo potrai assicurarti che i messaggi che contengono, ad esempio, password monouso (OTP) o PIN vengano inoltrati mediante instradamenti con un tasso di consegna il più elevato possibile. In alcuni paesi (ma non negli Stati Uniti), questi instradamenti tendono ad avere costi più elevati rispetto a quelli impiegati per i messaggi di tipo promozionale. È importante non contrassegnare mai messaggi di marketing come "transazionali": in alcuni paesi si tratta di una violazione alle normative locali, perciò l'account potrebbe venire segnalato per uso illecito e sospeso.

D: Quando è consigliato contrassegnare un messaggio come Promotional?

I messaggi da contrassegnare come "promozionali" sono quelli che contengono materiale di marketing. Amazon SN assicura che tali messaggi vengano inoltrati mediante instradamenti con un buon livello di affidabilità, ma meno costosi rispetto alla maggior parte degli instradamenti. In questo modo Amazon SNS è in grado di gestire e consegnare i messaggi in conformità a legislazione e normative locali.

D: Quali sono i limiti di spesa a livello di account e a livello di messaggio, e come funzionano?

I limiti di spesa possono essere specificati per account AWS e per singolo messaggio; tali limiti si applicano solo al costo di invio dei messaggi SMS.

Il limite di spesa predefinito per un account (se non altrimenti indicato) è di 1.00 USD al mese. Se si desidera aumentare il limite, inviare una richiesta Aumento limite SMS. Per Nuovo valore limite, immettere il limite di spesa mensile desiderato. Nel campo Descrizione caso d'uso, spiegare che si sta richiedendo un aumento del limite di spesa mensile di SMS.

Amazon SNS invia messaggi SMS fintanto che i costi totali del traffico SMS sono inferiori al limite di spesa per il mese di calendario corrente. Una volta superato il limite, Amazon SNS interrompe l'invio di messaggi finché non viene aumentato il limite o inizia un nuovo mese di calendario. Analogamente, è possibile specificare un limite di spesa per un singolo messaggio, e Amazon SNS invierà tale messaggio solo fintanto che le spese rimangono sotto il limite fissato. Amazon SNS non invierà messaggi SMS se il limite di spesa a livello di account viene superato, indipendentemente dal limite di spesa indicato a livello di messaggio.

D: Sono supportati gli SMS bidirezionali?

Amazon SNS al momento non supporta gli SMS bidirezionali, fatta eccezione per l'annullamento del servizio, se prescritto dalle normative locali.

D: È necessario iscrivere i numeri di telefono a un argomento SNS prima di poter inviare loro SMS?

Non è più necessario iscrivere un numero di telefono a un argomento Amazon SNS prima di potergli inviare messaggi. Ora è possibile inoltrare messaggi a un numero di telefono direttamente utilizzando la console di Amazon SNS o la richiesta Publish nell'API di Amazon SNS.

D: AWS offre l'acquisto di short code?

Sì. È possibile prenotare short code dedicati da assegnare a un account per il suo utilizzo esclusivo.

Per prenotare uno short code, apri una richiesta di assistenza nel Centro di supporto di AWS. Per ulteriori informazioni, consulta Reserving a Dedicated Short Code for SMS Messaging nella Amazon SNS Developer Guide.

Per informazioni sui prezzi, consulta la pagina apposita.

D: AWS offre l'acquisto di long code?

No. AWS al momento non offre long code.

D: Le notifiche SMS verranno inviate da long code o short code differenti?

Per inviare le notifiche, Amazon SNS utilizza una serie di long code e short code. Anche se c'è la possibilità che le notifiche SMS siano inviate da diversi numeri, Amazon SNS verificherà che i messaggi inviati da un account SMS a uno specifico numero di telefono provengano sempre dallo stesso long code o short code. Questo numero è noto come "Sticky Sender ID".

È possibile prenotare uno short code dedicato per assicurarsi venga utilizzato per tutti gli SMS inviati tramite Amazon SNS. Prenotando uno short code, il pubblico potrà riconoscere subito il mittente di un messaggio. Per ulteriori informazioni, consulta Reserving a Dedicated Short Code for SMS Messaging nella Amazon SNS Developer Guide.

D: Quali paesi supporta Amazon SNS per la funzione Worldwide SMS?

Amazon SNS supporta oltre 200 paesi, e il numero è in costante crescita. Consulta l'elenco di paesi supportati per un elenco completo dei paesi a cui è possibile inviare SMS.

D: Quali regioni supportano Worldwide SMS?

1) US-East-1 (Virginia), 2) US-West-2 (Oregon), 3) EU-West-1 (Dublino), 4) Asia Pacifico (Tokyo), 5) Asia Pacifico (Singapore) e 6) Asia Pacifico (Sydney).

D: I numeri di telefono di AWS possono variare?

Sì. Per inviare le notifiche, Amazon SNS utilizza una serie di long code e short code. Anche se c'è la possibilità che le notifiche SMS siano inviate da diversi numeri, Amazon SNS verificherà che i messaggi inviati da un account SMS a uno specifico numero di telefono provengano sempre dallo stesso long code o short code. Questo numero è noto come "Sticky Sender ID".

D: Perché dispositivi differenti con lo stesso operatore ricevono messaggi provenienti da numeri di telefono diversi?

Per inviare le notifiche, Amazon SNS utilizza una serie di long code e short code. Anche se c'è la possibilità che le notifiche SMS siano inviate da diversi numeri, Amazon SNS verificherà che i messaggi inviati da un account SMS a uno specifico numero di telefono provengano sempre dallo stesso long code o short code. Questo numero è noto come "Sticky Sender ID".

D: Quale formato da impiegare per il numero di telefono è consigliato per l'invio di messaggi all'estero?

AWS consiglia vivamente di impiegare il formato E.164 per tutti i numeri di telefono nei campi "to" e "from" (ove applicabile). Consulta l'elenco di paesi supportati per un elenco completo dei paesi a cui è possibile inviare SMS.

D: Amazon SNS è in grado di determinare se un numero di telefono appartiene a un cellulare, una linea fissa o a un dispositivo VoIP?

No. Al momento, Amazon SNS non rileva se il numero di telefono appartiene a un cellulare, una linea fissa o a un dispositivo VoIP.

D: Sono supportate funzioni di invio ritardato o programmato?

No. Amazon SNS al momento non supporta funzioni di invio ritardato o programmato.

D: In che modo è possibile tenere traccia dello stato di consegna dei messaggi SMS?

Abilitando la funzionalità Delivery Status in Amazon SNS, potrai ottenere le seguenti informazioni per ogni messaggio: MessageID, Time Sent, Destination Phone Number, Disposition, Disposition Reason (dove applicabile), Price e Dwell Time.

D: Sono supportati gli MMS?

No. Al momento Amazon SNS non supporta i messaggi MMS.

D: Qual è il costo di ricezione dei messaggi SMS provenienti da Amazon SNS?

Il costo di ricezione dei messaggi SMS dipende dal piano dati e messaggi dell'operatore mobile o wireless del destinatario.

D: In che modo i destinatari possono richiedere di non ricevere messaggi SMS da AWS?

I destinatari possono usare i loro dispositivi per richiedere di non ricevere messaggi utilizzando una delle risposte seguenti:

  • ARRET (francese)
  • CANCEL
  • END
  • OPT-OUT
  • OPTOUT
  • QUIT
  • REMOVE
  • STOP
  • TD
  • UNSUBSCRIBE
Per richiedere di non ricevere messaggi, il destinatario deve rispondere allo stesso codice lungo o corto utilizzato da Amazon SNS per recapitare il messaggio. Dopo l'annullamento, il destinatario non riceverà più messaggi SMS distribuiti dal tuo account AWS a meno che tu non abbia scelto il numero di telefono.

D: In che modo è possibile stabilire se un destinatario ha scelto di non ricevere SMS?

La console di SNS dispone di un elenco di numeri che hanno richiesto l'annullamento dei messaggi dal tuo account. Inoltre, l'API di Amazon SNS offre la richiesta ListPhoneNumbersOptedOut che elenca tali numeri di telefono.

D: Se un utente annulla la ricezione di messaggi, l'abbonamento all'argomento SNS per il suo numero viene automaticamente annullato?

No. L'annullamento della ricezione non annulla anche l'abbonamento a un argomento di Amazon SNS, lo disabilita. Questo significa che se aggiungi un numero di telefono all'elenco di invio, non è necessario creare un nuovo abbonamento all'argomento.

D: In che modo è possibile confermare che l'utente finale ha ricevuto il messaggio SMS?

Puoi utilizzare la caratteristica Delivery Status per ottenere le informazioni sullo stato del messaggio SMS. Per ulteriori informazioni su questa funzione e su come utilizzarla, consulta la documentazione.

D: Amazon SNS offre avvisi di ricezione per i messaggi SMS?

La caratteristica Delivery Status fornisce informazioni basate sugli avvisi di ricezione provenienti dall'operatore di destinazione. Per ulteriori informazioni sulla funzione Delivery Status e su come utilizzarla, consulta la documentazione.

D: È supportato l'invio di SMS a servizi VoIP quali Google Voice o Hangouts?

Sì. Amazon SNS supporta l'invio di messaggi a servizi VoIP abilitati alla ricezione di messaggi SMS.


D: È possibile consultare i prezzi per l'invio di SMS a seconda del paese?

Le nostre tariffe dipendono da paese di destinazione e operatore e possono essere consultate in questa pagina

D: Perché il prezzo per gli SMS varia spesso anche per lo stesso paese e lo stesso operatore?

I prezzi nel settore degli SMS non sono statici, e il costo per l'invio in paesi diversi e tramite operatori differenti è variabile. Amazon SNS adotta un approccio trasparente e riflette le variazioni dei prezzi sulle tariffe rivolte ai clienti, che potranno quindi sempre ottenere la migliore tariffa.

D: Vengono fatturati anche i messaggi non consegnati e quelli rifiutati dagli operatori?

I messaggi non consegnati potranno essere fatturati se l'operatore di destinazione comunica che il messaggio è stato inviato a un numero di telefono non valido. I numeri di telefono possono essere ritenuti non validi per diverse ragioni, ad esempio se il numero non esiste, se il proprietario del telefono non dispone di credito sufficiente oppure se il numero di destinazione è un numero fisso.

D: È previsto un piano gratuito per i messaggi SMS?

Per i messaggi SMS esiste una quota gratuita. I primi 100 SMS inviati verso numeri di telefono negli USA ogni mese sono gratuiti. Eventuali SMS aggiuntivi verso gli USA o qualsiasi messaggio inviato a numeri di telefono all'estero vengono fatturati in base alle tariffe indicate in questa pagina.


D: Esistono limiti al numero di argomenti o al numero di sottoscrittori per argomento?

Di default, SNS supporta 10 milioni di sottoscrizioni per argomento e 100.000 argomenti per account.  Per richiedere un innalzamento del limite, contatta il supporto.

D: Quanti dati e che tipo di dati supporta un messaggio?

A eccezione dei messaggi SMS, i messaggi di Amazon SNS possono contenere più di 256 KB di dati di testo, fra cui XML, JSON e testo non formattato.

Sono accettati i seguenti caratteri Unicode:

#x9 | #xA | #xD | [#x20 – #xD7FF] | [#xE000 – #xFFFD] | [#x10000 – #x10FFFF]

(http://www.w3.org/TR/REC-xml/#charsets).

Ogni blocco da 64 KB di dati pubblicati equivale, ai fini di fatturazione, a 1 richiesta. Una singola chiamata API con un payload di 256 KB, ad esempio, sarà fatturata come quattro richieste.

Messaggi SMS

Ogni messaggio SMS può contenere fino a 140 byte e il limite del numero di caratteri dipende dallo schema di codifica. Per esempio, un messaggio SMS può contenere:

  • 160 caratteri GSM
  • 140 caratteri ASCII
  • 70 caratteri UCS-2

Se si pubblica un messaggio che supera questi limiti, Amazon SNS lo invia in più parti, ognuna inferiore ai limiti. I messaggi non vengono interrotti a metà di una parola ma fra una parola e l'altra. Il limite delle dimensioni di un'operazione di pubblicazione singola di SMS è di 1600 byte.

D: Quanti filtri è possibile applicare ai messaggi di un argomento?

Di default, è possibile applicare a un argomento 100 filtri per ogni account per regione. Contattaci se prevedi di superare questo limite.

D: Esistono porte TCP da utilizzare per le comunicazioni tra regioni diverse tra SNS ed EC2? 

Sì, non è garantito il funzionamento delle comunicazioni tra regioni tra SNS ed EC2 su porte diverse da 80/443/4080/8443 e pertanto tali comunicazioni devono essere evitate.


D: Che cos'è il recapito di un messaggio non elaborato?

Per impostare il recapito di messaggi in formato non elaborato, ovvero di messaggi esattamente come vengono pubblicati, devi acconsentire in modo esplicito a questo tipo di ricezione. Per default, i messaggi vengono recapitati codificati in formato JSON, formato che fornisce i metadati relativi al messaggio e all'argomento. Il recapito di messaggi non elaborati può essere abilitato impostando la proprietà "RawMessageDelivery" nelle sottoscrizioni. Per impostare questa proprietà, utilizza la Console di gestione AWS oppure l'API SetSubscriptionAttributes.

D: Qual è il comportamento di default se nella sottoscrizione non viene impostata la proprietà relativa al recapito dei messaggi non elaborati?

Se questa proprietà non viene impostata, per default i messaggi verranno recapitati in formato JSON. Si tratta del funzionamento corrente del recapito. Ciò garantisce il funzionamento previsto delle applicazioni esistenti.

D: Che tipi di endpoint supportano il recapito di messaggi non elaborati?

Il recapito di messaggi non elaborati è supportato da endpoint SQS e HTTP(S). I recapiti agli endpoint di Lambda, posta elettronica ed SMS avranno lo stesso funzionamento, indipendentemente dalla proprietà "RawMessageDelivery".

D: In che modo i messaggi non elaborati verranno recapitati agli endpoint HTTP?

Quando i messaggi non elaborati vengono recapitati agli endpoint HTTP/s, il corpo del messaggio verrà incluso nel corpo della richiesta HTTP POST.


D: Che cos'è SNS Mobile Push?

SNS Mobile Push consente di utilizzare il servizio SNS (Simple Notification Service) per recapitare notifiche push a dispositivi Apple, Google, Fire OS e Windows, nonché a dispositivi Android in Cina tramite Baidu Cloud Push. Grazie alle notifiche push un'applicazione mobile installata può inviare immediatamente una notifica ai propri utenti visualizzando una notifica popup relativa a un evento senza la necessità di aprire l'applicazione corrispondente. Ad esempio, è possibile installare un'applicazione sportiva e abilitare le notifiche push in modo che l'applicazione sia in grado di inviare i punteggi e le classifiche più recenti della squadra preferita anche se l'applicazione non è in esecuzione. Le notifica viene visualizzata sul dispositivo e quando l'utente ne conferma la ricezione l'applicazione viene avviata per visualizzare ulteriori informazioni. Per gli utenti ciò sarà simile alla ricezione di un SMS, ma la visualizzazione sarà caratterizzata da funzionalità avanzate e costi ridotti.

D: Come faccio a iniziare a inviare notifiche push?

Le notifiche push possono essere inviate solo ai dispositivi in cui l'applicazione è installata e i cui utenti hanno acconsentito in modo esplicito a riceverle. SNS Mobile Push non richiede il consenso esplicito per l'invio delle notifiche push, a differenza dei sistemi operativi iOS, Android e Kindle Fire. Per inviare notifiche push con SNS, devi inoltre registrare l'applicazione e ciascun dispositivo in cui è installata con SNS. Per ulteriori informazioni, consulta Using Amazon SNS Mobile Push Notifications.

D: Quali piattaforme per notifiche push sono supportate?

Attualmente sono supportate le seguenti piattaforme per notifiche push:

  • Amazon Device Messaging (ADM)
  • Apple Push Notification Service (APNS)
  • Google Cloud Messaging (GCM)
  • Windows Push Notification Service (WNS) per Windows 8+ e Windows Phone 8.1+
  • Microsoft Push Notification Service (MPNS) per Windows Phone 7+
  • Baidu Cloud Push per dispositivi Android in Cina

D: Quante notifiche push posso inviare con il piano gratuito del servizio SNS?

Il piano gratuito del servizio SNS include 1 milione di pubblicazioni più 1 milione di recapiti di notifiche push su dispositivi mobili. Puoi pertanto inviare 1 milione di notifiche push gratuite ogni mese. Le notifiche a tutti gli endpoint push mobili vengono calcolate congiuntamente come 1 milione di recapiti push gratuiti a dispositivi mobili.

D: L'abilitazione delle notifiche push richiede conferme speciali mediante SNS Mobile Push?

No. Gli utenti finali devono acconsentire alla ricezione delle notifiche push quando eseguono un'applicazione per la prima volta indipendentemente dal fatto che il servizio SNS recapiti o meno le notifiche push.

D: Devo modificare l'applicazione client in modo che utilizzi SNS Mobile Push?

SNS non richiede di modificare l'applicazione client.  Il corretto funzionamento di Baidu Cloud Push richiede l'aggiunta di componenti specifici per Baidu al codice client, indipendentemente dal fatto che si scelga di utilizzare il servizio SNS.

D: Come funzionano gli argomenti SNS con Mobile Push?

Gli argomenti SNS possono includere sottoscrittori da qualsiasi piattaforma per notifiche push supportata, nonché qualsiasi altro tipo di endpoint, ad esempio SMS o Email. Quando pubblichi una notifica in un argomento, SNS invierà copie identiche del messaggio a ogni endpoint sottoscritto per l'argomento. In caso di utilizzo di payload specifici della piattaforma per definire l'esatto payload inviato a ogni piattaforma di push, la pubblicazione avrà esito negativo se supera la dimensione massima del payload imposta dalla specifica piattaforma di notifica push.

D: Qual è la dimensione di payload supportata per le varie piattaforme di destinazione?

SNS supporta la dimensione di payload massima supportata dalla piattaforma nativa sottostante. I clienti possono utilizzare un oggetto JSON per inviare messaggi specifici della piattaforma. Per ulteriori informazioni, consulta Using SNS Mobile Push API.

D: Come funzionano i payload specifici della piattaforma?

Quando effettui una pubblicazione in un argomento e desideri inviare messaggi personalizzati a endpoint per piattaforme di notifica push diverse, devi selezionare l'opzione "Use different message body for different protocols" nella finestra di dialogo "Publish" e quindi aggiornare i messaggi. Puoi utilizzare payload specifici della piattaforma per specificare l'esatta stringa API inoltrata a ogni servizio di notifiche push. Ad esempio, puoi utilizzare payload specifici della piattaforma per modificare il conteggio delle notifiche dell'applicazione iOS tramite APNS. Per ulteriori informazioni, consulta Using Amazon SNS Mobile Push Notifications.

D: È possibile effettuare la sottoscrizione di un token a più argomenti?

Sì. È possibile effettuare la sottoscrizione di ogni token a un numero illimitato di argomenti SNS.

D: Cos'è l'indirizzamento diretto? Come funziona?

L'indirizzamento diretto consente di recapitare le notifiche direttamente a un unico endpoint, anziché inviare messaggi identici a tutti i sottoscrittori di un argomento. Ciò risulta utile se desideri recapitare messaggi mirati a ciascun destinatario. Quando registri i token dei dispositivi con SNS, SNS crea un endpoint corrispondente a tali token. Puoi effettuare la pubblicazione nell'endpoint del token in modo analogo alla pubblicazione in un argomento. Puoi pubblicare direttamente il testo della notifica oppure un payload specifico della piattaforma in grado di sfruttare tutti i vantaggi delle funzionalità specifiche della piattaforma, ad esempio l'aggiornamento del conteggio delle notifiche dell'applicazione. L'indirizzamento diretto è attualmente disponibile solo per gli endpoint delle notifiche push.

D: SNS supporta l'indirizzamento diretto per le notifiche SMS o e-mail?

Attualmente l'indirizzamento diretto è supportato solo per gli endpoint push mobili (APNS, GCM, ADM, WNS, MPNS, Baidu) e gli SMS. L'invio di messaggi e-mail richiede l'uso di argomenti.

D: In che modo SNS Mobile Push gestisce il feedback dei token dai servizi di notifica?

I servizi di notifica push quali, ad esempio, APNS e GCM, forniscono feedback relativi ai token presumibilmente scaduti o sostituiti da nuovi token. Se il servizio APNS o GCM segnala che un token specifico è scaduto oppure non è valido, SNS "disabilita" automaticamente l'endpoint dell'applicazione associato al token e comunica la variazione mediante un evento. Nello specifico, GCM a volte non solo indica che un token non è valido, ma fornisce anche un nuovo token associato all'endpoint dell'applicazione nella sua risposta al servizio SNS. In questo caso, SNS aggiorna automaticamente l'endpoint associato con il nuovo valore del token, lasciando abilitato l'endpoint, e quindi invia una notifica relativa a questa modifica mediante un evento.

D: È possibile eseguire la migrazione delle applicazioni esistenti in SNS Mobile Push?

Sì. Puoi eseguire un caricamento in blocco dei token di dispositivo esistenti in Amazon SNS mediante l'interfaccia della console oppure l'API. Dovrai inoltre registrare l'applicazione con il servizio SNS mediante il caricamento delle credenziali per i servizi di notifica push rilevanti e quindi configurare il proxy o l'applicazione per la registrazione dei futuri token con SNS.

D: Posso monitorare le notifiche push mediante Amazon CloudWatch?

Sì. SNS pubblica le metriche di Cloudwatch relative alle seguenti informazioni: numero di messaggi pubblicati, numero di notifiche riuscite, numero di notifiche non riuscite e dimensione dei dati pubblicati. Le metriche sono disponibili in base all'applicazione specifica. Puoi accedere alle metriche di Cloudwatch mediante la Console di gestione AWS oppure le API di CloudWatch.

D: Che tipi di notifiche push di Windows sono supportate da Amazon SNS?

SNS supporta tutti i tipi di notifiche push disponibili in Microsoft WNS e MPNS, tra cui notifiche di tipo avviso popup, notifiche di tipo riquadro, notifiche badge e notifiche non elaborate.  Utilizza l'attributo del messaggio TYPE per specificare il tipo di notifica desiderato.  Quando utilizzi i payload di default per inviare lo stesso messaggio a tutte le piattaforme mobili, per default SNS selezionerà le notifiche di tipo avviso popup per le piattaforme Windows.  È necessario specificare un tipo di notifica per le piattaforme Windows quando utilizzi payload specifici della piattaforma.

D: SNS supporta le notifiche push non elaborate di Windows?

Sì.  È necessario codificare il payload della notifica come testo per inviare notifiche non elaborate mediante SNS.

D: Che cos'è Baidu Cloud Push?

Baidu Cloud Push è un servizio alternativo di inoltro delle notifiche push di terze parti per dispositivi Android.  Puoi utilizzare Baidu Cloud Push per raggiungere i clienti Android in Cina, indipendentemente dall'archivio applicazioni di Android scelto dai clienti per scaricare le applicazioni.  Per ulteriori informazioni su Baidu Cloud Push, visita: http://developer.baidu.com/cloud/push.

D: Posso pubblicare notifiche Baidu da tutte le regioni AWS pubbliche?

Sì, SNS supporta le notifiche Baidu push da tutte le regioni AWS pubbliche.

D: Posso utilizzare le notifiche Baidu in qualsiasi archivio applicazioni di Android?

Sì, le notifiche Baidu push funzionano per tutte le applicazioni installate tramite qualsiasi archivio applicazioni di Android.

D: Cosa sono gli attributi del messaggio?

Gli attributi del messaggio consentono di specificare gli elementi di metadati strutturati (ad esempio timestamp, dati geospaziali, firme e identificatori) relativi al messaggio. Gli attributi del messaggio sono facoltativi e sono distinti dal corpo del messaggio, anche se vengono inviati assieme ad esso. Queste informazioni possono essere utilizzate dal destinatario del messaggio per decidere come gestire il messaggio senza dover prima elaborare il corpo del messaggio.

Puoi utilizzare gli attributi dei messaggi SNS assieme ad endpoint SQS ed endpoint push mobili.  Per ulteriori informazioni sugli attributi dei messaggi, consulta SNS Getting Started Guide.

D: Quali attributi del messaggio sono supportati in SNS?

SNS supporta diversi attributi del messaggio per ogni tipo di endpoint, a seconda dei tipi di endpoint supportati.

  • Per gli endpoint SQS, puoi specificare un massimo di 10 triple nome-tipo-valore per messaggio. I tipi supportati includono: stringa, binario e numerico (inclusi valori Integer, a virgola mobile e Double).
  • Per gli endpoint push mobili, puoi utilizzare gli attributi del messaggio specifici supportati dalle singole piattaforme mobili, ad esempio il tipo di notifica.
D: Che cosa si intende per "Time to Live" (TTL)?
 
Alcuni messaggi che è possibile inviare mediante il servizio SNS hanno un valore intrinseco solo per un periodo di tempo limitato. Amazon SNS consente di impostare un valore di durata (TTL, Time to Live) per ogni messaggio. Quando il valore TTL scade per un determinato messaggio non recapitato o letto da un utente finale, il messaggio viene eliminato. Il valore TTL viene specificato in secondi e fa riferimento al momento in cui viene eseguita la chiamata all'API Publish.
 
D: Come specifico un valore TTL per i messaggi?
 
Puoi specificare una durata TTL utilizzando la console o mediante l'API.  Il valore TTL può essere specificato in fase di pubblicazione del messaggio utilizzando l'attributo del messaggio riportato di seguito. È disponibile un attributo diverso per ogni piattaforma. Un attributo specificato per una particolare piattaforma è applicabile solo per il recapito delle notifiche solo a tale piattaforma.
 
D: Qual è la durata TTL di default?
 
SNS utilizza una durata TTL (Time to Live) di default pari a 4 settimane per tutte le piattaforme mobili.
 
D: Gli attributi TTL del messaggio sostituiscono gli attributi TTL specificati in un payload dei messaggi?
 
Sì.  Google GCM e Amazon ADM consentono di specificare un valore TTL all'interno del payload dei messaggi.  Se specifichi l'attributo TTL all'interno del payload dei messaggi e anche all'interno di un attributo del messaggio, SNS utilizzerà l'attributo del messaggio.
 
D: Cosa succede se specifico un valore TTL = 0?
 
Alcune piattaforme considerano il valore TTL = 0 come un caso speciale e tentano di recapitare subito il messaggio. In caso contrario, il messaggio scade immediatamente.  Se specifichi TTL = 0, SNS inoltra il messaggio al servizio appropriato con l'attributo TTL = 0 in modo da considerare il recapito come caso speciale.
 
D: Quali endpoint SNS supportano l'attributo TTL?
 
Puoi utilizzare l'attributo TTL con i seguenti endpoint push mobili: APNS, APNS_Sandbox, GCM, ADM, Baidu e WNS.  Microsoft MPNS attualmente non supporta l'attributo TTL.  TTL non è inoltre supportato per gli endpoint SQS, HTTP, Email o SMS.
 
D: Qual è la funzione della caratteristica "Delivery Status" di Amazon SNS?
 
La funzionalità "Delivery Status" consente di raccogliere le informazioni relative alle frequenze di esecuzione con o senza errori e ai tempi di attesa delle notifiche push per le piattaforme di notifica mobili. Le piattaforme attualmente supportate sono Apple (APNS), Google (GCM), Windows (WNS e MPNS), Amazon (ADM) e Baidu. Le informazioni sullo stato vengono acquisite nei gruppi di log di Amazon CloudWatch creati automaticamente da Amazon SNS. Inoltre, in Amazon CloudWatch puoi creare metriche su cui è possibile eseguire azioni e attivare allarmi in base ai criteri desiderati.
 
D: La funzionalità "Delivery Status" in Amazon SNS è disponibile solo per le notifiche push per dispositivi mobili? È previsto il supporto di questa funzionalità anche per gli altri tipi di endpoint?
 
Attualmente la funzionalità "Delivery Status" è disponibile per le notifiche push per dispositivi mobili e gli SMS. Stiamo valutando la possibilità di estenderla ad altri tipi di endpoint, a seconda di quali saranno i feedback dei clienti.
 
D: Cosa devo fare per attivare la funzionalità "Delivery Status"?
 
Puoi attivare la funzionalità "Delivery Status" utilizzando la console di Amazon SNS. Nell'applicazione scegli l'opzione "Delivery Status" nel menu a discesa "Application Actions". Per ulteriori informazioni, consulta la nostra documentazione.
 
D: Posso attivare la funzionalità "Delivery Status" dalle API di Amazon SNS?
 
Sì, puoi attivare questa funzionalità dalle API di Amazon SNS aggiungendo gli attributi rilevanti a livello di applicazione. Nella documentazione sono disponibili tutte le informazioni relative agli attributi a livello di applicazione che è necessario aggiungere e le chiamate API specifiche che devono essere effettuate per abilitare questa funzionalità.
 
D: Qual è il costo della funzionalità "Delivery Status"?
 
L'utilizzo della funzionalità "Delivery Status" non prevede alcun costo aggiuntivo. Tuttavia, a seconda dei livelli di utilizzo, potresti dover sostenere alcuni costi per l'utilizzo di CloudWatch poiché questa funzionalità crea gruppi di log di Amazon CloudWatch. Consulta la pagina dei prezzi per ulteriori informazioni sui prezzi e sul piano gratuito validi per CloudWatch.
 
D: Perché è possibile scegliere solo una percentuale di campionamento per i tentativi di recapito riusciti mentre non è possibile monitorare i tentativi di recapito non riusciti?
 
In base ai feedback ricevuti dai clienti abbiamo constatato che la maggior parte degli sviluppatori è interessata a conoscere il numero di tentativi di recapito non riusciti relativo alle proprie applicazioni e preferiscono archiviare i risultati del monitoraggio dei recapiti riusciti anziché registrarli.
 
D: Come posso impostare gli allarmi in base alle metriche delle operazioni non riuscite o delle metriche relative ai tempi di attesa?
 
Dopo aver attivato la funzionalità "Delivery Status", devi definire un filtro per le metriche nei log di Amazon CloudWatch per il gruppo di log creato automaticamente da Amazon SNS. Questo filtro consente di estrarre le informazioni di maggiore interesse, ad esempio la percentuale di operazioni non riuscite e i tempi di attesa. Dopo aver definito un filtro per le metriche puoi crearlo e assegnarlo a una metrica. Tale metrica potrà quindi essere utilizzata per impostare gli allarmi o inviare le notifiche in base alle soglie definite. Per ulteriori informazioni, consulta la documentazione o il blog.
 

D: Cosa si intende per supporto degli endpoint AWS Lambda in Amazon SNS?

Puoi richiamare le funzioni AWS Lambda mediante la pubblicazione di messaggi negli argomenti di Amazon SNS contenenti funzioni AWS Lambda sottoscritte. Dal momento che Amazon SNS supporta il fan-out dei messaggi, la pubblicazione di un messaggio può richiamare diverse funzioni AWS Lambda oppure richiamare funzioni AWS Lambda e recapitare le notifiche alle destinazioni Amazon SNS supportate, ad esempio destinazioni push per dispositivi mobili, endpoint HTTP, SQS, Email e SMS.

D: Cos'è AWS Lambda?

AWS Lambda è un servizio di elaborazione che esegue codice in risposta a eventi e gestisce automaticamente le risorse di elaborazione, consentendo di creare con facilità applicazioni che rispondono rapidamente alle nuove informazioni. Per ulteriori informazioni su AWS Lambda e su come creare funzioni AWS Lambda, fai clic qui.

D: Cosa si può fare con le funzioni AWS Lambda e Amazon SNS?

La sottoscrizione delle funzioni AWS Lambda negli argomenti di Amazon SNS consente di avvalersi della gestione personalizzata dei messaggi. È possibile richiamare una funzione AWS Lambda per fornire una gestione personalizzata del recapito dei messaggi pubblicando innanzitutto un messaggio in una funzione AWS Lambda, impostando la funzione Lambda in modo che modifichi il messaggio (ad esempio, definire la lingua di localizzazione) e quindi filtrando e instradando tali messaggi ad altri argomenti ed endpoint. Le applicazioni e i servizi che già inviano le notifiche di Amazon SNS, ad esempio Amazon CloudWatch, ora possono utilizzare subito tutte le caratteristiche di AWS Lambda senza dover effettuare il provisioning o gestire l'infrastruttura per la gestione personalizzata dei messaggi. Puoi inoltre utilizzare la funzionalità di recapito a una funzione AWS Lambda come metodo per effettuare la pubblicazione su altri servizi AWS, ad esempio Amazon Kinesis o Amazon S3. Puoi sottoscrivere una funzione AWS Lambda in un argomento di Amazon SNS e quindi impostare la funzione Lambda in modo che a sua volta recapiti il messaggio in un altro servizio.

D: Come si fa ad attivare il supporto degli endpoint AWS Lambda in Amazon SNS?

È innanzitutto necessario creare una funzione AWS Lambda mediante l'account AWS e la console di AWS Lambda, quindi sottoscrivere tale funzione AWS Lambda per un argomento utilizzando la console di Amazon SNS oppure le API di Amazon SNS. Dopo aver completato questa procedura, qualsiasi messaggio pubblicato negli argomenti di Amazon SNS contenenti le funzioni Lambda sottoscritte verrà recapitato alle funzioni Lambda appropriate e a qualsiasi altra destinazione sottoscritta in tale argomento.

D: Cosa succede durante il recapito di un messaggio da Amazon SNS a una funzione AWS Lambda?

Il recapito di un messaggio da Amazon SNS a una funzione AWS Lambda crea un'istanza di una funzione AWS Lambda e la richiama utilizzando il messaggio come input. Per ulteriori informazioni sui formati di messaggio, consulta la documentazione di Amazon SNS e la documentazione di AWS Lambda.

D: Quanto costa questa funzionalità?

La pubblicazione di un messaggio con Amazon SNS costa 0,50 USD per ogni milione di richieste. Oltre ai costi addebitati durante l'utilizzo dei servizi AWS, non sono previsti costi aggiuntivi per il recapito dei messaggi a una funzione AWS Lambda. Amazon SNS dispone di un piano gratuito per 1 milione di richieste al mese. Per ulteriori informazioni, consulta la pagina dei prezzi di Amazon SNS. Il costo delle funzioni AWS Lambda vengono calcolate in base al numero di richieste di funzioni e alla durata dell'esecuzione del codice. Il piano gratuito per AWS Lambda include 1 milione di richieste al mese e 400.000 GB/secondo di tempo di elaborazione al mese. Per ulteriori informazioni, consulta la pagina dei prezzi di AWS Lambda.

D: Posso sottoscrivere le funzioni AWS Lambda create da un altro utente negli argomenti di Amazon SNS di mia proprietà?

Attualmente non è possibile per il proprietario di un account AWS sottoscrivere una funzione AWS Lambda di proprietà di un altro account. Puoi sottoscrivere le tue funzioni AWS Lambda per gli argomenti di Amazon SNS di tua proprietà oppure sottoscrivere le tue funzioni AWS Lambda per un argomento di Amazon SNS creato da un altro account a condizione che le policy valide per tale argomento SNS lo consentano.

D: Esiste un limite al numero di funzioni AWS Lambda che posso sottoscrivere per un argomento di Amazon SNS?

Amazon SNS considera le funzioni AWS Lambda come qualsiasi altra destinazione. Per default, SNS offre 10 milioni di sottoscrizioni per argomento. Per richiedere un innalzamento del limite, contattaci.

D: Che dati posso passare a una funzione AWS Lambda?

Quando una funzione AWS Lambda viene richiamata in seguito al recapito di un messaggio di Amazon SNS, la funzione AWS Lambda riceve i dati, ad esempio l'identificatore del messaggio, l'ARN (Amazon Resource Name) dell'argomento, il payload del messaggio e gli attributi del messaggio mediante un evento SNS. Per ulteriori informazioni sulla struttura dell'evento passata alla funzione AWS Lambda, consulta il blog.

D: Posso monitorare lo stato dei tentativi di recapito dei messaggi alle funzioni AWS Lambda?

Per monitorare lo stato del recapito (riuscito/non riuscito) dei messaggi, devi attivare la funzionalità "Delivery Status" di Amazon SNS. Per ulteriori informazioni su come attivare questa funzionalità, consulta il blog.

D: In quali regioni è disponibile AWS Lambda?

Consulta la pagina dedicata a regioni ed endpoint di AWS per un elenco completo.

D: Le funzioni AWS Lambda devono trovarsi nella stessa area geografica di utilizzo di Amazon SNS?

Puoi sottoscrivere le funzioni AWS Lambda per un argomento di Amazon SNS in qualsiasi area geografica.

D: Sono previsti costi di trasferimento dei dati per le chiamate alle funzioni AWS Lambda?

I costi di trasferimento dei dati sono applicabili al recapito dei messaggi alle funzioni AWS Lambda. Per ulteriori informazioni, consulta la pagina dei prezzi.

D: Sono previsti limiti alla simultaneità delle funzioni AWS Lambda?

AWS Lambda attualmente supporta 100 richieste simultanee per account AWS. Se i recapiti dei messaggi di Amazon SNS ad AWS Lambda complessivamente superano questi limiti di simultaneità, i recapiti dei messaggi di Amazon SNS risulteranno rallentati. Se AWS Lambda rallenta il recapito dei messaggi di Amazon SNS, Amazon SNS tenterà di nuovo di eseguire il recapito. Per ulteriori informazioni sui limiti di simultaneità di AWS Lambda, consulta la documentazione di AWS Lambda.

D: Amazon SNS può utilizzare le stesse funzioni AWS Lambda che uso con altri servizi, ad esempio Amazon S3?

Puoi utilizzare le stesse funzioni AWS Lambda usate con altri servizi a condizione che la funzione sia in grado di analizzare i formati degli eventi in Amazon SNS e il formato degli eventi di altri servizi. Per informazioni sul formato degli eventi SNS, consulta il blog.

 

D: Cosa sono le notifiche push VoIP per iOS?
In iOS 8 e versioni successive, le applicazioni VoIP (Voice-over-IP) possono effettuare la registrazione per l'utilizzo delle notifiche remote VoIP in modo tale che iOS possa avviare o riattivare l'applicazione, a seconda dei casi, quando riceve una chiamata VoIP in entrata per l'utente. La procedura di registrazione per l'utilizzo delle notifiche VoIP è simile a quella valida per le notifiche push standard in iOS. Per ulteriori informazioni, consulta la nostradocumentazione.

D: Posso usare le notifiche push VoIP e altri tipi di notifiche push nella stessa applicazione iOS?
Sì, un'applicazione iOS può essere registrata per la ricezione dei vari tipi di notifiche push. Dovrai tuttavia ottenere il certificato della notifica push VoIP da Apple oltre al certificato della notifica push tradizionale, creare una nuova applicazione piattaforma in Amazon SNS e quindi scegliere Apple VoIP Push come tipo di piattaforma. Per ulteriori informazioni, consulta la nostradocumentazione.

D: Cosa sono le notifiche push di Mac OS?
Ora puoi inviare notifiche push ai computer desktop Mac OS che eseguono Mac OS X Lion (10.7) o versione successiva utilizzando Amazon SNS. Per ulteriori informazioni, consulta la nostradocumentazione.