Códigos de erro e limites

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Pedidos que você faz para armazenamentos de dados podem falhar devido à má conectividade ou outros problemas.Para lidar com erros e retornar mensagens com um código de erro, envolva as funções do armazenamento de dados em pcall().

Referência de código de erro

códigode erroNome do erroMensagem de mensagemNotas
101KeyNameEmptyO nome da chave não pode estar vazio.Verifique se a entrada de chave na função do armazenamento de dados é uma string / cadeia / textovazia.
102KeyNameLimitO nome da chave excede o limite de 50 caracteres.Verifique se a entrada de chave na função do armazenamento de dados excede um comprimento de 50.
103ValueNotAllowedNão é possível permitir X em >.Uma função de atualização ruim retornou um valor do tipo X.
104CantStoreValueNão é possível armazenar X em DataStore.A função de atualização retornou um valor do tipo X que não serializou.
105ValueTooLargeO valor serializado excede o limite X.Se você estiver definindo um valor com SetAsync() ou UpdateAsync(), o comprimento serializado do valor não pode exceder o tamanho X.Para verificar o comprimento serializado dos dados, use JSONEncode().
106MaxValueInvalidMaxValue deve ser um integral.Se você estiver passando um valor máximo para GetSortedAsync() por um OrderedDataStore , deve ser um integral.
106MinValueInvalidMinValue deve ser um integral.Se você estiver passando um valor mínimo para GetSortedAsync() por um OrderedDataStore , deve ser um integral.
106PageSizeGreaterPageSize deve estar dentro de um alcance pré-definido.O tamanho mínimo da página para um OrderedDataStore é 1.
106PageSizeLesserPageSize deve estar dentro de um alcance pré-definido.O tamanho máximo da página para um OrderedDataStore é 100.
107MinMaxOrderInvalidMaxValue deve ser maior ou igual a MinValue.O valor máximo deve ser maior ou igual ao valor mínimo para GetSortedAsync() .
301GetAsyncThrottleGetAsync pedido foi rejeitado. O pedido foi limitado, mas a fila estava cheia.GetAsync() a solicitação excedeu o tamanho máximo da fila e o Roblox não pode processar as solicitações no ritmo atual.
302SetAsyncThrottleSetAsync pedido foi rejeitado. O pedido foi limitado, mas a fila estava cheia.SetAsync() a solicitação excedeu o tamanho máximo da fila e o Roblox não pode processar as solicitações no ritmo atual.
303IncreAsyncThrottleIncrementAsync pedido foi rejeitado. O pedido foi limitado, mas a fila estava cheia.IncrementAsync() a solicitação excedeu o tamanho máximo da fila e o Roblox não pode processar as solicitações no ritmo atual.
304UpdateAsyncThrottleUpdateAsync pedido foi rejeitado. O pedido foi limitado, mas a fila estava cheia.UpdateAsync() a solicitação excedeu o tamanho máximo da fila e o Roblox não pode processar as solicitações no ritmo atual.
304TransformThrottleUpdateAsync pedido foi rejeitado. O pedido foi limitado, mas a fila estava cheia.UpdateAsync() a solicitação excedeu o tamanho máximo da fila e o Roblox não pode processar as solicitações no ritmo atual.
305GetSortedThrottleGetSorted pedido foi rejeitado. O pedido foi limitado, mas a fila estava cheia.GetSortedAsync() a solicitação excedeu o tamanho máximo da fila e o Roblox não pode processar as solicitações no ritmo atual.
306RemoveAsyncThrottleRemoveAsync pedido foi rejeitado. O pedido foi limitado, mas a fila estava cheia.RemoveAsync() a solicitação excedeu o tamanho máximo da fila e o Roblox não pode processar as solicitações no ritmo atual.
401DataModelNoAccessO pedido falhou. DataModel é inacessível enquanto a experiência está sendo desativada.DataModel não está inicializado porque a experiência está sendo desativada.
402LuaWebSrvsNoAccessO pedido falhou. LuaWebService é inacessível enquanto a experiência está sendo desativada.LuaWebService não está inicializado porque a experiência está sendo desativada.
403StudioAccessToApisNotAllowedNão é possível escrever em DataStore do Studio porque o acesso à API não está habilitado.O acesso à API deve estar ativo para usar armazenamentos de dados no Studio.
404InternalErrorOrderedDataStore não existe.O OrderedDataStore associado a este pedido não foi encontrado. Este pode ser um sinal de corrupção de dados. Tente novamente mais tarde.
501InternalErrorNão é possível analisar a resposta porque os dados podem estar corrompidos.O servidor não foi capaz de analisar a resposta à sua solicitar / pedir. Isso pode ser um sinal de corrupção de dados. Tente novamente mais tarde.
502RequestRejectedOs Serviços de API rejeitaram o pedido com erro X.O erro X ocorreu ao processar nos servidores do Roblox. Tente novamente mais tarde.
503InternalErrorO pedido de armazenamento de dados foi bem-sucedido, mas a chave não foi encontrada.A chave solicitada não foi encontrada no armazenamento de dados. Isso pode ser um sinal de corrupção de dados. Tente novamente mais tarde.
504InternalErrorO pedido da Loja de Dados foi bem-sucedido, mas a resposta não foi formatada corretamente.O servidor não foi capaz de analisar a resposta à sua solicitar / pedir. Isso pode ser um sinal de corrupção de dados. Tente novamente mais tarde.
505InternalErrorOrderedDataStore solicitação foi bem-sucedida, mas a resposta não foi formatada corretamente.O servidor não foi capaz de analisar a resposta à sua solicitar / pedirOrderedDataStore . Este pode ser um sinal de corrupção de dados. Tente novamente mais tarde.
509OperationNotAllowedAs operações da Loja de Dados são bloqueadas enquanto executadas em um RCC Pessoal para prevenir possível corrupção de dados.Escrituras na Loja de Dados são bloqueadas em canais RCC privados.
511AttributeSizeTooLargeO tamanho do atributo de metadados excede o limite X.O tamanho do metadado serializado excede o limite de X. O valor X é dinâmico. Se o tamanho mudar, o valor também muda.
512UserIdLimitExceededUserID o tamanho excede o limite X.O comprimento do array de IDs de usuário fornecido pelo usuário excede o limite de X.
513AttributeFormatErrorO formato de atributo userId é inválido.O ID de usuário fornecido não é um número.
513AttributeFormatErrorO formato de metadados de atributo é inválido.O metadado não é uma tabela.
GetVersionAsyncThrottleGetVersionAsync pedido foi descartado.O pedido foi limitado.:GetVersionAsync() A solicitação excedeu o tamanho máximo da fila e o Roblox não pode processar as solicitações no ritmo atual.
GetVersionAtTimeAsyncThrottleGetVersionAtTimeAsync pedido foi descartado.O pedido foi limitado.:GetVersionAtTimeAsync() A solicitação excedeu o tamanho máximo da fila e o Roblox não pode processar as solicitações no ritmo atual.
ListDataStoresAsyncThrottleListDataStoresAsync pedido foi descartado.O pedido foi limitado.:ListDataStoresAsync() A solicitação excedeu o tamanho máximo da fila e o Roblox não pode processar as solicitações no ritmo atual.
ListKeysAsyncThrottleListKeysAsync pedido foi descartado.O pedido foi limitado.:ListKeysAsync() A solicitação excedeu o tamanho máximo da fila e o Roblox não pode processar as solicitações no ritmo atual.
ListVersionsAsyncThrottleListVersionsAsync pedido foi descartado.O pedido foi limitado.:ListVersionsAsync() A solicitação excedeu o tamanho máximo da fila e o Roblox não pode processar as solicitações no ritmo atual.
RemoveVersionAsyncThrottleRemoveVersionAsync pedido foi descartado.O pedido foi limitado.:RemoveVersionAsync() A solicitação excedeu o tamanho máximo da fila e o Roblox não pode processar as solicitações no ritmo atual.
InvalidTimestampO tempo de marcação deve ser positivo e não mais de dez minutos no futuro.:O registro de data e hora fornecido para GetVersionAtTimeAsync() não era válido.

