DataStore
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
Vedi Magazzini di dati.
Sommario
Proprietà
Metodi
Recupera la versione della chiave specificata.
Recupera la versione chiave che era attiva in un dato momento.
- ListKeysAsync(prefix : string,pageSize : number,cursor : string,excludeDeleted : boolean):DataStoreKeyPages
Restituisce un oggetto DataStoreKeyPages per l'elencazione attraverso le chiavi di un Negoziodati.
- ListVersionsAsync(key : string,sortDirection : Enum.SortDirection,minDate : number,maxDate : number,pageSize : number):DataStoreVersionPages
Enumera tutte le versioni di una chiave.
Elimina definitivamente la versione specificata di una chiave.
Restituisce il valore di una chiave in un data store specificato e un'esempioDataStoreKeyInfo .
- IncrementAsync(key : string,delta : number,userIds : Array,options : DataStoreIncrementOptions):Variant
Aumenta il valore di una chiave dell'importo fornito (entrambi devono essere interi).
Rimuove la chiave specificata mentre mantiene anche una versione accessibile.
Imposta il valore del deposito dati per la chiave data.
Aggiorna il valore di una chiave con un nuovo valore dalla funzione callback specificata.
Proprietà
Metodi
GetVersionAsync
Questa funzione recupera la versione della chiave specificata, nonché un'esempioDataStoreKeyInfo .Un identificatore di versione può essere trovato attraverso DataStore:ListVersionsAsync() o alternativamente essere l'identificatore restituito da GlobalDataStore:SetAsync() .
Parametri
Nome della chiave per cui viene richiesta l'informazione sulla versione.Se DataStoreOptions.AllScopes è stato impostato su vero quando si accede al deposito di dati attraverso DataStoreService:GetDataStore() , questo nome di chiave deve essere preceduto dalla scopo originale come in "scope/key".
Numero di versione della chiave per la quale viene richiesta l'informazione sulla versione.
Restituzioni
Il valore della chiave alla versione specificata e un'istanza DataStoreKeyInfo che include il numero di versione, la data e l'ora in cui è stata creata la versione e le funzioni per recuperare UserIds e i metadati.
GetVersionAtTimeAsync
Questa funzione recupera la versione chiave attuale a un dato momento nonché un'esempioDataStoreKeyInfo .
Parametri
Nome della chiave per cui viene richiesta l'informazione sulla versione.Se DataStoreOptions.AllScopes è stato impostato su vero quando si accede al deposito di dati attraverso DataStoreService:GetDataStore() , questo nome di chiave deve essere preceduto dalla scopo originale come in "scope/key".
Timestamp Unix in millisecondi per cui la versione richiesta era attuale.Deve essere maggiore di zero.Non deve essere più di dieci minuti nel futuro.
Restituzioni
Il valore della chiave che era attivo al momento specificato e un'istanza DataStoreKeyInfo che include il numero di versione, la data e l'ora in cui è stata creata la versione e le funzioni per recuperare UserIds e i metadati.nil se nessuna versione disponibile era attiva al momento richiesto.
Campioni di codice
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
Questa funzione restituisce un oggetto DataStoreKeyPages per enumerare attraverso le chiavi di un Negoziodati.Accetta un parametro opzionale prefix opzionale per localizzare solo le chiavi il cui nome inizia con il prefisso fornito.
Se DataStoreOptions.AllScopes è stato impostato su true quando si accede al deposito di dati attraverso DataStoreService:GetDataStore(), le chiavi verranno restituite con tutti gli scopi come prefissi.
Parametri
(Opzionale) Prefix da utilizzare per la localizzazione delle chiavi.
(Opzionale) Numero di oggetti da restituire in ogni pagina.Se non viene fornito alcun valore, il motore invia un valore predefinito di 0 al servizio web del deposito dati, che a sua volta predefinisce 50 elementi per pagina.
(Opzionale) Cursor per continuare l'iterazione.
(Opzionale) Escludi le chiavi eliminate dal essere restituite.
Quando è abilitato, ListKeys controllerà fino a 512 chiavi.Se tutte le chiavi controllate vengono eliminate, restituirà un elenco vuoto con un cursore per continuare l'iterazione.
Restituzioni
Un'istanza DataStoreKeyPages che elenca le chiavi come DataStoreKey istanze.
ListVersionsAsync
Questa funzione elenca le versioni della chiave specificata in ordine ascendente o discendente specificato da un parametro Enum.SortDirection.Può filtrare opzionalmente le versioni restituite per timestamp minimo e massimo.
Parametri
Nome chiave per le versioni da elencare.Se DataStoreOptions.AllScopes è stato impostato su vero quando si accede al deposito di dati attraverso DataStoreService:GetDataStore() , questo nome di chiave deve essere preceduto dalla scopo originale come in "scope/key".
(Opzionale) Enum specificare l'ordine di ordinamento ascendente o discendente.
(Opzionale) Unix timestamp in millisecondi dopo i quali le versioni dovrebbero essere elencate.
(Opzionale) Unix timestamp in millisecondi fino a cui le versioni dovrebbero essere elencate.
(Opzionale) Numero di oggetti da restituire in ogni pagina.Se non viene fornito alcun valore, il motore invia un valore predefinito di 0 al servizio web del deposito dati, che a sua volta predefinisce 1024 oggetti per pagina.
Restituzioni
Un'istanza DataStoreVersionPages che elenca tutte le versioni della chiave come DataStoreObjectVersionInfo istanze.
Campioni di codice
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
Questa funzione elimina in modo permanente la versione specificata di una chiave. Gli identificatori di versione possono essere trovati attraverso DataStore:ListVersionsAsync() .
A differenza di GlobalDataStore:RemoveAsync(), questa funzione non crea una nuova versione di "tombstone" e il valore rimosso non può essere recuperato in seguito.
Parametri
Nome della chiave per la quale viene rimossa una versione.Se DataStoreOptions.AllScopes è stato impostato su vero quando si accede al deposito di dati attraverso DataStoreService:GetDataStore() , questo nome di chiave deve essere preceduto dalla scopo originale come in "scope/key".
Numero di versione della chiave da Rimuovere.