Codici di errore e limiti del data store

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Le richieste che effettui ai data store possono fallire a causa di una connessione scadente o di altri problemi. Per gestire gli errori e restituire messaggi con un codice di errore, avvolgi le funzioni del data store in pcall().

Una chiamata di scrittura fallita, come UpdateAsync(), significa che il server di gioco non ha ricevuto una risposta positiva. Non garantisce sempre che la scrittura sul backend non sia avvenuta. In alcuni scenari di errore, lo stato finale della scrittura potrebbe essere sconosciuto per il chiamante fino a quando non viene verificato con una lettura successiva senza cache.

Riferimento ai codici di errore

Codice di erroreNome erroreMessaggio di erroreNote
101KeyNameEmptyIl nome della chiave non può essere vuoto.Controlla se la chiave inserita nella funzione del data store è una stringa vuota.
102KeyNameLimitIl nome della chiave supera il limite di 50 caratteri.Controlla se la chiave inserita nella funzione del data store supera una lunghezza di 50.
103ValueNotAllowedNon è possibile consentire X in DataStore.Una funzione di aggiornamento errata ha restituito un valore di tipo X.
104CantStoreValueNon è possibile memorizzare X in DataStore.La funzione di aggiornamento ha restituito un valore di tipo X che non è stato serializzato.
105ValueTooLargeIl valore serializzato supera il limite di X.Se stai impostando un valore con SetAsync() o UpdateAsync(), la lunghezza serializzata del valore non può superare la dimensione X. Per controllare la lunghezza serializzata dei dati, utilizza JSONEncode().
106MaxValueInvalidMaxValue deve essere un intero.Se stai passando un valore massimo a GetSortedAsync() per un OrderedDataStore, deve essere un intero.
106MinValueInvalidMinValue deve essere un intero.Se stai passando un valore minimo a GetSortedAsync() per un OrderedDataStore, deve essere un intero.
106PageSizeGreaterPageSize deve rientrare in un intervallo predefinito.La dimensione minima della pagina per un OrderedDataStore è 1.
106PageSizeLesserPageSize deve rientrare in un intervallo predefinito.La dimensione massima della pagina per un OrderedDataStore è 100.
107MinMaxOrderInvalidMaxValue deve essere maggiore o uguale a MinValue.Il valore massimo deve essere maggiore o uguale al valore minimo per GetSortedAsync().
301GetAsyncThrottleRichiesta GetAsync scartata. La richiesta è stata limitata ma la coda era piena.La richiesta GetAsync() ha superato la dimensione massima della coda e Roblox non è in grado di elaborare le richieste al throughput attuale.
302SetAsyncThrottleRichiesta SetAsync scartata. La richiesta è stata limitata ma la coda era piena.La richiesta SetAsync() ha superato la dimensione massima della coda e Roblox non è in grado di elaborare le richieste al throughput attuale.
303IncreAsyncThrottleRichiesta IncrementAsync scartata. La richiesta è stata limitata ma la coda era piena.La richiesta IncrementAsync() ha superato la dimensione massima della coda e Roblox non è in grado di elaborare le richieste al throughput attuale.
304UpdateAsyncThrottleRichiesta UpdateAsync scartata. La richiesta è stata limitata ma la coda era piena.La richiesta UpdateAsync() ha superato la dimensione massima della coda e Roblox non è in grado di elaborare le richieste al throughput attuale.
304TransformThrottleRichiesta UpdateAsync scartata. La richiesta è stata limitata ma la coda era piena.La richiesta UpdateAsync() ha superato la dimensione massima della coda e Roblox non è in grado di elaborare le richieste al throughput attuale.
305GetSortedThrottleRichiesta GetSorted scartata. La richiesta è stata limitata ma la coda era piena.La richiesta GetSortedAsync() ha superato la dimensione massima della coda e Roblox non è in grado di elaborare le richieste al throughput attuale.
306RemoveAsyncThrottleRichiesta RemoveAsync scartata. La richiesta è stata limitata ma la coda era piena.La richiesta RemoveAsync() ha superato la dimensione massima della coda e Roblox non è in grado di elaborare le richieste al throughput attuale.
401DataModelNoAccessRichiesta fallita. DataModel è inaccessibile mentre l'esperienza è in fase di chiusura.DataModel non è inizializzato perché l'esperienza è in fase di chiusura.
402LuaWebSrvsNoAccessRichiesta fallita. LuaWebService è inaccessibile mentre l'esperienza è in fase di chiusura.LuaWebService non è inizializzato perché l'esperienza è in fase di chiusura.
403StudioAccessToApisNotAllowedNon è possibile scrivere su DataStore da Studio perché l'accesso all'API non è attivato.L'accesso all'API deve essere attivo per utilizzare i data store in Studio.
404InternalErrorOrderedDataStore non esiste.Il OrderedDataStore associato a questa richiesta non è stato trovato. Questo potrebbe essere un segnale di corruzione dei dati. Riprova più tardi.
501InternalErrorImpossibile analizzare la risposta perché i dati potrebbero essere danneggiati.Il server non è stato in grado di analizzare la risposta alla tua richiesta. Questo potrebbe essere un segnale di corruzione dei dati. Riprova più tardi.
502RequestRejectedI servizi API hanno rifiutato la richiesta con errore X.Errore X si è verificato durante l'elaborazione sui server Roblox. Riprova più tardi.
503InternalErrorLa richiesta al data store è stata completata con successo, ma la chiave non è stata trovata.La chiave richiesta non è stata trovata nel data store. Questo potrebbe essere un segnale di corruzione dei dati. Riprova più tardi.
504InternalErrorLa richiesta al data store è stata completata con successo, ma la risposta non era formattata correttamente.Il server non è stato in grado di analizzare la risposta alla tua richiesta. Questo potrebbe essere un segnale di corruzione dei dati. Riprova più tardi.
505InternalErrorLa richiesta OrderedDataStore è stata completata con successo, ma la risposta non era formattata correttamente.Il server non è stato in grado di analizzare la risposta alla tua richiesta di OrderedDataStore. Questo potrebbe essere un segnale di corruzione dei dati. Riprova più tardi.
509OperationNotAllowedLe operazioni del data store sono bloccate mentre si esegue su un RCC personale per prevenire possibili corruzioni dei dati.Le scritture del data store sono bloccate su canali RCC privati.
511AttributeSizeTooLargeLa dimensione dell'attributo dei metadati supera il limite di X.La dimensione dei metadati serializzati supera il limite di X. Il valore X è dinamico. Se la dimensione cambia, anche il valore cambia.
512UserIdLimitExceededLa dimensione di UserID supera il limite di X.La lunghezza dell'array degli ID utente forniti dall'utente supera il limite di X.
513AttributeFormatErrorIl formato dell'attributo userId non è valido.L'ID utente fornito non è un numero.
513AttributeFormatErrorIl formato dei metadati dell'attributo non è valido.I metadati non sono una tabella.
GetVersionAsyncThrottleRichiesta GetVersionAsync scartata. La richiesta è stata limitata.La richiesta GetVersionAsync() ha superato la dimensione massima della coda e Roblox non è in grado di elaborare le richieste al throughput attuale.
GetVersionAtTimeAsyncThrottleRichiesta GetVersionAtTimeAsync scartata. La richiesta è stata limitata.La richiesta GetVersionAtTimeAsync() ha superato la dimensione massima della coda e Roblox non è in grado di elaborare le richieste al throughput attuale.
ListDataStoresAsyncThrottleRichiesta ListDataStoresAsync scartata. La richiesta è stata limitata.La richiesta ListDataStoresAsync() ha superato la dimensione massima della coda e Roblox non è in grado di elaborare le richieste al throughput attuale.
ListKeysAsyncThrottleRichiesta ListKeysAsync scartata. La richiesta è stata limitata.La richiesta ListKeysAsync() ha superato la dimensione massima della coda e Roblox non è in grado di elaborare le richieste al throughput attuale.
ListVersionsAsyncThrottleRichiesta ListVersionsAsync scartata. La richiesta è stata limitata.La richiesta ListVersionsAsync() ha superato la dimensione massima della coda e Roblox non è in grado di elaborare le richieste al throughput attuale.
RemoveVersionAsyncThrottleRichiesta RemoveVersionAsync scartata. La richiesta è stata limitata.La richiesta RemoveVersionAsync() ha superato la dimensione massima della coda e Roblox non è in grado di elaborare le richieste al throughput attuale.
InvalidTimestampIl timestamp deve essere positivo e non superiore a dieci minuti nel futuro.Il timestamp fornito a GetVersionAtTimeAsync() non era valido.
StandardReadExperienceThrottledLa richiesta StandardRead è stata limitata dai limiti dell'esperienza.Una richiesta a GetAsync(), GetVersionAsync(), GetVersionAtTimeAsync(), o la lettura di UpdateAsync() su un data store standard ha superato il limite di velocità a livello di esperienza StandardRead.
StandardWriteExperienceThrottledLa richiesta StandardWrite è stata limitata dai limiti dell'esperienza.Una richiesta a SetAsync(), IncrementAsync(), o la scrittura di UpdateAsync() su un data store standard ha superato il limite di velocità a livello di esperienza StandardWrite.
StandardListExperienceThrottledLa richiesta StandardList è stata limitata dai limiti dell'esperienza.Una richiesta a ListKeysAsync(), ListVersionsAsync(), o ListDataStoresAsync() su data store standard ha superato il limite di velocità a livello di esperienza StandardList.
StandardRemoveExperienceThrottledLa richiesta StandardRemove è stata limitata dai limiti dell'esperienza.Una richiesta a RemoveAsync() su un data store standard ha superato il limite di velocità a livello di esperienza StandardRemove.
OrderedReadExperienceThrottledLa richiesta OrderedRead è stata limitata dai limiti dell'esperienza.Una richiesta a GetAsync() o la lettura di UpdateAsync() su un data store ordinato ha superato il limite di velocità a livello di esperienza OrderedRead.
OrderedWriteExperienceThrottledLa richiesta OrderedWrite è stata limitata dai limiti dell'esperienza.Una richiesta a SetAsync(), IncrementAsync(), o la scrittura di UpdateAsync() su un data store ordinato ha superato il limite di velocità a livello di esperienza OrderedWrite.
OrderedListExperienceThrottledLa richiesta OrderedList è stata limitata dai limiti dell'esperienza.Una richiesta a GetSortedAsync() su un data store ordinato ha superato il limite di velocità a livello di esperienza OrderedList.
OrderedRemoveExperienceThrottledLa richiesta OrderedRemove è stata limitata dai limiti dell'esperienza.Una richiesta a RemoveAsync() su un data store ordinato ha superato il limite di velocità a livello di esperienza OrderedRemove.
StandardReadGameServerThrottledLa richiesta StandardRead è stata limitata dai limiti del server di gioco o la coda delle richieste era piena.Una richiesta a GetAsync(), GetVersionAsync(), GetVersionAtTimeAsync(), o la lettura di UpdateAsync() su un data store standard ha superato il limite di velocità a livello di server di gioco StandardRead.
StandardWriteGameServerThrottledLa richiesta StandardWrite è stata limitata dai limiti del server di gioco o la coda delle richieste era piena.Una richiesta a SetAsync(), IncrementAsync(), o la scrittura di UpdateAsync() su un data store standard ha superato il limite di velocità a livello di server di gioco StandardWrite.
StandardListGameServerThrottledLa richiesta StandardList è stata limitata dai limiti del server di gioco o la coda delle richieste era piena.Una richiesta a ListKeysAsync(), ListVersionsAsync(), o ListDataStoresAsync() su data store standard ha superato il limite di velocità a livello di server di gioco StandardList.
StandardRemoveGameServerThrottledLa richiesta StandardRemove è stata limitata dai limiti del server di gioco o la coda delle richieste era piena.Una richiesta a RemoveAsync() su un data store standard ha superato il limite di velocità a livello di server di gioco StandardRemove.
OrderedReadGameServerThrottledLa richiesta OrderedRead è stata limitata dai limiti del server di gioco o la coda delle richieste era piena.Una richiesta a GetAsync() o la lettura di UpdateAsync() su un data store ordinato ha superato il limite di velocità a livello di server di gioco OrderedRead.
OrderedWriteGameServerThrottledLa richiesta OrderedWrite è stata limitata dai limiti del server di gioco o la coda delle richieste era piena.Una richiesta a SetAsync(), IncrementAsync(), o la scrittura di UpdateAsync() su un data store ordinato ha superato il limite di velocità a livello di server di gioco OrderedWrite.
OrderedListGameServerThrottledLa richiesta OrderedList è stata limitata dai limiti del server di gioco o la coda delle richieste era piena.Una richiesta a GetSortedAsync() su un data store ordinato ha superato il limite di velocità a livello di server di gioco OrderedList.
OrderedRemoveGameServerThrottledLa richiesta OrderedRemove è stata limitata dai limiti del server di gioco o la coda delle richieste era piena.Una richiesta a RemoveAsync() su un data store ordinato ha superato il limite di velocità a livello di server di gioco OrderedRemove.