Códigos de erro do servidor

Nome do erroMensagem de mensagemNotas
DatastoreThrottledA taxa de solicitação excede o máximo permitido para o datastore.Muitos pedidos foram enviados para um único armazenamento de dados.
InternalServerErrorOcorreu um erro interno do servidor.Erro ocasional nos servidores do Roblox. Tente novamente, idealmente com recuo exponencial.
InvalidPlaceO local fornecido é inválido.Não há ID de Universo correspondente para o local. Tente novamente mais tarde.
InvalidTargetO alvo fornecido é inválido.O nome da chave da Loja de Dados Ordenada excede o limite de 50 caracteres.
InvalidUniverseO universo fornecido é inválido.Não há ID de local correspondente para o universo. Tente novamente mais tarde.
InvalidUserIdsOs IDs de usuário fornecidos têm um formato inválido.Falha ao analisar IDs de usuário.
KeyThrottledA taxa de solicitação excede o máximo permitido para a chave.A taxa de solicitação excede a taxa máxima permitida de solicitação para uma única chave.
KeyNotFoundA chave solicitada não existe.A chave não existe.
N/ANão há páginas para avançar.Este erro ocorre quando você chama Pages:AdvanceToNextPageAsync() na última página.

Limitos

Modelos de dados têm limites .Se uma experiência exceder esses limites, o serviço reduz automaticamente o uso do armazenamento de dados da experiência e causa que solicitações futuras sejam colocadas em uma das seguintes filas:

  • Estabelecer
  • configurarordenado
  • Pegue
  • Comprou obter

