DataStore
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
Siehe Datenspeicher.
Zusammenfassung
Methoden
Ruft die angegebene Schlüsselversion ab.
Ruft die Schlüsselversion ab, die zu einem bestimmten Zeitpunkt aktuell war.
- ListKeysAsync(prefix : string,pageSize : number,cursor : string,excludeDeleted : boolean):DataStoreKeyPages
Gibt ein DataStoreKeyPages-Objekt zurück, um durch Schlüssel eines Storeaufzuzählen.
- ListVersionsAsync(key : string,sortDirection : Enum.SortDirection,minDate : number,maxDate : number,pageSize : number):DataStoreVersionPages
Enumeriert alle Versionen eines Schlüssels.
Löscht dauerhaft die angegebene Version eines Schlüssels.
Gibt den Wert eines Schlüssels in einem bestimmten Datenlagers und einer DataStoreKeyInfo Instanz zurück.
- IncrementAsync(key : string,delta : number,userIds : Array,options : DataStoreIncrementOptions):Variant
Erhöht den Wert eines Schlüssels um den angegebenen Betrag (beide müssen Zahlen sein).
Entfernt den angegebenen Schlüssel, während eine zugängliche Version beibehalten wird.
Legt den Wert des Datenspeichers für den angegebenen Schlüssel fest.
Aktualisiert den Wert eines Schlüssels mit einem neuen Wert aus der angegebenen Rückruffunktion.
Eigenschaften
Methoden
GetVersionAsync
Diese Funktion ruft die angegebene Schlüsselversion sowie eine DataStoreKeyInfo Instanz ab.Ein Versions-Identifikator kann durch DataStore:ListVersionsAsync() oder alternativ durch den Identifikator sein, der von GlobalDataStore:SetAsync() zurückgegeben wird.
Parameter
Schlüsselname, für den die Versionsinformation angefordert wird.Wenn DataStoreOptions.AllScopes bei der Zugriff auf den Datenstore durch DataStoreService:GetDataStore() auf wahr gesetzt wurde, muss dieser Schlüsselname mit dem ursprünglichen Umfang wie in "scope/key" vorangestellt werden.
Versionsnummer des Schlüssels, für den die Versionsinformation angefordert wird.
Rückgaben
Der Wert des Schlüssels bei der angegebenen Version und einer DataStoreKeyInfo, die die Versionsnummer, das Datum und die Uhrzeit enthält, zu der die Version erstellt wurde, und Funktionen zum Abrufen von UserIds und Metadaten.
GetVersionAtTimeAsync
Diese Funktion ruft die Schlüsselversion ab, die zu einem bestimmten Zeitpunkt aktuell war, sowie eine DataStoreKeyInfo Instanz.
Parameter
Schlüsselname, für den die Versionsinformation angefordert wird.Wenn DataStoreOptions.AllScopes bei der Zugriff auf den Datenstore durch DataStoreService:GetDataStore() auf wahr gesetzt wurde, muss dieser Schlüsselname mit dem ursprünglichen Umfang wie in "scope/key" vorangestellt werden.
Unix-Zeit戳 in Millisekunden, für die die angeforderte Version aktuell war.Muss größer als Null sein.Darf nicht mehr als zehn Minuten in der Zukunft sein.
Rückgaben
Der Wert des Schlüssels, der zu der angegebenen Zeit aktuell war, und eine DataStoreKeyInfo Instanz, die die Versionsnummer, das Datum und die Zeit enthält, zu der die Version erstellt wurde, und Funktionen zum Abrufen von UserIds und Metadaten.nil wenn keine verfügbare Version zu der angeforderten Zeit aktuell war.
Code-Beispiele
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
Diese Funktion gibt ein DataStoreKeyPages Objekt zurück, um durch Schlüssel eines Storeaufzuzählen.Es akzeptiert einen optionalen prefix Parameter, um nur Schlüssel zu finden, deren Namen mit dem angegebenen Präfix beginnen.
Wenn DataStoreOptions.AllScopes bei der Zugriff auf den Datenstore durch DataStoreService:GetDataStore() auf wahr gesetzt wurde, werden Schlüssel mit allen Bereichen als Präfix zurückgegeben.
Parameter
(Optional) Präfix verwenden, um Schlüssel zu finden.
(Optional) Anzahl der Elemente, die auf jeder Seite zurückgegeben werden.Wenn kein Wert angegeben wird, sendet die Engine einen Standardwert von 0 an den Datenlagerservice-Webdienst, der wiederum Standard 50 Elemente pro Seite ist.
(Optional) Cursor, um die Iteration fortzusetzen.
(Optional) Exkludieren von gelöschten Schlüsseln, die zurückgegeben werden.
Wenn aktiviert, überprüft ListKeys bis zu 512 Schlüssel.Wenn alle ausgewählten Schlüssel gelöscht werden, gibt es eine leere Liste mit einem Cursor zurück, um die Iteration fortzusetzen.
Rückgaben
Eine DataStoreKeyPages, die die Schlüssel als DataStoreKey auflistet.
ListVersionsAsync
Diese Funktion listet Versionen des angegebenen Schlüssels in aufsteigender oder absteigender Reihenfolge auf, die durch einen Enum.SortDirection -Parameter angegeben werden.Es kann optionale Filterung der zurückgegebenen Versionen durch Mindest- und Höchstzeitpunkt durchführen.
Parameter
Schlüsselname für die zu listenenden Versionen.Wenn DataStoreOptions.AllScopes bei der Zugriff auf den Datenstore durch DataStoreService:GetDataStore() auf wahr gesetzt wurde, muss dieser Schlüsselname mit dem ursprünglichen Umfang wie in "scope/key" vorangestellt werden.
(Optional) Enum spezifiziert aufsteigende oder absteigende Sortierungsreihenfolge.
(Optional) Unix-Zeit戳 in Millisekunden, nach denen die Versionen aufgelistet werden sollten.
(Optional) Unix-Zeit戳 in Millisekunden, bis zu dem die Versionen aufgelistet werden sollen.
(Optional) Anzahl der Elemente, die auf jeder Seite zurückgegeben werden.Wenn kein Wert angegeben wird, sendet die Engine einen Standardwert von 0 an den Datenbank-Webdienst, der wiederum Standard 1024 Elemente pro Seite ist.
Rückgaben
Eine DataStoreVersionPages, die alle Versionen des Schlüssels als DataStoreObjectVersionInfo auflistet.
Code-Beispiele
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
Diese Funktion löscht die angegebene Version eines Schlüssels permanent. Versionsidentifikatoren können über DataStore:ListVersionsAsync() gefunden werden.
Im Gegensatz zu GlobalDataStore:RemoveAsync() erstellt diese Funktion keine neue "Grabstein"-Version und der entfernte Wert kann später nicht abgerufen werden.
Parameter
Schlüsselname, für den eine Version entfernt werden soll.Wenn DataStoreOptions.AllScopes bei der Zugriff auf den Datenstore durch DataStoreService:GetDataStore() auf wahr gesetzt wurde, muss dieser Schlüsselname mit dem ursprünglichen Umfang wie in "scope/key" vorangestellt werden.
Versionsnumber des Schlüssels zum Entfernen.