Codici di errore del server

Nome erroreMessaggio di erroreNote
DatastoreDeletedIl data store è stato eliminato.Un'operazione sul data store non poteva avvenire perché il data store era stato precedentemente eliminato.
DatastoreThrottledIl tasso di richiesta supera il massimo consentito per il datastore.Troppi richieste sono state inviate a un singolo data store.
InternalServerErrorSi è verificato un errore interno del server.Errore occasionale sui server Roblox. Riprova, idealmente con un'esponenziale retrocessione.
InvalidExclusiveStartKeyLa chiave di partenza esclusiva fornita non è valida.La chiave di partenza esclusiva (cursore) fornita a un'operazione di elenco come ListKeysAsync() non è valida.
InvalidPlaceIl posto fornito non è valido.Nessun ID di universo corrispondente per il posto. Riprova più tardi.
InvalidTargetIl target fornito non è valido.Il nome della chiave del data store ordinato supera il limite di 50 caratteri.
InvalidUniverseL'universo fornito non è valido.Nessun ID di posto corrispondente per l'universo. Riprova più tardi.
InvalidUserIdsGli ID utente forniti presentano un formato non valido.Impossibile analizzare gli ID utente.
KeyThrottledIl tasso di richiesta supera il massimo consentito per la chiave.Il tasso di richiesta supera il tasso massimo consentito per una singola chiave.
KeyNotFoundLa chiave richiesta non esiste.La chiave non esiste.
N/ANessuna pagina da avanzare.Questo errore si verifica quando chiami Pages:AdvanceToNextPageAsync() nell'ultima pagina.
StandardReadExperienceThrottledIl tasso di richiesta di lettura standard supera il massimo consentito per l'esperienza.Una richiesta a GetAsync(), GetVersionAsync(), GetVersionAtTimeAsync(), o la lettura di UpdateAsync() su un data store standard ha superato il limite di lettura standard a livello di esperienza.
StandardWriteExperienceThrottledIl tasso di richiesta di scrittura standard supera il massimo consentito per l'esperienza.Una richiesta a SetAsync(), IncrementAsync(), o la scrittura di UpdateAsync() su un data store standard ha superato il limite di scrittura standard a livello di esperienza.
StandardListExperienceThrottledIl tasso di richiesta di elenco standard supera il massimo consentito per l'esperienza.Una richiesta a ListKeysAsync(), ListVersionsAsync(), o ListDataStoresAsync() su data store standard ha superato il limite di elenco standard a livello di esperienza.
StandardRemoveExperienceThrottledIl tasso di richiesta di rimozione standard supera il massimo consentito per l'esperienza.Una richiesta a RemoveAsync() su un data store standard ha superato il limite di rimozione standard a livello di esperienza.
OrderedReadExperienceThrottledIl tasso di richiesta di lettura ordinata supera il massimo consentito per l'esperienza.Una richiesta a GetAsync() o la lettura di UpdateAsync() su un data store ordinato ha superato il limite di lettura ordinata a livello di esperienza.
OrderedWriteExperienceThrottledIl tasso di richiesta di scrittura ordinata supera il massimo consentito per l'esperienza.Una richiesta a SetAsync(), IncrementAsync(), o la scrittura di UpdateAsync() su un data store ordinato ha superato il limite di scrittura ordinata a livello di esperienza.
OrderedListExperienceThrottledIl tasso di richiesta di elenco ordinato supera il massimo consentito per l'esperienza.Una richiesta a GetSortedAsync() su un data store ordinato ha superato il limite di elenco ordinato a livello di esperienza.
OrderedRemoveExperienceThrottledIl tasso di richiesta di rimozione ordinata supera il massimo consentito per l'esperienza.Una richiesta a RemoveAsync() su un data store ordinato ha superato il limite di rimozione ordinata a livello di esperienza.

