エンジンクラス
DataStore
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
概要
方法
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
戻り値
コードサンプル
時間によるデータストアバージョンの取得
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 |
コードサンプル
日付フィルターを使ったデータストアバージョンの取得
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