

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

# Replay dei messaggi di Amazon SNS per gli abbonati all'argomento FIFO
<a name="message-archiving-and-replay-subscriber"></a>

Amazon SNS Replay consente agli abbonati agli argomenti di recuperare e reinviare i messaggi archiviati dal Topic Data Store a un endpoint sottoscritto.
+ I messaggi possono essere riprodotti immediatamente dopo la creazione dell'abbonamento.
+ Un messaggio riprodotto mantiene lo stesso contenuto e `Timestamp` quello originale. `MessageId`
+ Il messaggio include un `Replayed` attributo che indica che si tratta di un messaggio riprodotto.
+ Per riprodurre solo messaggi specifici, applica una politica di filtro al tuo abbonamento.

Per ulteriori informazioni sul filtraggio dei messaggi, consulta [Filtro dei messaggi riprodotti](#message-archiving-and-replay-subscription-filtering).

## Crea una politica di riproduzione dei messaggi utilizzando il Console di gestione AWS
<a name="message-archiving-and-replay-replaying-console"></a>

Utilizza questa opzione per creare una nuova policy di riproduzione utilizzando la Console di gestione AWS.

1. Accedi alla [console Amazon SNS](https://console.aws.amazon.com/sns/home).

1. Scegli una sottoscrizione all'argomento o creane una nuova. Per ulteriori informazioni sulla creazione di sottoscrizioni, consulta[Creazione di un abbonamento a un argomento di Amazon SNS](sns-create-subscribe-endpoint-to-topic.md).

1. Per avviare la riproduzione del messaggio, vai al menu a discesa **Riproduci** e scegli **Inizia riproduzione**.

1. Dalla finestra modale **Intervallo di tempo di riproduzione**, effettua le seguenti selezioni:

   1. **Scegli la data e l'ora di inizio della riproduzione**: scegli la **data** (YYYY/MM/DDformato) e l'**ora** (formato hh:mm:ss 24 ore su 24) da cui desideri iniziare a riprodurre i messaggi archiviati. L'ora di inizio deve essere successiva all'inizio dell'orario di archiviazione approssimativo.

   1. **(Facoltativo) Scegli la data e l'ora di fine della riproduzione: scegli la **data** (YYYY/MM/DDformato) e l'ora** (formato hh:mm:ss 24 ore) **in** cui desideri interrompere la riproduzione dei messaggi archiviati.

   1. Scegli **Avvia riproduzione**.

1. (Facoltativo) Per **arrestare** la riproduzione di un messaggio, vai alla pagina **Dettagli sottoscrizione** e scegli **Interrompi riproduzione** dal menu a discesa **Riproduci**.

1. (Facoltativo) Per **monitorare** le metriche di riproduzione dei messaggi dall'interno di questo flusso di lavoro utilizzando, vedi. CloudWatch [Monitora le metriche di riproduzione dei messaggi utilizzando Amazon CloudWatch](#message-archiving-and-replay-subscription-cloudwatch)

**Visualizzazione e modifica di una policy di riproduzione dei messaggi**

Nella pagina **Dettagli sottoscrizione** puoi eseguire le seguenti operazioni:
+ Per **visualizzare** lo stato di riproduzione dei messaggi, nel campo **Stato riproduzione** vengono visualizzati i seguenti valori:
  + **Completato**: la riproduzione ha correttamente ridistribuito tutti i messaggi e ora distribuisce i messaggi appena pubblicati.
  + **In corso**: la riproduzione sta attualmente riproducendo i messaggi selezionati.
  + **Non riuscito**: la riproduzione non è stata completata.
  + **In sospeso**: lo stato predefinito durante l'avvio della riproduzione.
+ (Facoltativo) Per **modificare** la policy di riproduzione dei messaggi, vai alla pagina **Dettagli sottoscrizione** e scegli **Interrompi riproduzione** dal menu a discesa **Riproduci**. L'avvio di una riproduzione sostituirà la riproduzione esistente.

## Aggiunta di una policy di riproduzione all'abbonamento utilizzando l'API
<a name="message-archiving-and-replay-subscription-api"></a>

Per riprodurre i messaggi archiviati, usa l'attributo `ReplayPolicy`. `ReplayPolicy` può essere utilizzato con le operazioni API `Subscribe` e `SetSubscriptionAttributes`. Questa policy ha i seguenti valori:
+ **`StartingPoint`** (Obbligatorio): segnala da dove iniziare a riprodurre i messaggi.
+ **`EndingPoint`** (Facoltativo): segnala quando interrompere la riproduzione dei messaggi. Se `EndingPoint` viene omesso, la riproduzione continuerà fino a quando non verrà raggiunta l'ora corrente.
+ **`PointType`** (Obbligatorio): imposta il tipo di punto iniziale e finale. Attualmente, l'unico valore supportato per `PointType` è `Timestamp`.

Ad esempio, per ripristinare un errore downstream e inviare nuovamente tutti i messaggi per un periodo di due ore il 1° ottobre 2023, utilizza l'operazione API `SetSubscriptionAttributes` per impostare una `ReplayPolicy` come segue:

```
{
  "PointType":"Timestamp", 
  "StartingPoint":"2023-10-01T10:00:00.000Z", 
  "EndingPoint":"2023-10-01T12:00:00.000Z"
}
```

Per riprodurre tutti i messaggi inviati all'argomento a partire dal 1° ottobre 2023 e continuare a ricevere tutti i messaggi appena pubblicati sull'argomento, utilizza l'operazione API `SetSubscriptionAttributes` per impostare una `ReplayPolicy` sull'abbonamento nel modo seguente:

```
{
  "PointType":"Timestamp",
  "StartingPoint":"2023-10-01T00:00:00.000Z"
}
```

Per verificare che un messaggio sia stato riprodotto, l'attributo booleano `Replayed` viene aggiunto a ogni messaggio riprodotto.

## Aggiunta di una policy di riproduzione all'abbonamento utilizzando l'SDK
<a name="message-replay-sdk"></a>

Per utilizzare un AWS SDK, devi configurarlo con le tue credenziali. Per ulteriori informazioni, consulta [`config`Shared and `credentials` files nella AWS SDKs and](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html) *Tools Reference Guide.*

Il seguente esempio di codice mostra come impostare la `ReplayPolicy` su un abbonamento per recapitare nuovamente i messaggi dall'archivio degli argomenti FIFO di Amazon SNS per una finestra temporale di 2 ore il 1° ottobre 2023.

```
// Specify the ARN of the Amazon SNS subscription to initiate the ReplayPolicy on.
String subscriptionArn =
    "arn:aws:sns:us-east-2:123456789012:MyArchiveTopic.fifo:1d2a3e9d-7f2f-447c-88ae-03f1c68294da";

// Set the ReplayPolicy to replay messages from the topic's archive 
// for a 2 hour time period on October 1st 2023 between 10am and 12pm UTC.
String replayPolicy =
    "{\"PointType\":\"Timestamp\",\"StartingPoint\":\"2023-10-01T10:00:00.000Z\",\"EndingPoint\":\"2023-10-01T12:00:00.000Z\"}";

// Set the ArchivePolicy for the Amazon SNS topic
SetSubscriptionAttributesRequest request = new SetSubscriptionAttributesRequest()
    .withSubscriptionArn(subscriptionArn)
    .withAttributeName("ReplayPolicy")
    .withAttributeValue(replayPolicy);
sns.setSubscriptionAttributes(request);
```

## Comprendere il EndingPoint
<a name="message-archiving-and-replay-understanding-endpoint"></a>

Quando applichi un `ReplayPolicy` abbonamento Amazon SNS, il `EndingPoint` valore è facoltativo. Se non `EndingPoint` viene fornito alcun valore, la riproduzione inizierà dal valore specificato `StartingPoint` e continuerà fino al raggiungimento dell'ora corrente, inclusa l'elaborazione dei messaggi appena pubblicati. Una volta recuperato, l'abbonamento funzionerà come un normale abbonamento e riceverà nuovi messaggi man mano che vengono pubblicati.

Se `EndingPoint` viene specificato un, il servizio riprodurrà i messaggi dall'inizio alla fine `EndingPoint` e poi `StartingPoint` si interromperà. **Questa azione mette effettivamente in pausa l'abbonamento.** Mentre l'abbonamento è in pausa, i messaggi appena pubblicati non verranno recapitati all'endpoint sottoscritto.

Per riprendere il recapito dei messaggi, applicane uno nuovo `ReplayPolicy` senza specificarne uno `EndingPoint` e impostalo sul momento desiderato `StartingPoint` a partire dal quale continuare a ricevere i messaggi. Ad esempio, per riprendere un abbonamento dal punto in cui era terminato un replay precedente, imposta il nuovo su `StartingPoint` quello fornito in precedenza. `EndingPoint`

## Filtro dei messaggi riprodotti
<a name="message-archiving-and-replay-subscription-filtering"></a>

Il filtraggio dei messaggi di Amazon SNS ti consente di controllare i messaggi riprodotti che Amazon SNS riproduce sull'endpoint dell'abbonato. Quando il filtraggio e l'archiviazione dei messaggi sono entrambi abilitati, Amazon SNS recupera prima il messaggio dall'archivio dati dell'argomento, quindi applica il messaggio alla `FilterPolicy` dell'abbonamento. Il messaggio viene recapitato all'endpoint sottoscritto quando c'è una corrispondenza, altrimenti il messaggio viene filtrato. Per ulteriori informazioni, consulta [Policy di filtro degli abbonamenti Amazon SNS](sns-subscription-filter-policies.md).

## Monitora le metriche di riproduzione dei messaggi utilizzando Amazon CloudWatch
<a name="message-archiving-and-replay-subscription-cloudwatch"></a>

Puoi monitorare i messaggi di riproduzione utilizzando Amazon CloudWatch utilizzando le seguenti metriche. Per ricevere notifiche in caso di anomalie nei carichi di lavoro e contribuire a evitare impatti, puoi configurare gli CloudWatch allarmi Amazon in base a questi parametri. Per ulteriori dettagli, consultare [Registrazione e monitoraggio in Amazon SNS](sns-logging-monitoring.md).


| Metrica | Description | 
| --- | --- | 
|  **NumberOfReplayedNotificationsDelivered**  |  Fornisce all'abbonato il numero aggregato di messaggi riprodotti dall'archivio degli argomenti, con una risoluzione di 1 minuto.  | 
|  **NumberOfReplayedNotificationsFailed**   |  Fornisce all'abbonato il numero aggregato di messaggi riprodotti non inviati dall'archivio degli argomenti, con una risoluzione di 1 minuto.  | 