Pedidos em uma fila são tratados na ordem em que são recebidos.A função chamada continua a renderizar enquanto sua solicitação ainda estiver na fila.Se a chave do armazenamento de dados for limitada, o pedido é colocado em uma fila, mas é temporariamente ignorado.

Cada fila tem um limite de 30 solicitações.Quando o limite de uma fila é atingido, as solicitações falham com um código de erro na faixa 301-306, indicando que as solicitações foram totalmente descartadas.

Limites do servidor

Cada servidor é permitido um certo número de solicitações de armazenamento de dados com base no tipo de solicitação e número de usuários.Use GetRequestBudgetForRequestType() para confirmar o número de solicitações de armazenamento de dados que o local atual pode fazer.

digitarde solicitaçãoFunçõesPedidos por minuto
PegueGetAsync()60 + numJogadores × 10
Definir (o limite é compartilhado entre todas as funções listadas)Class.GlobalDataStore:SetAsync()|SetAsync()``Class.GlobalDataStore:IncrementAsync()|IncrementAsync()``Class.GlobalDataStore:UpdateAsync()|UpdateAsync()``Class.GlobalDataStore:RemoveAsync()|RemoveAsync()60 + numJogadores × 10
Obtenha OrdenadoGetSortedAsync()5 + numJogadores × 2
Obter versãoClass.DataStore:GetVersionAsync()|GetVersionAsync()``Class.DataStore:GetVersionAtTimeAsync()|GetVersionAtTimeAsync()5 + numJogadores × 2
ListaClass.DataStoreService:ListDataStoresAsync()|ListDataStoresAsync()``Class.DataStore:ListKeysAsync()|ListKeysAsync()``Class.DataStore:ListVersionsAsync()|ListVersionAsync()5 + numJogadores × 2
RemoverRemoveVersionAsync()5 + numJogadores × 2

Limites de dados

Armazenamentos de dados limitam quanto dados podem ser usados por entrada.

O nome do armazenamento de dados, o nome da chave e o escopo devem estar todos dentro de uma determinada comprimento de caracteres. Use string.len() para verificar seu comprimento.

Os dados (valor da chave) também são armazenados como uma string / cadeia / texto, independentemente de seu digitarinicial.Você pode verificar o tamanho dos dados com a função JSONEncode(), que converte dados Luau em uma tabela JSON serializada.

ComponenteNúmero máximo de caracteres
Nome do armazenamento de dados50
Nome da chave50
Escopo50
Dados (valor da chave)4,194,304 por chave

Limites de metadados

Limites ao número de caracteres no metadado definido pelo usuário.

ComponenteNúmero máximo de caracteres
Nome da chave50
Valor250
Pares de chave-valor300

Limites de velocidade

Limites de velocidade por tecla garantem que o desempenho seja otimizado nos servidores do Roblox.Cada limite se aplica a cada chave única em todos os servidores em uma experiência e se atualiza ao longo do tempo.

O Roblox examina o uso da quota associada à chave nos últimos 60 segundos.Se o uso, incluindo o solicitar / pediratual, estiver dentro do limite de velocidade, o pedido é aprovado.Se o uso exceder o limite, o pedido é negado.

digitarde solicitaçãoLimite
Ler25 MB por minuto
Escrever4 MB por minuto

Limites de armazenamento

Atualmente, não há limites de armazenamento forçados em armazenamentos de dados.