요약
메서드
GetVersionAsync(key: string,version: string):Tuple |
GetVersionAtTimeAsync(key: string,timestamp: number):Tuple |
ListKeysAsync(prefix: string,pageSize: number,cursor: string,excludeDeleted: boolean):DataStoreKeyPages |
ListVersionsAsync(key: string,sortDirection: Enum.SortDirection,minDate: number,maxDate: number,pageSize: number):DataStoreVersionPages |
RemoveVersionAsync(key: string,version: string):() |
상속된 멤버
API 참조
메서드
GetVersionAsync
GetVersionAtTimeAsync
반환
코드 샘플
시간에 따른 DataStore 버전 검색
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("시간에 버전이 없습니다")
else
print(result, keyInfo.Version)
end
else
warn(result)
end
end
-- 2024/12/02 6:00 UTC에 이전에 실행됨
setData("version 1")
-- 2024/12/02 9:00 UTC에 이전에 실행됨
setData("version 2")
-- "시간에 버전이 없습니다" 출력
local time1 = DateTime.fromUniversalTime(2024, 12, 02, 05, 00)
getVersionAtTime(time1)
-- "version 1 <version>" 출력
local time2 = DateTime.fromUniversalTime(2024, 12, 02, 07, 00)
getVersionAtTime(time2)
-- "version 2 <version>" 출력
local time3 = DateTime.fromUniversalTime(2024, 12, 02, 10, 00)
getVersionAtTime(time3)ListKeysAsync
DataStore:ListKeysAsync(
ListVersionsAsync
DataStore:ListVersionsAsync(
매개 변수
| 기본값: "Ascending" |
| 기본값: 0 |
| 기본값: 0 |
| 기본값: 0 |
코드 샘플
날짜 필터로 DataStore 버전 가져오기
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, "; 버전:", info.Version, "; 생성:", info.CreatedTime, "; 삭제됨:", info.IsDeleted)
end
endRemoveVersionAsync