Limiti

I modelli di dati hanno limiti. Se un'esperienza supera questi limiti, il servizio limita automaticamente l'uso del data store dell'esperienza e fa sì che le richieste future siano inserite in una delle seguenti code:

  • Imposta
  • Imposta ordinata
  • Ottieni
  • Ottieni ordinato

Le richieste in una coda vengono gestite nell'ordine in cui vengono ricevute. La funzione chiamata continua a yield finché la sua richiesta è ancora in coda. Se la chiave del data store stesso è limitata, la richiesta è inserita in una coda ma viene saltata temporaneamente.

Ogni coda ha un limite di 30 richieste. Quando il limite di una coda è raggiunto, le richieste falliscono con un codice di errore nell'intervallo 301-306, che indica che le richieste sono state completamente scartate.

Limiti di accesso

I data store sono soggetti a limiti sia a livello di esperienza che a livello di server. I limiti a livello di esperienza scalano con il numero totale di utenti concorrenti nell'esperienza, mentre i limiti a livello di server sono configurabili e devono essere utilizzati come strumento dal creatore.

Limiti di esperienza

Ogni esperienza è consentita a un certo numero di richieste al data store in base al tipo di data store, al tipo di richiesta e al numero di utenti concorrenti. Per ogni tipo di data store e tipo di richiesta, il limite è condiviso tra tutte le funzioni elencate.

