Attributi SNS dei messaggi Amazon - Amazon Simple Notification Service

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

Attributi SNS dei messaggi Amazon

Amazon SNS supporta la consegna degli attributi dei messaggi, che consentono di fornire elementi di metadati strutturati (come timestamp, dati geospaziali, firme e identificatori) sul messaggio. Per SQS gli abbonamenti, è possibile inviare un massimo di 10 attributi del messaggio quando è abilitata la consegna di messaggi non elaborati. Per inviare più di 10 attributi di messaggio, è necessario disabilitare Consegna di messaggi non elaborati. I messaggi con più di 10 attributi di messaggio indirizzati verso SQS abbonamenti Amazon abilitati per Raw Message Delivery verranno eliminati come errori lato client.

Gli attributi di messaggio sono facoltativi e separati dal corpo del messaggio, sebbene vengano inviati insieme a esso. Il destinatario può utilizzare queste informazioni per decidere come gestire il messaggio senza dover prima elaborare il corpo del messaggio.

Per informazioni sull'invio di messaggi con attributi utilizzando AWS Management Console o il AWS SDK for Java, consulta il tutorial. Per pubblicare messaggi su SNS argomenti di Amazon utilizzando il AWS Management Console

Nota

Gli attributi del messaggio vengono inviati solo quando la struttura del messaggio è String, nonJSON.

Puoi utilizzare gli attributi di messaggio anche per strutturare il messaggio di notifica push per gli endpoint mobili. In questo scenario, gli attributi di messaggio sono usati solo per strutturare il messaggio di notifica push. Gli attributi non vengono consegnati all'endpoint come avviene quando si inviano messaggi con attributi di messaggio agli SQS endpoint Amazon.

Puoi utilizzare gli attributi di messaggio anche per rendere i messaggi filtrabili utilizzando le policy di filtro della sottoscrizione. Le policy di filtro possono essere applicate alle sottoscrizioni dell'argomento. Quando viene applicata una policy di filtro con l'ambito impostato su MessageAttributes (valore predefinito), una sottoscrizione riceve solo i messaggi che hanno gli attributi accettati dalla policy. Per ulteriori informazioni, consulta Filtraggio SNS dei messaggi Amazon.

Nota

Quando gli attributi dei messaggi vengono utilizzati per il filtraggio, il valore deve essere una stringa valida. JSON Questo garantisce che il messaggio venga distribuito a una sottoscrizione con il filtro degli attributi di messaggio abilitato.

Elementi dell'attributo di messaggio e convalida

Ogni attributo di messaggio è costituito dai seguenti elementi:

  • Name – Il nome dell'attributo del messaggio può contenere i seguenti caratteri: A-Z, a-z, 0-9, sottolineatura (_), trattino (-) e punto (.). Il nome non deve iniziare o terminare con un punto e non deve avere punti in successione. Il nome rispetta la distinzione tra maiuscole e minuscole e deve essere univoco tra tutti i nomi di attributo per il messaggio. Il nome può contenere fino a 256 caratteri. Il nome non può iniziare con AWS. o Amazon. (o qualsiasi variazione in maiuscole/minuscole) perché questi prefissi sono riservati per l'uso da parte di Amazon Web Services.

  • Type – I tipi di dati di attributo di messaggio supportati sono String, String.Array, Number e Binary. Il tipo di dati ha le stesse restrizioni sul contenuto del corpo del messaggio. Per ulteriori informazioni, consulta la sezione Tipi di dati dell'attributo di messaggio e convalida.

  • Value – Il valore dell'attributo di messaggio specificato dall'utente. Per i tipi di dati di stringa, l'attributo del valore ha le stesse restrizioni sul contenuto del corpo del messaggio. Per ulteriori informazioni, consulta l'azione Pubblica in Amazon Simple Notification Service API Reference.

Nome, tipo e valore non devono essere vuoti o nulli. Inoltre, il corpo del messaggio non deve essere vuoto o nullo. Tutte le parti dell'attributo di messaggio, inclusi nome, tipo e valore, sono incluse nella limitazione della dimensione del messaggio che è di 256 KB.

Tipi di dati dell'attributo di messaggio e convalida

I tipi di dati degli attributi del messaggio identificano il modo in cui i valori degli attributi del messaggio vengono gestiti da AmazonSNS. Ad esempio, se il tipo è un numero, Amazon SNS conferma che si tratta di un numero.

