DataStoreService
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
DataStoreService は、GlobalDataStore および OrderedDataStore オブジェクトを取得するためのメソッドを露出します。データストアはゲームサーバーにのみアクセスできるため、DataStoreService 内でのみ、Script または ModuleScript が使用されている Script 内でのみ使用できます。
データストアについて詳しくは、データストアを参照してください。データ構造、管理、エラー処理などの詳細ガイド。
コードサンプル
This code sample prints the request budget for all data store request types.
local DataStoreService = game:GetService("DataStoreService")
for _, enumItem in pairs(Enum.DataStoreRequestType:GetEnumItems()) do
print(enumItem.Name, DataStoreService:GetRequestBudgetForRequestType(enumItem))
end
概要
プロパティ
データストア機能が自動的に再試行するかどうかを設定します。データストアサービスは、技術的な理由により自動再試行が無効になったため、このプロパティを尊重しません。そのため、操作を再試行するシステムを自分で実装する必要があります。
方法
提供された名前とスコープで DataStore インスタンスを作成します。
デフォルトのデータストアを返す。
名とオプションのスコープが与えられた OrderedDataStore を取得する
指定されたリクエストタイプで行えるリクエスト数を返します。
すべてのエクスペリエンスのデータストアを列挙するための DataStoreListingPages オブジェクトを返します。
プロパティ
AutomaticRetry
データストア機能が自動的に再試行するかどうかを設定します。
データストアサービスは、技術的な理由により自動再試行が無効になったため、このプロパティを尊重しません。そのため、操作を再試行するシステムを自分で実装する必要があります。将来自動再試行が再び有効になる可能性があります。
方法
GetDataStore
この関数は、提供された名前とスコープで DataStore インスタンスを作成します。同じ名前/スコープでこのメソッドに後続の呼び出しを行うと、同じオブジェクトが返されます。
scope パラメータを使用すると、データストアで実行されたすべての操作にスコープを自動的に付加して、そのスコープに操作を制限できます。この機能はまた、オプションの DataStoreOptions インスタンスを受け入れ、AllScopes を有効にするオプションを含みます。スコープに関する詳細は、バージョニング、リスト、キャッシュ を参照してください。
パラメータ
データストアの名前。
(オプション) スコープを指定する文字列。
(オプション) 試験機能と v2 API 機能を有効にするためのインスタンス A DataStoreOptions 例
戻り値
GetGlobalDataStore
この機能はデフォルトの GlobalDataStore を返します。代わりに特定の 名前の データストアにアクセスしたい場合は、GetDataStore() 関数を使用する必要があります。
この関数によって返される DataStore は、常にスコープ u を使用します。スコープに関する詳細は、データストア を参照してください。
戻り値
コードサンプル
次の例では、普通の Instance のように動作するデフォルトのデータストアインスタンスを取得します。GlobalDataStore が Instance であるため、GlobalDataStore:GetChildren() のような機能はエラーなしで実行されます。
local DataStoreService = game:GetService("DataStoreService")
local GlobalDataStore = DataStoreService:GetGlobalDataStore()
print(GlobalDataStore.Name)
GetOrderedDataStore
このメソッドは、OrderedDataStore と同じように、GetDataStore() が GlobalDataStores で行っている方法と同じように返します。同じ名前/スコープでこのメソッドに後続の呼び出しを行うと、同じオブジェクトが返されます。
パラメータ
戻り値
コードサンプル
This code sample demonstrates usage of an OrderedDataStore and pages.
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 個のオブジェクトを含むデータストアのみです。
パラメータ
(オプション) 指定されたプレフィックスで始まるデータストアを枚挙するプレフィックス。
(オプション) 各ページで返されるアイテムの数。値が指定されない場合、エンジンはデータストア Web サービスにデフォルトの値 0を送り、その後、ページごとに 32 アイテムにデフォルトします。
(オプション) イテレーションを続けるカーソル。
戻り値
DataStoreListingPages インスタンスに含まれる DataStoreInfo インスタンスは、名前、作成時間、最終更新時間などの詳細を提供します。