Nota che UpdateAsync() consuma sia dal budget di richieste di lettura che da quello di scrittura. Una singola chiamata decrementerà entrambi i limiti.

Data store standard
Tipo di richiestaFunzioniRichieste al minuto
LetturaGetAsync()
GetVersionAsync()
GetVersionAtTimeAsync()
UpdateAsync()
250 + utenti concorrenti × 40
ScritturaSetAsync()
IncrementAsync()
UpdateAsync()
250 + utenti concorrenti × 20
ElencoListDataStoresAsync()
ListKeysAsync()
ListVersionsAsync()
10 + utenti concorrenti × 2
RimozioneRemoveAsync()100 + utenti concorrenti × 40
Data store ordinati
Tipo di richiestaFunzioniRichieste al minuto
LetturaGetAsync()
UpdateAsync()
250 + utenti concorrenti × 40
ScritturaSetAsync()
IncrementAsync()
UpdateAsync()
250 + utenti concorrenti × 20
ElencoGetSortedAsync()100 + utenti concorrenti × 2
RimozioneRemoveAsync()100 + utenti concorrenti × 40

Limiti del server

Ogni server ha un limite di velocità configurabile per ogni tipo di richiesta, basato sul numero di giocatori in quel server. I server ricevono un'improvvisa quantità di budget di richiesta aggiuntivo quando vengono creati per la prima volta. Usa GetRequestBudgetForRequestType() per confermare il numero di richieste al data store che il server corrente può effettuare in un dato momento.

