DataStore
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
参照してください データストア。
概要
方法
指定されたキーバージョンを取得します。
指定された時点で現在のキーバージョンを取得します。
- ListKeysAsync(prefix : string,pageSize : number,cursor : string,excludeDeleted : boolean):DataStoreKeyPages
データストアのキーを通じて列挙する DataStoreKeyPages オブジェクトを返します。
- ListVersionsAsync(key : string,sortDirection : Enum.SortDirection,minDate : number,maxDate : number,pageSize : number):DataStoreVersionPages
キーのすべてのバージョンを枚挙します。
指定されたバージョンのキーを永久に削除します。
指定されたデータストアと DataStoreKeyInfo インスタンスのキーの値を返します。
- IncrementAsync(key : string,delta : number,userIds : Array,options : DataStoreIncrementOptions):Variant
提供された量でキーの値を増加させます (両方が整数である必要があります)。
指定されたキーを削除しながら、アクセシブルバージョンを保持します。
指定されたキーのためのデータストアの値を設定します。
指定された呼び出し機能から新しい値でキーの値を更新します。
プロパティ
方法
GetVersionAsync
この機能は、指定されたキーバージョンと、DataStoreKeyInfo インスタンスを回収します。バージョン識別子は DataStore:ListVersionsAsync() または代わりに GlobalDataStore:SetAsync() によって返された識別子で見つけることができます。
パラメータ
バージョン情報が要求されるキー名。データストアにアクセスするときに が trueに設定されている場合、このキー名は「scope/key」のようにオリジナルのスコープと一緒に付け加えられなければなりません。
バージョン情報が要求されるキーのバージョン番号。
戻り値
指定されたバージョンのキーの値と、バージョン番号、日付、時刻を含む DataStoreKeyInfo インスタンス、およびバージョンを回収し、メタデータを取得する機能を含む UserIds インスタンス。
GetVersionAtTimeAsync
この関数は、指定された時点で現在のキーバージョンと、DataStoreKeyInfo インスタンスを回収します。
パラメータ
バージョン情報が要求されるキー名。データストアにアクセスするときに が trueに設定されている場合、このキー名は「scope/key」のようにオリジナルのスコープと一緒に付け加えられなければなりません。
リクエストされたバージョンが現在である時間の Unix タイムスタンプ (ミリ秒単位)。ゼロより大きくなければなりません。将来十分以上であってはならない。
戻り値
指定された時点で現在のキーの値と、バージョン番号、日付、およびバージョンが作成された時間を含む DataStoreKeyInfo インスタンス、およびバージョンを回収し、メタデータを取得する機能を含むUserIdsインスタンス。nil 要求時に利用可能なバージョンがなかった場合。
コードサンプル
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
この機能は、データストアのキーを通じて列挙するための DataStoreKeyPages オブジェクトを返します。オプションの prefix パラメータを受け入れて、提供されたプレフィックスで始まるキーのみを見つけます。
データストアにアクセスするときに が trueに設定されている場合、すべてのスコープがプレフィックスとしてキーが返されます。
パラメータ
(オプション) キーの検索に使用するプレフィックス。
(オプション) 各ページで返されるアイテムの数。値が指定されない場合、エンジンはデータストア Web サービスにデフォルトの値 0を送り、その後、ページごとに 50 アイテムにデフォルトします。
(オプション) イテレーションを続けるカーソル。
(オプション) 削除されたキーを返さないようにする。
有効にすると、ListKeys は最大 512 個のキーをチェックします。チェックされたすべてのキーが削除されると、カーソルを持つ空のリストが返され、再帰的に続行します。
戻り値
キーを DataStoreKeyPages インスタンスとして列挙する DataStoreKey インスタンスの例。
ListVersionsAsync
この関数は、Enum.SortDirection パラメータによって指定された上位または下位の順序で指定された特定のキーのバージョンを列挙します。オプションで、返されたバージョンを最小と最大のタイムスタンプでフィルタできます。
パラメータ
リストに表示するバージョンのキー名。データストアにアクセスするときに が trueに設定されている場合、このキー名は「scope/key」のようにオリジナルのスコープと一緒に付け加えられなければなりません。
(オプション) Enum 上昇順または下降順のソート順序を指定する。
(オプション) バージョンがリストに表示されるまでのミリ秒後の Unix タイムスタンプ
(オプション) バージョンがリストに表示されるべき時間までの Unix タイムスタンプ
(オプション) 各ページで返されるアイテムの数。値が指定されない場合、エンジンはデータストアWeb サービスにデフォルトの値である 0 を送信し、その後、ページごとに 1024 アイテムにデフォルトします。
戻り値
すべてのバージョンのキーを DataStoreVersionPages インスタンスとして列挙する DataStoreObjectVersionInfo インスタンスの A。
コードサンプル
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
この機能は、指定されたバージョンのキーを永久に削除します。バージョン識別子は DataStore:ListVersionsAsync() を通じて見つけることができます。
GlobalDataStore:RemoveAsync() とは異なり、この関数は新しい「墓石」バージョンを作成しないし、削除された値は後で回収できません。
パラメータ
バージョンを削除するキー名。データストアにアクセスするときに が trueに設定されている場合、このキー名は「scope/key」のようにオリジナルのスコープと一緒に付け加えられなければなりません。
削除するキーのバージョン番号。