Amazon SNS supporta i seguenti tipi di dati logici per tutti gli endpoint, ad eccezione di quanto indicato:

  • Stringa: le stringhe sono Unicode con codifica binaria UTF -8. Per un elenco dei valori di codice, consultate http://en.wikipedia. org/wiki/ASCII# ASCII _caratteri_stampabili.

    Nota

    I valori surrogati non sono supportati negli attributi del messaggio. Ad esempio, l'utilizzo di un valore surrogato per rappresentare un'emoji ti darà il seguente errore: Invalid attribute value was passed in for message attribute.

  • String.Array: una matrice, formattata come una stringa, che può contenere più valori. I valori possono essere stringhe, numeri o le parole chiave true, false e null. Uno String.Array di tipo numerico o booleano non richiede virgolette. I valori String.Array sono separati da virgole.

    Questo tipo di dati non è supportato per gli abbonamenti. AWS Lambda Se specifichi questo tipo di dati per gli endpoint Lambda, viene passato come tipo di String dati nel JSON payload che Amazon SNS consegna a Lambda.

  • Number – I numeri sono interi positivi o negativi oppure in virgola mobile. I numeri hanno un intervallo e una precisione sufficienti per comprendere la maggior parte dei possibili valori supportati in genere da valori interi, a virgola mobile e doppi. Un numero può avere un valore compreso fra -109 e 109, con 5 cifre di precisione dopo la virgola. Gli zero iniziali e finali vengono tagliati.

    Questo tipo di dati non è supportato per gli abbonamenti. AWS Lambda Se specifichi questo tipo di dati per gli endpoint Lambda, viene passato come tipo di String dati nel JSON payload che Amazon SNS consegna a Lambda.

  • Binary – Gli attributi di tipo binario possono archiviare qualsiasi tipo di dati binari, ad esempio dati compressi, dati crittografati o immagini.

Attributi di messaggio riservati per notifiche push per dispositivi mobili

Nella tabella seguente sono elencati gli attributi di messaggio riservati per i servizi di notifica push di dispositivi mobili che puoi usare per strutturare il messaggio di notifica push:

Servizio di notifiche push Attributo di messaggio riservato
ADM AWS.SNS.MOBILE.ADM.TTL
APNs1 AWS.SNS.MOBILE.APNS_MDM.TTL
AWS.SNS.MOBILE.APNS_MDM_SANDBOX.TTL
AWS.SNS.MOBILE.APNS_PASSBOOK.TTL
AWS.SNS.MOBILE.APNS_PASSBOOK_SANDBOX.TTL
AWS.SNS.MOBILE.APNS_SANDBOX.TTL
AWS.SNS.MOBILE.APNS_VOIP.TTL
AWS.SNS.MOBILE.APNS_VOIP_SANDBOX.TTL
AWS.SNS.MOBILE.APNS.COLLAPSE_ID
AWS.SNS.MOBILE.APNS.PRIORITY
AWS.SNS.MOBILE.APNS.PUSH_TYPE
AWS.SNS.MOBILE.APNS.TOPIC
AWS.SNS.MOBILE.APNS.TTL

Baidu

AWS.SNS.MOBILE.BAIDU.DeployStatus
AWS.SNS.MOBILE.BAIDU.MessageKey
AWS.SNS.MOBILE.BAIDU.MessageType
AWS.SNS.MOBILE.BAIDU.TTL
FCM AWS.SNS.MOBILE.FCM.TTL
AWS.SNS.MOBILE.GCM.TTL
macOS AWS.SNS.MOBILE.MACOS_SANDBOX.TTL
AWS.SNS.MOBILE.MACOS.TTL

MPNS

AWS.SNS.MOBILE.MPNS.NotificationClass
AWS.SNS.MOBILE.MPNS.TTL

AWS.SNS.MOBILE.MPNS.Type

WNS AWS.SNS.MOBILE.WNS.CachePolicy
AWS.SNS.MOBILE.WNS.Group
AWS.SNS.MOBILE.WNS.Match
AWS.SNS.MOBILE.WNS.SuppressPopup
AWS.SNS.MOBILE.WNS.Tag
AWS.SNS.MOBILE.WNS.TTL
AWS.SNS.MOBILE.WNS.Type

1 Apple rifiuterà SNS le notifiche di Amazon se gli attributi dei messaggi non soddisfano i requisiti. Per ulteriori dettagli, consulta Invio di richieste di notifica a APNs sul sito Web per sviluppatori Apple.