

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

# Risolvi i problemi relativi ai messaggi non restituiti per una chiamata API Amazon ReceiveMessage SQS
<a name="troubleshooting-messages-not-returned-ReceiveMessage"></a>

I seguenti argomenti illustrano le cause più comuni per cui un messaggio Amazon SQS non può essere restituito ai consumatori e come risolverle. Per ulteriori informazioni, consulta [Perché non posso ricevere messaggi dalla mia coda Amazon SQS](https://repost.aws/knowledge-center/sqs-queue-message)? nella *AWS Knowledge Center Guide*.

## Coda vuota
<a name="troubleshooting-empty-queue"></a>

Per determinare se una coda è vuota, utilizza long polling per chiamare l'API. [`ReceiveMessage`](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html) Puoi anche utilizzare le metriche `ApproximateNumberOfMessagesVisible``ApproximateNumberOfMessagesNotVisible`, e `ApproximateNumberOfMessagesDelayed` CloudWatch . Se tutti i valori delle metriche sono impostati su 0 per diversi minuti, la coda viene considerata vuota.

## È stato raggiunto il limite di volo
<a name="troubleshooting-in-flight-limit-reached"></a>

[Se utilizzi un [polling lungo](sqs-short-and-long-polling.md#sqs-long-polling) e se il limite di attesa della coda (120000 per impostazione predefinita) viene superato, Amazon SQS non restituirà messaggi di errore che superano i limiti di quota.](sqs-quotas.md)

## Ritardo dei messaggi
<a name="troubleshooting-message-delayed"></a>

Se la coda di Amazon SQS è configurata come coda di [ritardo](sqs-delay-queues.md) o i messaggi sono stati inviati con [timer per i messaggi, i](sqs-message-timers.md) messaggi non sono visibili fino al termine del periodo di ritardo. **Per verificare se una coda è configurata come coda di ritardo, utilizza l'`DelaySeconds`attributo [`GetQueueAttributes`](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_GetQueueAttributes.html)API o dalla console di coda in Delivery delay.** Controlla la [`ApproximateNumberOfMessagesDelayed`](sqs-available-cloudwatch-metrics.md) CloudWatch metrica per capire se ci sono messaggi in ritardo.

## Il messaggio è in corso
<a name="troubleshooting-message-in-flight"></a>

Se il messaggio è stato interrogato da un altro consumatore, il messaggio rimarrà inattivo o invisibile per il periodo di timeout di [visibilità](sqs-visibility-timeout.md). I sondaggi aggiuntivi potrebbero restituire una ricezione vuota. Controlla la [ApproximateNumberOfMessagesVisible](sqs-available-cloudwatch-metrics.md) CloudWatchmetrica per comprendere il numero di messaggi disponibili per la ricezione. Nel caso delle code FIFO, se un messaggio con l'ID del gruppo di messaggi è in transito, non verranno restituiti altri messaggi a meno che non elimini il messaggio o non diventi visibile. Questo perché l'[ordine dei messaggi](sqs-fifo-queues.md) viene mantenuto a livello di gruppo di messaggi in una coda FIFO. 

## Metodo di sondaggio
<a name="troubleshooting-polling-method"></a>

Se utilizzi il [polling breve](sqs-short-and-long-polling.md#sqs-short-polling), ([WaitTimeSeconds](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html#API_ReceiveMessage_RequestSyntax)è 0) Amazon SQS campiona un sottoinsieme dei suoi server e restituisce messaggi solo da tali server. Pertanto, potresti non ricevere i messaggi anche se sono disponibili per la ricezione. Le successive richieste di sondaggio restituiranno i messaggi.

Se utilizzi un [polling lungo](sqs-short-and-long-polling.md#sqs-long-polling), Amazon SQS esegue il polling di tutti i server e invia una risposta dopo aver raccolto almeno un messaggio disponibile e fino al numero massimo specificato. Se il valore di ReceiveMessage [WaitTimeSeconds](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html#API_ReceiveMessage_RequestSyntax)è troppo basso, potresti non ricevere tutti i messaggi disponibili. 