Salta al contenuto

Come posso risolvere l'errore "TooManyInvalidationsInProgress" relativo a richieste di invalidazione di CloudFront?

3 minuti di lettura
0

Ho tentato di invalidare i file della mia distribuzione di Amazon CloudFront per rimuovere i contenuti e ho ricevuto un errore "TooManyInvalidationsInProgress".

Breve descrizione

Per i singoli file, puoi effettuare fino a 3.000 richieste di invalidazione per ogni distribuzione.

Se superi questa quota, potresti ricevere un messaggio di errore simile al seguente:

"An error occurred (TooManyInvalidationsInProgress) when calling the CreateInvalidation operation: Processing your request will cause you to exceed the maximum number of in-progress invalidations."

Per risolvere il problema, utilizza nomi di file con versione o caratteri jolly, controlla la durata del file di cache o implementa un meccanismo di ripetizione con backoff esponenziale.

Risoluzione

Utilizza nomi di file con versione

Se aggiorni frequentemente i file dalla distribuzione, è consigliabile utilizzare nomi di file con versione. I file con versione consentono di controllare meglio i file memorizzati nella cache e sono meno costosi dell'invalidazione dei file. Per ulteriori informazioni, consulta Scegli tra l'invalidazione dei file e l'utilizzo di nomi di file con versione.

Utilizza caratteri jolly

Puoi utilizzare caratteri jolly nel percorso di invalidazione con un massimo di 15 percorsi di invalidazione in corso contemporaneamente senza quote di file. Devi inserire il carattere jolly (\ *) alla fine del percorso di invalidazione, ad esempio /images/image.jpg*.

Controlla il periodo di caching dei file di CloudFront

Puoi modificare la configurazione nell'origine o nella distribuzione per specificare il periodo di caching degli oggetti di CloudFront. È consigliabile utilizzare una policy della cache e una policy di richiesta di origine per controllare la chiave della cache e le richieste di origine.

Se non hai bisogno di memorizzare i contenuti nella cache, utilizza la policy CachingDisabled per disattivare il caching. Per ulteriori informazioni, consulta Come posso modificare le mie configurazioni in modo che CloudFront non memorizzi nella cache determinati file?

Implementa un meccanismo di ripetizione con backoff esponenziale

È consigliabile inserire una logica di ripetizione nelle applicazioni per ritentare le richieste che restituiscono un errore. Tutti gli AWS SDK hanno un meccanismo di ripetizione integrato con un algoritmo che utilizza il backoff esponenziale. L'algoritmo implementa tempi di attesa sempre più lunghi tra i tentativi per le risposte di errore consecutive. Molti algoritmi di backoff esponenziale utilizzano il jitter per prevenire collisioni successive. Per ulteriori informazioni, consulta Comportamento di ripetizione.

Informazioni sulla relazione

Cosa devi sapere per invalidare i file

Quote delle invalidazioni

CreateInvalidation

AWS UFFICIALEAggiornata 3 mesi fa