Questi limiti sono configurabili dal creatore utilizzando SetRateLimitForRequestType(). Utilizzando questa API, un creatore può configurare i propri limiti di velocità per i data store per ogni tipo di richiesta.

I seguenti limiti di velocità predefiniti si applicano se l'API non viene chiamata:

Data store standard
Tipo di richiestaDataStoreRequestType EnumFunzioniRichieste al minuto
LetturaStandardReadGetAsync()
GetVersionAsync()
GetVersionAtTimeAsync()
UpdateAsync()
60 + numPlayers × 40
ScritturaStandardWriteSetAsync()
IncrementAsync()
UpdateAsync()
60 + numPlayers × 40
ElencoStandardListListDataStoresAsync()
ListKeysAsync()
ListVersionsAsync()
5 + numPlayers × 2
RimozioneStandardRemoveRemoveAsync()60 + numPlayers × 40
RemoveVersion (Deprecato)RemoveVersionAsyncRemoveVersionAsync()5 + numPlayers × 2
Data store ordinati
Tipo di richiestaDataStoreRequestType EnumFunzioniRichieste al minuto
LetturaOrderedReadGetAsync()
UpdateAsync()
60 + numPlayers × 40
ScritturaOrderedWriteSetAsync()
IncrementAsync()
UpdateAsync()
30 + numPlayers × 5
ElencoOrderedListGetSortedAsync()5 + numPlayers × 2
RimozioneOrderedRemoveRemoveAsync()30 + numPlayers × 5

