DataStoreService
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
DataStoreService は、GlobalDataStore と OrderedDataStore オブジェクトを取得するメソッドを公開します。データストアはゲームサーバーにのみアクセスできるので、
データ構造、管理、エラー処理などについての詳細については、データストア を参照してください。
コードサンプル
local DataStoreService = game:GetService("DataStoreService")
for _, enumItem in pairs(Enum.DataStoreRequestType:GetEnumItems()) do
print(enumItem.Name, DataStoreService:GetRequestBudgetForRequestType(enumItem))
end
概要
プロパティ
データストアサービスは、データストア機能が自動再試行するかどうかを設定します。DataStoreService は、テクニカルな理由により、自動再試行を無効にしました。そのため、データストアサービスを自分で再試行する必要があります。
方法
指定された名前とスコープの DataStore インスタンスを作成します。
デフォルトのデータスト保管を返します。
Class.OrderedDataStore に名前とオプションのスコープを与える。
指定されたリクエストタイプによって実行できるリクエストの数を返します。
エクスペリエンス全体のデータストアを枚挙するための DataStoreListingPages オブジェクトを返します。
プロパティ
AutomaticRetry
データストア機能が自動再試行するかどうかを設定します。
DataStoreService は、技術的な理由により、自動再試行を無効にしましたのでこのプロパティを尊重しません。そfore、自分で再試行オペレーションを実装する必要があります。また、将来、自動再試行が再び有効になる可能性があります。
方法
GetDataStore
この関数は、提供された名前とスコープを持つ DataStore インスタンスを作成します。同じ名前/スコープの後の呼び出しには、同じオブジェクトが返されます。
scope パラメータを使用すると、データストアで実行されるすべての操作に対して、そのスコープを自動的にプリペンドして、すべてのオペレーションでスコープをキーに自動的にプリペンドすることにより、DataStoreOptions オプションを含む、スコ
パラメータ
データストアの名前。
(オプション) スコープを指定するストリング。
(オプション) エクスペリエンシャルな機能と v2 API 機能を有効にする DataStoreOptions インスタンス。
戻り値
Class.DataStore インスタンス、名前とオプションのスコープを提供します。
GetGlobalDataStore
この関数は、デフォルトの GlobalDataStore を返します。特定の Class.Name のデータストアにアクセスしたい場合は、GetDataStore() 機能を使用する必要があります。
戻り値
コードサンプル
local DataStoreService = game:GetService("DataStoreService")
local GlobalDataStore = DataStoreService:GetGlobalDataStore()
print(GlobalDataStore.Name)
GetOrderedDataStore
このメソッドは、OrderedDataStore を返します。GetDataStore() が GlobalDataStores で行うように、同じように返します。このメソッドの後の呼び出しには、同じ名前/スコープのメソッドが同じオブジェクトを返します。
パラメータ
戻り値
コードサンプル
local DataStoreService = game:GetService("DataStoreService")
local pointsStore = DataStoreService:GetOrderedDataStore("Points")
local function printTopTenPlayers()
local isAscending = false
local pageSize = 10
local pages = pointsStore:GetSortedAsync(isAscending, pageSize)
local topTen = pages:GetCurrentPage()
-- The data in 'topTen' is stored with the index being the index on the page
-- For each item, 'data.key' is the key in the OrderedDataStore and 'data.value' is the value
for rank, data in ipairs(topTen) do
local name = data.key
local points = data.value
print(name .. " is ranked #" .. rank .. " with " .. points .. "points")
end
-- Potentially load the next page...
--pages:AdvanceToNextPageAsync()
end
-- Create some data
pointsStore:SetAsync("Alex", 55)
pointsStore:SetAsync("Charley", 32)
pointsStore:SetAsync("Sydney", 68)
-- Display the top ten players
printTopTenPlayers()
GetRequestBudgetForRequestType
この関数は、現在の場所が指定した Enum.DataStoreRequestType に基づいて、現在の場所が行うことができるデータストアリクエストの数を返します。この予算を超えるリクエストは、制限速度により減速されます。モニタリングと調整のデータストアリクエストの頻度を使用することをお勧めします。
パラメータ
戻り値
コードサンプル
local DataStoreService = game:GetService("DataStoreService")
local globalStore = DataStoreService:GetGlobalDataStore()
local function printBudget()
local budget = DataStoreService:GetRequestBudgetForRequestType(Enum.DataStoreRequestType.SetIncrementAsync)
print("Current set/increment budget:", budget)
end
for i = 1, 5 do
local key = "key" .. i
local success, err = pcall(function()
globalStore:SetAsync(key, true)
end)
if success then
printBudget()
else
print(err)
end
end
ListDataStoresAsync
エクスペリエンス全体のデータストアを枚挙するための DataStoreListingPages オブジェクトを返します。オプションの prefix パラメーターを使用して、指定されたプレフィックスで始まるデータストアのみを列挙します。
この関数を使用して、少なくとも 1 個のオブジェクトを含むデータストアのみがリストされます。
パラメータ
(オプション) 与えられたプレフィックスでデータストアを列挙するプレフィックス。
(オプション) 各ページで返すアイテムの数。デフォルトは 32 個です。
(オプション) カーソルを押し続けると、イテレーションを続行します。
戻り値
DataStoreListingPages インスタンス、DataStoreInfo 名前、作成時間、および最終更新時間の詳細を提供するインスタンス。