DataStore

Pokaż przestarzałe

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Brak możliwości tworzenia
Bez replikacji

Podsumowanie

Metody

Metody odziedziczeni z: GlobalDataStore

Właściwości

Metody

GetVersionAsync

Wynik

Funkcja ta odzyskuje określoną wersję klucza, a także instancję DataStoreKeyInfo.Identyfikator wersji można znaleźć za pomocą DataStore:ListVersionsAsync() lub alternatywnie może być identyfikatorem zwrotnym przez GlobalDataStore:SetAsync().

Parametry

key: string

Nazwa klucza, dla której wymagane są informacje o wersji.Jeśli DataStoreOptions.AllScopes został ustawiony na prawdę przy uzyskiwaniu przechowywania danych za pośrednictwem DataStoreService:GetDataStore() , nazwa klucza musi być dodana z oryginalnym zakresem, jak w "scope/key".

Wartość domyślna: ""
version: string

Numer wersji klucza, dla którego wymagane są informacje o wersji.

Wartość domyślna: ""

Zwroty

Wartość klucza w określonej wersji i instancja DataStoreKeyInfo, która zawiera numer wersji, datę i czas, w którym wersja została utworzona, oraz funkcje do odzyskania UserIds i metadanych.

GetVersionAtTimeAsync

Wynik

Funkcja ta odzyskuje wersję klucza, która była aktualna w określonym czasie, a także instancjaDataStoreKeyInfo.

Parametry

key: string

Nazwa klucza, dla której wymagane są informacje o wersji.Jeśli DataStoreOptions.AllScopes został ustawiony na prawdę przy uzyskiwaniu przechowywania danych za pośrednictwem DataStoreService:GetDataStore() , nazwa klucza musi być dodana z oryginalnym zakresem, jak w "scope/key".

Wartość domyślna: ""
timestamp: number

Data czasu Unix w milisekundach, w których żądana wersja była aktualna.Musi być większy niż zero.Nie może być więcej niż dziesięć minut w przyszłości.

Wartość domyślna: ""

Zwroty

Wartość klucza, który był aktualny w określonym czasie i instancja DataStoreKeyInfo, która zawiera numer wersji, datę i czas, w którym wersja została utworzona, oraz funkcje do odzyskania UserIds i metadanych.nil jeśli żadna dostępna wersja nie była aktualna w czasie żądania.

Przykłady kodu

The following code sample retrieves data store key versions using timestamps.

Retrieving DataStore Versions by Time

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

Wynik

Funkcja ta zwraca obiekt DataStoreKeyPages do wyszukiwania przez klucze sklepdanych.Akceptuje opcjonalny parametr prefix opcjonalny, aby zlokalizować tylko klucze, których nazwy zaczynają się od podanego prefiksu.

Jeśli DataStoreOptions.AllScopes został ustawiony na prawdę podczas uzyskiwania przechowywania danych za pośrednictwem DataStoreService:GetDataStore(), klucze zostaną zwrócone ze wszystkimi zakresami jako prefiksami.

Parametry

prefix: string

(Opcjonalnie) Prefix do użycia do lokalizacji kluczy.

Wartość domyślna: ""
pageSize: number

(Opcjonalnie) Liczba przedmiotów, które mają być zwrócone na każdej stronie.Jeśli nie podano żadnej wartości, silnik wysyła domyślną wartość 0 do usługi przechowywania danych, która z kolei domyślnie wynosi 50 przedmiotów na stronę.

Wartość domyślna: 0
cursor: string

(Opcjonalnie) Cursor, aby kontynuować iterację.

Wartość domyślna: ""
excludeDeleted: boolean

(Opcjonalnie) Wyklucz usunięte klucze z powrotem.

Po włączeniu ListKeys sprawdzi do 512 kluczy.Jeśli wszystkie wybrane klucze zostaną usunięte, zwróci pustą listę z kursoром, aby kontynuować iterację.

Wartość domyślna: false

Zwroty

Instancja DataStoreKeyPages, która wymienia klucze jako DataStoreKey instancje.

ListVersionsAsync

Wynik

Funkcja ta wymienia wersje określonego klucza w kolejności malejącej lub rosnącej, określonej przez parametr Enum.SortDirection.Może opcjonalnie filtrować zwrócone wersje przez minimalny i maksymalny czas trwania.

Parametry

key: string

Nazwa klucza dla wersji do wymienienia.Jeśli DataStoreOptions.AllScopes został ustawiony na prawdę przy uzyskiwaniu przechowywania danych za pośrednictwem DataStoreService:GetDataStore() , nazwa klucza musi być dodana z oryginalnym zakresem, jak w "scope/key".

Wartość domyślna: ""
sortDirection: Enum.SortDirection

(Opcjonalnie) Enum określający kolejność sortowania rosnącą lub malejącą.

Wartość domyślna: "Ascending"
minDate: number

(Opcjonalnie) Zeit戳 Unix w milisekundach po których wersje powinny być wyświetlane.

Wartość domyślna: 0
maxDate: number

(Opcjonalnie) Zeit戳 Unix w milisekundach, do których wersje powinny być wyświetlane.

Wartość domyślna: 0
pageSize: number

(Opcjonalnie) Liczba przedmiotów, które mają być zwrócone na każdej stronie.Jeśli nie podano żadnej wartości, silnik wysyła domyślną wartość 0 do usługi przechowywania danych, co z kolei domyślnie wynosi 1024 przedmiotów na stronę.

Wartość domyślna: 0

Zwroty

Instancja DataStoreVersionPages, która wymienia wszystkie wersje klucza jako DataStoreObjectVersionInfo instancje.

Przykłady kodu

The following code sample retrieves all versions after a specified starting time, sorted in ascending order.

Retrieving DataStore Versions With A Date Filter

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

()
Wynik

Funkcja ta permanentnie usuwa określoną wersję klucza. Identyfikatory wersji można znaleźć za pomocą DataStore:ListVersionsAsync() .

W przeciwieństwie do GlobalDataStore:RemoveAsync() funkcja ta nie tworzy nowej wersji "grobowca" i usunięta wartość nie może zostać odzyskana później.

Parametry

key: string

Nazwa klucza, dla której ma zostać usunięta wersja.Jeśli DataStoreOptions.AllScopes został ustawiony na prawdę przy uzyskiwaniu przechowywania danych za pośrednictwem DataStoreService:GetDataStore() , nazwa klucza musi być dodana z oryginalnym zakresem, jak w "scope/key".

Wartość domyślna: ""
version: string

Numer wersji klucza do usuwać, wyjmować.

Wartość domyślna: ""

Zwroty

()

Zdarzenia