Limiti dei dati

I data store limitano la quantità di dati che possono essere utilizzati per voce.

Il nome del data store, il nome della chiave e scopo devono tutti rientrare in una certa lunghezza di caratteri. Usa string.len() per controllare la loro lunghezza.

I dati (valore della chiave) sono anche memorizzati come stringa, indipendentemente dal loro tipo iniziale. Puoi controllare la dimensione dei dati con la funzione JSONEncode(), che converte i dati Luau in una tabella JSON serializzata.

ComponenteNumero massimo di caratteri
Nome del data store50
Nome della chiave50
Scopo50
Dati (valore della chiave)4.194.304 per chiave

Limiti dei metadati

Limiti al numero di caratteri nei metadati definiti dall'utente.

ComponenteNumero massimo di caratteri
Nome della chiave50
Valore250
Coppie chiave-valore300

Limiti di throughput

I limiti di throughput per chiave garantiscono che le prestazioni siano ottimali sui server Roblox. Ogni limite si applica a ciascuna singola chiave su tutti i server in un'esperienza e si rinnova nel tempo.

Roblox esamina l'uso della quota associata alla chiave negli ultimi 60 secondi. Se l'uso, includendo la richiesta attuale, è entro il limite di throughput, la richiesta è approvata. Se l'uso supera il limite, la richiesta viene negata.

Tipo di richiestaLimite
Lettura25 MB al minuto
Scrittura4 MB al minuto

Oltre ai limiti di throughput sopra indicati, Roblox organizza i dati in partizioni in base a uno schema interno. Di conseguenza, quando il server backend riceve un volume elevato di richieste allo stesso data store, può risultare in un'ulteriore limitazione. Indipendentemente dalla causa, il throttling si manifesta come errori DatastoreThrottled o KeyThrottled, a seconda che sia stato superato il limite di throughput per un singolo data store o per una chiave. Questi messaggi di errore si applicano sia ai data store ordinati che a quelli standard.

Limiti di archiviazione

In futuro, per fornire un'esperienza di archiviazione scalabile e stabile, i data store implementeranno un limite di archiviazione a livello di esperienza sul tuo utilizzo di archiviazione.

Questo limite sarà la somma di un limite di base per ciascuna delle tue esperienze e un limite per utente basato sul numero di utenti a vita nella tua esperienza. Un utente a vita è qualsiasi utente che ha partecipato alla tua esperienza almeno una volta.

Il limite di archiviazione sarà calcolato utilizzando la formula Limite totale di archiviazione della versione più recente = 100 MB + 1 MB * conteggio utenti a vita.

Qualsiasi chiave che elimini o sostituisci, anche se ancora accessibile tramite API di versione, non conta per l'utilizzo di archiviazione della tua esperienza. Tuttavia, interi data store eliminati tramite il metodo Open Cloud DeleteDataStore continuano a contare per il tuo utilizzo di archiviazione per la durata del loro periodo di elaborazione di 30 giorni, fino a quando non vengono eliminati permanentemente.

© 2026 Roblox Corporation. Roblox, il logo Roblox e Powering Imagination sono tra i nostri marchi registrati e non registrati negli Stati Uniti. e altri paesi.