

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

# Errori di eccezione del throughput assegnato
<a name="kinesis-fis-provisioned-throughput"></a>

Il throughput assegnato ha superato gli errori di eccezione (HTTP 400) si verificano quando la frequenza di richiesta per uno stream Kinesis supera i limiti di throughput di uno o più shard. Ogni shard ha limiti di capacità di lettura e scrittura specifici e il superamento di tali limiti attiva questa eccezione. Gli scenari che portano a questa eccezione includono: picchi improvvisi nell'inserimento o nel consumo di dati, capacità insufficiente degli shard per il volume di dati in elaborazione o distribuzione non uniforme delle chiavi di partizione.

**Consigli per la gestione delle eccezioni**
+ Implementa meccanismi esponenziali di back-off e re-try.
+ Aumenta il numero di shard per garantire un throughput più elevato.
+ Assicuratevi che vi sia una corretta distribuzione delle chiavi di partizione.
+ Monitora le metriche dello stream.

Inoltre, l'utilizzo della modalità di capacità on-demand di Kinesis aiuta a regolare automaticamente i carichi di lavoro e a ridurre al minimo il verificarsi di questa eccezione. Per maggiori informazioni, consulta [Che cos’è AWS Fault Injection Service?](https://docs.aws.amazon.com/fis/latest/userguide/what-is.html)

**Nota**  
I problemi di distribuzione impropria non rientrano nella funzionalità di scalabilità automatica della modalità on demand.

**Per eseguire un esperimento di base**

1. Utilizza le metriche di base: registra i normali modelli di throughput prima del test.

1. Crea un esperimento: usa l'azione. `aws:kinesis:inject-api-provisioned-throughput-exception`

1. Configura l'intensità: inizia con una limitazione delle richieste del 25%.

1. Monitora le risposte: verifica la logica dei tentativi ripetuti con un back-off esponenziale.

1. Convalida il ridimensionamento: verifica che l'auto-scaling attivi l'attivazione.

1. Controlla gli allarmi: assicurati che gli allarmi funzionino come previsto. `CloudWatch`

Le applicazioni devono implementare strategie, monitor `WriteProvisionedThroughputExceeded` e `ReadProvisionedThroughputExceeded` metriche di back-off adeguati e attivare lo shard scaling quando appropriato.

**Dettagli dell'azione**
+ **Tipo di risorsa**: IAM Role ARN
+ **Operazioni target**:`PutRecord`,, `PutRecords` `GetRecords`
+ ****Codice di errore****: `ProvisionedThroughputExceededException` (HTTP 400)
+ ****Descrizione****: simula scenari in cui la frequenza di richiesta supera i limiti di capacità degli shard, testando la limitazione delle applicazioni e scalando le risposte.

**Parameters**
+ **IAM Role ARN**: il ruolo utilizzato dall'applicazione per le operazioni di Kinesis Data Streams.
+ **Operazioni: operazioni** target:,,. `PutRecord` `PutRecords` `GetRecords`
+ **Elenco delle risorse**: i nomi o gli identificatori di frammenti specifici dei flussi.
+ **Durata**: la durata dell'esperimento, che è compresa tra un minuto e 12 ore. Nell' AWS FIS API, il valore è una stringa in formato ISO 8601. Ad esempio, PT1 M rappresenta un minuto. Nella AWS FIS console, si immette il numero di secondi, minuti o ore.
+ **Intensità**: la percentuale di richieste da limitare.

**Autorizzazioni richieste**
+ `kinesis:InjectApiError`

Esempio di modello di esperimento

 L'esempio seguente mostra un'eccezione di throughput assegnato per tutte le richieste fino a 5 flussi di dati Kinesis con il tag specificato. AWS FIS seleziona casualmente gli stream da influenzare. Dopo 5 minuti l'errore viene rimosso.

```
{
    "description": "Kinesis stream experiment",
    "targets": {
        "KinesisStreams-Target-1": {
            "resourceType": "aws:kinesis:stream",
            "resourceTags": {
                   "tag-key": "tag-value"
            },
            "selectionMode": "COUNT(5)"
        }
    },
    "actions": {
         "kinesis": {
              "actionId": "aws:kinesis:stream-provisioned-throughput-exception",
              "description": "my-stream",
              "parameters": {
                   "duration": "PT5M",
                   "percentage": "100",
                   "service": "kinesis"
              },
              "targets": {
                    "KinesisStreams": "KinesisStreams-Target-1"
              }
         }
   },
   "stopConditions": [
         {
              "source": "none"
         }
   ],
   "roleArn": "arn:aws:iam::111122223333:role/role-name",
   "tags": {},
   "experimentOptions": {
       "accountTargeting": "single-account",
       "emptyTargetResolutionMode": "fail"
   }    
}
```

Sperimenta un esempio di autorizzazioni di ruolo

La seguente autorizzazione consente di eseguire `aws:kinesis:stream-expired-iterator-exception` azioni `aws:kinesis:stream-provisioned-throughput-exception` and su un flusso specifico che influiscono sul 50% delle richieste.