DataStoreService
*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.
DataStoreService expone métodos para obtener GlobalDataStore y OrderedDataStore objetos.Los almacenes de datos solo se pueden acceder a través de los servidores del juego, por lo que solo puedes usar DataStoreService dentro de un Script o un ModuleScript que es utilizado por un Script .
Vea tiendas de datos para una guía detallada sobre la estructura de datos, la gestión, la gestión de errores, etc.
Muestras de código
This code sample prints the request budget for all data store request types.
local DataStoreService = game:GetService("DataStoreService")
for _, enumItem in pairs(Enum.DataStoreRequestType:GetEnumItems()) do
print(enumItem.Name, DataStoreService:GetRequestBudgetForRequestType(enumItem))
end
Resumen
Propiedades
Establece si las funciones de almacenamiento de datos deben reintentarse automáticamente o no.DataStoreService no respeta esta propiedad porque se ha desactivado el intento automático debido a razones técnicas.Por lo tanto, debe implementar sistemas para reintentar operaciones usted mismo.
Métodos
Crea una instancia DataStore con el nombre y alcance proporcionados.
Devuelve el tiendade datos predeterminado.
Obtenga un OrderedDataStore dado un nombre y alcance opcional.
Devuelve el número de solicitudes que se pueden hacer por el introducirde solicitud dado.
Devuelve un objeto DataStoreListingPages para enumerar a través de todos los almacenes de datos de la experiencia.
Propiedades
AutomaticRetry
Establece si las funciones de almacenamiento de datos deben reintentarse automáticamente o no.
DataStoreService no respeta esta propiedad porque se ha desactivado el intento automático debido a razones técnicas.Por lo tanto, debe implementar sistemas para reintentar operaciones usted mismo.Es posible que se vuelva a habilitar el intento automático de nuevo en el futuro.
Métodos
GetDataStore
Esta función crea una instancia DataStore con el nombre y alcance proporcionados.Llamadas posteriores a este método con el mismo nombre/escopo devolverán el mismo objeto.
El uso del parámetro scope restringirá las operaciones a ese alcance al prender automáticamente el alcance a las claves en todas las operaciones realizadas en el tiendade datos.Esta función también acepta una instancia opcional DataStoreOptions que incluye opciones para habilitar AllScopes .Vea Tiendas de datos para detalles sobre el alcance.
Parámetros
Nombre del tiendade datos.
(Opcional) Una cadena que especifica el alcance.
(Opcional) Una instancia DataStoreOptions para habilitar funciones experimentales y funciones de la API v2.
Devuelve
GetGlobalDataStore
Esta función devuelve el predeterminado GlobalDataStore .Si desea acceder a un almacén de datos específico llamado en lugar, debe usar la función GetDataStore().
Tenga en cuenta que el DataStore devuelto por esta función siempre usa el alcance u . Vea Tiendas de datos para detalles sobre el alcance.
Devuelve
Muestras de código
The following example retrieves a default data store instance which behaves like a regular Instance. Since a GlobalDataStore is an Instance, functions such as GlobalDataStore:GetChildren() will execute without error.
local DataStoreService = game:GetService("DataStoreService")
local GlobalDataStore = DataStoreService:GetGlobalDataStore()
print(GlobalDataStore.Name)
GetOrderedDataStore
Este método devuelve un OrderedDataStore , similar a la forma en que GetDataStore() hace con GlobalDataStores .Llamadas posteriores a este método con el mismo nombre/escopo devolverán el mismo objeto.
Parámetros
Devuelve
Muestras de código
This code sample demonstrates usage of an OrderedDataStore and pages.
local DataStoreService = game:GetService("DataStoreService")
local pointsStore = DataStoreService:GetOrderedDataStore("Points")
local function printTopTenPlayers()
local isAscending = false
local pageSize = 10
local pages = pointsStore:GetSortedAsync(isAscending, pageSize)
local topTen = pages:GetCurrentPage()
-- The data in 'topTen' is stored with the index being the index on the page
-- For each item, 'data.key' is the key in the OrderedDataStore and 'data.value' is the value
for rank, data in ipairs(topTen) do
local name = data.key
local points = data.value
print(name .. " is ranked #" .. rank .. " with " .. points .. "points")
end
-- Potentially load the next page...
--pages:AdvanceToNextPageAsync()
end
-- Create some data
pointsStore:SetAsync("Alex", 55)
pointsStore:SetAsync("Charley", 32)
pointsStore:SetAsync("Sydney", 68)
-- Display the top ten players
printTopTenPlayers()
GetRequestBudgetForRequestType
Esta función devuelve el número de solicitudes de almacenamiento de datos que el lugar actual puede hacer en función del Enum.DataStoreRequestType dado.Cualquier solicitud que exceda este presupuesto está sujeta a un aceleramiento.Se recomienda monitorear y ajustar la frecuencia de las solicitudes de almacenamiento de datos usando esta función.
Parámetros
Devuelve
Muestras de código
local DataStoreService = game:GetService("DataStoreService")
local globalStore = DataStoreService:GetGlobalDataStore()
local function printBudget()
local budget = DataStoreService:GetRequestBudgetForRequestType(Enum.DataStoreRequestType.SetIncrementAsync)
print("Current set/increment budget:", budget)
end
for i = 1, 5 do
local key = "key" .. i
local success, err = pcall(function()
globalStore:SetAsync(key, true)
end)
if success then
printBudget()
else
print(err)
end
end
ListDataStoresAsync
Devuelve un objeto DataStoreListingPages para enumerar a través de todos los almacenes de datos de la experiencia.Acepta un parámetro opcional prefix para localizar solo almacenes de datos cuyos nombres comiencen con el prefijo proporcionado.
Solo se listarán los almacenes de datos que contengan al menos un objeto a través de esta función.
Parámetros
(Opcional) Prefijo para enumerar almacenes de datos que comienzan con el prefijo dado.
(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 32 artículos por página.
(Opcional) cursor para continuar la iteración.
Devuelve
DataStoreListingPages instancia que contiene DataStoreInfo instancias que proporcionan detalles como el nombre, el tiempo de creación y el tiempo de actualización más reciente.