DataStore
*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.
Vea Almacenes de datos.
Resumen
Métodos
Recupera la versión de clave especificada.
Recupera la versión clave que era actual en un momento dado.
- ListKeysAsync(prefix : string,pageSize : number,cursor : string,excludeDeleted : boolean):DataStoreKeyPages
Devuelve un objeto DataStoreKeyPages para enumerar a través de las claves de un tiendade datos.
- ListVersionsAsync(key : string,sortDirection : Enum.SortDirection,minDate : number,maxDate : number,pageSize : number):DataStoreVersionPages
Enumera todas las versiones de una clave.
Elimina permanentemente la versión especificada de una clave.
Devuelve el valor de una clave en un almacén de datos especificado y una instancia DataStoreKeyInfo .
- IncrementAsync(key : string,delta : number,userIds : Array,options : DataStoreIncrementOptions):Variant
Incrementa el valor de una clave por la cantidad proporcionada (ambos deben ser enteros).
Elimina la clave especificada mientras mantiene una versión accesible.
Establece el valor del almacén de datos para la clave dada.
Actualiza el valor de una clave con un nuevo valor de la función de llamada especificada.
Propiedades
Métodos
GetVersionAsync
Esta función recupera la versión de clave especificada, así como una instancia DataStoreKeyInfo .Un identificador de versión se puede encontrar a través de DataStore:ListVersionsAsync() o alternativamente ser el identificador devuelto por GlobalDataStore:SetAsync().
Parámetros
Nombre de clave para la cual se solicita la información de versión.Si DataStoreOptions.AllScopes se estableció en verdad al acceder al almacén de datos a través de DataStoreService:GetDataStore(), este nombre de clave debe precederse con el alcance original como en "scope/key".
Número de versión de la clave para la que se solicita la información de versión.
Devuelve
El valor de la clave en la versión especificada y una instancia DataStoreKeyInfo que incluye el número de versión, la fecha y la hora en que se creó la versión y las funciones para recuperar UserIds y metadatos.
GetVersionAtTimeAsync
Esta función recupera la versión de clave que era actual en un momento dado, así como una instancia DataStoreKeyInfo .
Parámetros
Nombre de clave para la cual se solicita la información de versión.Si DataStoreOptions.AllScopes se estableció en verdad al acceder al almacén de datos a través de DataStoreService:GetDataStore(), este nombre de clave debe precederse con el alcance original como en "scope/key".
Sello de tiempo Unix en milisegundos para el cual la versión solicitada era actual.Debe ser mayor que cero.No debe superar los diez minutos en el futuro.
Devuelve
El valor de la clave que era actual en el momento especificado y una instancia DataStoreKeyInfo que incluye el número de versión, la fecha y la hora en que se creó la versión y las funciones para recuperar UserIds y metadatos.nil
Muestras de código
The following code sample retrieves data store key versions using timestamps.
local DataStoreService = game:GetService("DataStoreService")
local dataStore = DataStoreService:GetDataStore("DataStore")
local key = "key-123"
function setData(data)
local success, result = pcall(function()
dataStore:SetAsync(key, data)
end)
if not success then
warn(result)
end
end
function getVersionAtTime(timestamp)
local success, result, keyInfo = pcall(function()
return dataStore:GetVersionAtTimeAsync(key, timestamp.UnixTimestampMillis)
end)
if success then
if result == nil then
print("No version found at time")
else
print(result, keyInfo.Version)
end
else
warn(result)
end
end
-- Previously ran at 2024/12/02 6:00 UTC
setData("version 1")
-- Previously ran at 2024/12/02 9:00 UTC
setData("version 2")
-- Prints "No version found at time"
local time1 = DateTime.fromUniversalTime(2024, 12, 02, 05, 00)
getVersionAtTime(time1)
-- Prints "version 1 <version>"
local time2 = DateTime.fromUniversalTime(2024, 12, 02, 07, 00)
getVersionAtTime(time2)
-- Prints "version 2 <version>"
local time3 = DateTime.fromUniversalTime(2024, 12, 02, 10, 00)
getVersionAtTime(time3)
ListKeysAsync
Esta función devuelve un objeto DataStoreKeyPages para enumerar a través de las claves de un tiendade datos.Acepta un parámetro opcional prefix para localizar solo las claves cuyos nombres comienzan con el prefijo proporcionado.
Si DataStoreOptions.AllScopes se estableció en verdad al acceder al almacén de datos a través de DataStoreService:GetDataStore(), las claves se devolverán con todos los alcances como prefijos.
Parámetros
(Opcional) Prefijo para usar para localizar claves.
(Opcional) Número de elementos a devolver en cada página.Si no se proporciona ningún valor, el motor envía un valor predeterminado de 0 al servicio de almacén de datos web, que a su vez predetermina 50 artículos por página.
(Opcional) cursor para continuar la iteración.
(Opcional) Excluir las llaves eliminadas de ser devueltas.
Cuando se habilita, ListKeys comprobará hasta 512 claves.Si se eliminan todas las teclas seleccionadas, devolverá una lista vacía con un cursor para continuar la iteración.
Devuelve
Una instancia DataStoreKeyPages que enumera las claves como DataStoreKey instancias.
ListVersionsAsync
Esta función enumera versiones de la clave especificada en orden ascendente o descendente especificado por un parámetro Enum.SortDirection.Puede filtrar opcionalmente las versiones devueltas por el tiempo de registro mínimo y máximo.
Parámetros
Nombre de clave para las versiones para listar.Si DataStoreOptions.AllScopes se estableció en verdad al acceder al almacén de datos a través de DataStoreService:GetDataStore(), este nombre de clave debe precederse con el alcance original como en "scope/key".
(Opcional) Enum especificando la orden de clasificación ascendente o descendente.
(Opcional) Un timestamp de Unix en milisegundos después de los cuales se deben enumerar las versiones
(Opcional) Un timestamp de Unix en milisegundos hasta el cual se deben enumerar las versiones.
(Opcional) Número de elementos a devolver en cada página.Si no se proporciona ningún valor, el motor envía un valor predeterminado de 0 al servicio de almacén de datos web, que a su vez predetermina 1024 artículos por página.
Devuelve
Una instancia DataStoreVersionPages que enumera todas las versiones de la clave como DataStoreObjectVersionInfo instancias.
Muestras de código
The following code sample retrieves all versions after a specified starting time, sorted in ascending order.
local DataStoreService = game:GetService("DataStoreService")
local experienceStore = DataStoreService:GetDataStore("PlayerExperience")
local time = DateTime.fromUniversalTime(2020, 10, 09, 01, 42)
local listSuccess, pages = pcall(function()
return experienceStore:ListVersionsAsync("User_1234", nil, time.UnixTimestampMillis)
end)
if listSuccess then
local items = pages:GetCurrentPage()
for key, info in pairs(items) do
print("Key:", key, "; Version:", info.Version, "; Created:", info.CreatedTime, "; Deleted:", info.IsDeleted)
end
end
RemoveVersionAsync
Esta función elimina permanentemente la versión especificada de una clave. Los identificadores de versión se pueden encontrar a través de DataStore:ListVersionsAsync() .
A diferencia de GlobalDataStore:RemoveAsync(), esta función no crea una nueva versión de "lápida" y el valor eliminado no se puede recuperar más tarde.
Parámetros
Nombre de clave para la cual se eliminará una versión.Si DataStoreOptions.AllScopes se estableció en verdad al acceder al almacén de datos a través de DataStoreService:GetDataStore(), este nombre de clave debe precederse con el alcance original como en "scope/key".
Número de versión de la clave para eliminar.