DataStore

非推奨を表示

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

作成できません
複製されていません

参照してください データストア

概要

方法

GlobalDataStore から継承した 方法

プロパティ

方法

GetVersionAsync

イールド

この機能は、指定されたキーバージョンと、DataStoreKeyInfo インスタンスを回収します。バージョン識別子は DataStore:ListVersionsAsync() または代わりに GlobalDataStore:SetAsync() によって返された識別子で見つけることができます。

パラメータ

key: string

バージョン情報が要求されるキー名。データストアにアクセスするときに が trueに設定されている場合、このキー名は「scope/key」のようにオリジナルのスコープと一緒に付け加えられなければなりません。

既定値: ""
version: string

バージョン情報が要求されるキーのバージョン番号。

既定値: ""

戻り値

指定されたバージョンのキーの値と、バージョン番号、日付、時刻を含む DataStoreKeyInfo インスタンス、およびバージョンを回収し、メタデータを取得する機能を含む UserIds インスタンス。

GetVersionAtTimeAsync

イールド

この関数は、指定された時点で現在のキーバージョンと、DataStoreKeyInfo インスタンスを回収します。

パラメータ

key: string

バージョン情報が要求されるキー名。データストアにアクセスするときに が trueに設定されている場合、このキー名は「scope/key」のようにオリジナルのスコープと一緒に付け加えられなければなりません。

既定値: ""
timestamp: number

リクエストされたバージョンが現在である時間の Unix タイムスタンプ (ミリ秒単位)。ゼロより大きくなければなりません。将来十分以上であってはならない。

既定値: ""

戻り値

指定された時点で現在のキーの値と、バージョン番号、日付、およびバージョンが作成された時間を含む DataStoreKeyInfo インスタンス、およびバージョンを回収し、メタデータを取得する機能を含むUserIdsインスタンス。nil 要求時に利用可能なバージョンがなかった場合。

コードサンプル

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

イールド

この機能は、データストアのキーを通じて列挙するための DataStoreKeyPages オブジェクトを返します。オプションの prefix パラメータを受け入れて、提供されたプレフィックスで始まるキーのみを見つけます。

データストアにアクセスするときに が trueに設定されている場合、すべてのスコープがプレフィックスとしてキーが返されます。

パラメータ

prefix: string

(オプション) キーの検索に使用するプレフィックス。

既定値: ""
pageSize: number

(オプション) 各ページで返されるアイテムの数。値が指定されない場合、エンジンはデータストア Web サービスにデフォルトの値 0を送り、その後、ページごとに 50 アイテムにデフォルトします。

既定値: 0
cursor: string

(オプション) イテレーションを続けるカーソル。

既定値: ""
excludeDeleted: boolean

(オプション) 削除されたキーを返さないようにする。

有効にすると、ListKeys は最大 512 個のキーをチェックします。チェックされたすべてのキーが削除されると、カーソルを持つ空のリストが返され、再帰的に続行します。

既定値: false

戻り値

キーを DataStoreKeyPages インスタンスとして列挙する DataStoreKey インスタンスの例。

ListVersionsAsync

イールド

この関数は、Enum.SortDirection パラメータによって指定された上位または下位の順序で指定された特定のキーのバージョンを列挙します。オプションで、返されたバージョンを最小と最大のタイムスタンプでフィルタできます。

パラメータ

key: string

リストに表示するバージョンのキー名。データストアにアクセスするときに が trueに設定されている場合、このキー名は「scope/key」のようにオリジナルのスコープと一緒に付け加えられなければなりません。

既定値: ""
sortDirection: Enum.SortDirection

(オプション) Enum 上昇順または下降順のソート順序を指定する。

既定値: "Ascending"
minDate: number

(オプション) バージョンがリストに表示されるまでのミリ秒後の Unix タイムスタンプ

既定値: 0
maxDate: number

(オプション) バージョンがリストに表示されるべき時間までの Unix タイムスタンプ

既定値: 0
pageSize: number

(オプション) 各ページで返されるアイテムの数。値が指定されない場合、エンジンはデータストアWeb サービスにデフォルトの値である 0 を送信し、その後、ページごとに 1024 アイテムにデフォルトします。

既定値: 0

戻り値

すべてのバージョンのキーを DataStoreVersionPages インスタンスとして列挙する DataStoreObjectVersionInfo インスタンスの A。

コードサンプル

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

()
イールド

この機能は、指定されたバージョンのキーを永久に削除します。バージョン識別子は DataStore:ListVersionsAsync() を通じて見つけることができます。

GlobalDataStore:RemoveAsync() とは異なり、この関数は新しい「墓石」バージョンを作成しないし、削除された値は後で回収できません。

パラメータ

key: string

バージョンを削除するキー名。データストアにアクセスするときに が trueに設定されている場合、このキー名は「scope/key」のようにオリジナルのスコープと一緒に付け加えられなければなりません。

既定値: ""
version: string

削除するキーのバージョン番号。

既定値: ""

戻り値

()

イベント