Le richieste che invii ai depositi di dati possono fallire a causa di una cattiva connessione o di altri problemi.Per gestire gli errori e restituire messaggi con un codice di errore, avvolgi le funzioni del deposito dati in pcall() .
Riferimento al codice di errore
Codice codice | Nome dell'errore | Messaggio di errore | Notizie | |
---|---|---|---|---|
101 | KeyNameEmpty | Il nome della chiave non può essere vuoto. | Verifica se l'input della chiave nella funzione del data store è una Stringavuota. | |
102 | KeyNameLimit | Il nome della chiave supera il limite di 50 caratteri. | Verifica se l'input della chiave nella funzione del data store supera una lunghezza di 50. | |
103 | ValueNotAllowed | Non è possibile consentire X in >. | Una funzione di aggiornamento cattiva ha restituito un valore di tipo X. | |
104 | CantStoreValue | Non è possibile archiviare X in DataStore. | La funzione di aggiornamento ha restituito un valore di tipo X che non è stato serializzato. | |
105 | ValueTooLarge | Il valore serializzato supera il limite 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, usa JSONEncode() . | |
106 | MaxValueInvalid | MaxValue deve essere un integro. | Se stai passando un valore massimo a GetSortedAsync() per un OrderedDataStore , deve essere un Integro. | |
106 | MinValueInvalid | MinValue deve essere un integro. | Se stai passando un valore minimo a GetSortedAsync() per un OrderedDataStore , deve essere un Integro. | |
106 | PageSizeGreater | PageSize deve essere all'interno di un intervallo predefinito. | La dimensione minima della pagina per un OrderedDataStore è 1. | |
106 | PageSizeLesser | PageSize deve essere all'interno di un intervallo predefinito. | La dimensione massima della pagina per un OrderedDataStore è 100. | |
107 | MinMaxOrderInvalid | MaxValue deve essere maggiore o uguale a MinValue . | Il valore massimo deve essere maggiore o uguale al valore minimo per GetSortedAsync() . | |
301 | GetAsyncThrottle | GetAsync richiesta caduta. La richiesta è stata limitata, ma la coda era piena. | GetAsync() la richiesta ha superato la dimensione massima della coda e Roblox non è in grado di elaborare le richieste al flusso attuale. | |
302 | SetAsyncThrottle | SetAsync richiesta caduta. La richiesta è stata limitata, ma la coda era piena. | SetAsync() la richiesta ha superato la dimensione massima della coda e Roblox non è in grado di elaborare le richieste al flusso attuale. | |
303 | IncreAsyncThrottle | IncrementAsync richiesta caduta. La richiesta è stata limitata, ma la coda era piena. | IncrementAsync() la richiesta ha superato la dimensione massima della coda e Roblox non è in grado di elaborare le richieste al flusso attuale. | |
304 | UpdateAsyncThrottle | UpdateAsync richiesta caduta. La richiesta è stata limitata, ma la coda era piena. | UpdateAsync() la richiesta ha superato la dimensione massima della coda e Roblox non è in grado di elaborare le richieste al flusso attuale. | |
304 | TransformThrottle | UpdateAsync richiesta caduta. La richiesta è stata limitata, ma la coda era piena. | UpdateAsync() la richiesta ha superato la dimensione massima della coda e Roblox non è in grado di elaborare le richieste al flusso attuale. | |
305 | GetSortedThrottle | GetSorted richiesta caduta. La richiesta è stata limitata, ma la coda era piena. | GetSortedAsync() la richiesta ha superato la dimensione massima della coda e Roblox non è in grado di elaborare le richieste al flusso attuale. | |
306 | RemoveAsyncThrottle | RemoveAsync richiesta caduta. La richiesta è stata limitata, ma la coda era piena. | RemoveAsync() la richiesta ha superato la dimensione massima della coda e Roblox non è in grado di elaborare le richieste al flusso attuale. | |
401 | DataModelNoAccess | Richiesta fallita. DataModel non è accessibile mentre l'esperienza si sta chiudendo. | DataModel è non inizializzato perché l'esperienza si sta chiudendo. | |
402 | LuaWebSrvsNoAccess | Richiesta fallita. LuaWebService non è accessibile mentre l'esperienza si sta chiudendo. | LuaWebService è non inizializzato perché l'esperienza si sta chiudendo. | |
403 | StudioAccessToApisNotAllowed | Non è possibile scrivere a DataStore da Studio perché l'accesso API non è abilitato. | L'accesso API deve essere attivo per utilizzare i Data Store in Studio. | |
404 | InternalError | OrderedDataStore non esiste. | Il OrderedDataStore associato a questa richiesta non è stato trovato. Questo potrebbe essere un segno di corruzione dei dati. Riprova più tardi. | |
501 | InternalError | Non è possibile analizzare la risposta perché i dati potrebbero essere corrotti. | Il server non è stato in grado di analizzare la risposta alla tua Richiesta. Questo potrebbe essere un segno di corruzione dei dati. Riprova più tardi. | |
502 | RequestRejected | I servizi API hanno rifiutato la richiesta con errore X. | Si è verificato un errore X quando si è lavorato sui server Roblox. Riprova più tardi. | |
503 | InternalError | La richiesta del deposito dati è stata completata con successo, ma la chiave non è stata trovata. | La chiave richiesta non è stata trovata nel Data Store. Questo potrebbe essere un segno di corruzione dei dati. Riprova più tardi. | |
504 | InternalError | La richiesta del deposito dati è stata completata con successo, ma la risposta non è stata formattata correttamente. | Il server non è stato in grado di analizzare la risposta alla tua Richiesta. Questo potrebbe essere un segno di corruzione dei dati. Riprova più tardi. | |
505 | InternalError | OrderedDataStore richiesta è stata completata con successo, ma la risposta non è stata formattata correttamente. | Il server non è stato in grado di analizzare la risposta alla tua RichiestaOrderedDataStore . Questo potrebbe essere un segno di corruzione dei dati. Riprova più tardi. | |
509 | OperationNotAllowed | Le operazioni del Data Store sono bloccate durante l'esecuzione su un RCC personale per prevenire la possibile corruzione dei dati. | Gli scritti del Data Store sono bloccati sui canali RCC privati. | |
511 | AttributeSizeTooLarge | La dimensione dell'attributo metadata supera il limite X. | La dimensione metadata serializzata supera il limite di X. Il valore X è dinamico. Se la dimensione cambia, anche il valore cambia. | |
512 | UserIdLimitExceeded | UserID la dimensione supera il limite X. | La lunghezza dell'array di ID utente fornito dall'utente supera il limite di X. | |
513 | AttributeFormatError | Il formato dell'attributo userId non è valido. | L'ID utente fornito non è un numero. | |
513 | AttributeFormatError | Il formato dei metadati degli attributi non è valido. | I metadati non sono un tavolo. | |
GetVersionAsyncThrottle | GetVersionAsync richiesta caduta.La richiesta è stata limitata.: | GetVersionAsync() la richiesta ha superato la dimensione massima della coda e Roblox non è in grado di elaborare le richieste al flusso attuale. | ||
GetVersionAtTimeAsyncThrottle | GetVersionAtTimeAsync richiesta caduta.La richiesta è stata limitata.: | GetVersionAtTimeAsync() la richiesta ha superato la dimensione massima della coda e Roblox non è in grado di elaborare le richieste al flusso attuale. | ||
ListDataStoresAsyncThrottle | ListDataStoresAsync richiesta caduta.La richiesta è stata limitata.: | ListDataStoresAsync() la richiesta ha superato la dimensione massima della coda e Roblox non è in grado di elaborare le richieste al flusso attuale. | ||
ListKeysAsyncThrottle | ListKeysAsync richiesta caduta.La richiesta è stata limitata.: | ListKeysAsync() la richiesta ha superato la dimensione massima della coda e Roblox non è in grado di elaborare le richieste al flusso attuale. | ||
ListVersionsAsyncThrottle | ListVersionsAsync richiesta caduta.La richiesta è stata limitata.: | ListVersionsAsync() la richiesta ha superato la dimensione massima della coda e Roblox non è in grado di elaborare le richieste al flusso attuale. | ||
RemoveVersionAsyncThrottle | RemoveVersionAsync richiesta caduta.La richiesta è stata limitata.: | RemoveVersionAsync() la richiesta ha superato la dimensione massima della coda e Roblox non è in grado di elaborare le richieste al flusso attuale. | ||
InvalidTimestamp | L'timestamp deve essere positivo e non più di dieci minuti nel futuro.: | L'timestamp fornito a GetVersionAtTimeAsync() non era valido. |
Codici errori del server
Nome dell'errore | Messaggio di errore | Notizie |
---|---|---|
DatastoreThrottled | Il tasso di richiesta supera il massimo consentito per il datastore . | Troppi richieste sono state inviate a un singolo Data Store. |
InternalServerError | Si è verificato un errore interno del server. | Errore occasionale sui server di Roblox. Riprova, idealmente con un ritiro esponenziale. |
InvalidPlace | Il luogo fornito non è valido. | Nessun ID Universo corrispondente per il Posto. Riprova più tardi. |
InvalidTarget | Il bersaglio fornito non è valido. | Il nome della chiave del Data Store ordinato supera il limite di 50 caratteri. |
InvalidUniverse | L'universo fornito non è valido. | Nessun ID luogo corrispondente per l'universo. Riprova più tardi. |
InvalidUserIds | Gli ID utente forniti hanno un formato non valido. | Impossibile analizzare gli ID utente. |
KeyThrottled | Il tasso di richiesta supera il massimo consentito per la chiave. | Il tasso di richiesta supera il limite massimo di richiesta consentito per una singola chiave. |
KeyNotFound | La chiave richiesta non esiste. | La chiave non esiste. |
N/A | Nessuna pagina a cui avanzare. | Questo errore si verifica quando chiami Pages:AdvanceToNextPageAsync() sulla ultima pagina. |
Limitazioni
I modelli di dati hanno limiti .Se un'esperienza supera questi limiti, il servizio riduce automaticamente l'uso del data store dell'esperienza e causa richieste future di essere posizionate in una delle seguenti code:
- Impostare
- Impostareordinato
- Ottieni
- Ordinato ottenere
Le richieste in una coda vengono gestite nell'ordine in cui vengono ricevute.La funzione chiamata continua a produrre finché la sua richiesta è ancora in attesa.Se la chiave del deposito dati è limitata, la richiesta viene inserita in una coda ma viene temporaneamente saltata.
Ogni coda ha un limite di 30 richieste.Quando viene raggiunto il limite di una coda, le richieste falliscono con un codice di errore nella fascia 301-306, indicando che le richieste sono state completamente cadute.
Limiti del server
A ciascun server è consentito un certo numero di richieste di archiviazione dei dati in base al tipo di richiesta e al numero di utenti.Usa GetRequestBudgetForRequestType() per confermare il numero di richieste di archiviazione dei dati che il luogo attuale può fare.
inserisci / scrividi richiesta | Functioni | Richieste al minuto |
---|---|---|
Ottieni | GetAsync() | 60 + numPlayers × 10 |
Imposta (il limite è condiviso tra tutte le funzioni elencate) | Class.GlobalDataStore:SetAsync()|SetAsync()``Class.GlobalDataStore:IncrementAsync()|IncrementAsync()``Class.GlobalDataStore:UpdateAsync()|UpdateAsync()``Class.GlobalDataStore:RemoveAsync()|RemoveAsync() | 60 + numPlayers × 10 |
Ottieni ordinato | GetSortedAsync() | 5 + giocatori num × 2 |
Ottieni la versione | Class.DataStore:GetVersionAsync()|GetVersionAsync()``Class.DataStore:GetVersionAtTimeAsync()|GetVersionAtTimeAsync() | 5 + giocatori num × 2 |
Lista | Class.DataStoreService:ListDataStoresAsync()|ListDataStoresAsync()``Class.DataStore:ListKeysAsync()|ListKeysAsync()``Class.DataStore:ListVersionsAsync()|ListVersionAsync() | 5 + giocatori num × 2 |
Rimuovi | RemoveVersionAsync() | 5 + giocatori num × 2 |
Limiti di dati
Gli store di dati limitano quanti dati possono essere utilizzati per ogni entry.
Il nome del deposito dati, il nome della chiave e lo scope devono essere tutti sotto una certa lunghezza del personaggio. Usa string.len() per controllare la loro lunghezza.
I dati (valore chiave) vengono anche memorizzati come Stringa, indipendentemente dal suo inserisci / scriviiniziale.Puoi controllare la dimensione dei dati con la funzione JSONEncode(), che converte i dati Luau in un tavolo JSON serializzato.
Componente | Numero massimo di caratteri |
---|---|
Nome del deposito dati | 50 |
Nome chiave | 50 |
Ambito | 50 |
Dati (valore chiave) | 4,194,304 per chiave |
Limiti dei metadati
Limitazioni al numero di caratteri nei metadati definiti dall'utente.
Componente | Numero massimo di caratteri |
---|---|
Nome chiave | 50 |
Valore | 250 |
Coppie chiave-valore | 300 |
Limiti di velocità
I limiti di velocità per chiave garantiscono che le prestazioni siano ottimali sui server Roblox.Ogni limite si applica a ogni singola chiave su tutti i server in un'esperienza e si aggiorna nel tempo.
Roblox esamina l'uso della quota associata alla chiave negli ultimi 60 secondi.Se l'uso, compresa la Richiestaattuale, è entro il limite di velocità, la richiesta viene approvata.Se l'uso supera il limite, la richiesta viene negata.
inserisci / scrividi richiesta | Limite |
---|---|
Leggi | 25 MB al minuto |
Scrivi | 4 MB al minuto |
Limiti di storage
Al momento non ci sono limiti di storage forzati sui data store.