DataStoreService
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
DataStoreService GlobalDataStore ve OrderedDataStore nesnelerini almak için yöntemleri açar.Veri depoları yalnızca oyun sunucuları tarafından erişilebilir, bu nedenle yalnızca DataStoreService bir Script veya bir ModuleScript oyun tarafından kullanılan Script içinde erişebilirsiniz.
Veri yapısı, yönetimi, hata ele alma gibi konularda derin bir rehberlik için Veri depolarına bakın
Kod Örnekleri
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
Özet
Özellikler
Veri depolama işlevlerinin otomatik olarak yeniden denemesi gereip geremediğini ayarlar.DataStoreService bu özelliğe saygı göstermiyor çünkü teknik nedenlerden dolayı otomatik yeniden deneme devre dışı bırakıldı.Bu nedenle, kendiniz işlemleri yeniden denemek için sistemler uygulamanız gerekir.
Yöntemler
Verilen ad ve alanla bir DataStore örneği oluşturur.
Varsayılan veri mağazageri verir.
Bir isim ve seçeneksel bir alan verilen bir OrderedDataStore.
Verilen istek yazyapılabilecek istek sayısını döndürür.
Tüm deneyim veri depoları aracılığıyla listelenmek için bir DataStoreListingPages nesnesi döndürür
Özellikler
AutomaticRetry
Veri depolama işlevlerinin otomatik olarak yeniden denemesi gereip geremediğini ayarlar.
DataStoreService bu özelliğe saygı göstermiyor çünkü teknik nedenlerden dolayı otomatik yeniden deneme devre dışı bırakıldı.Bu nedenle, kendiniz işlemleri yeniden denemek için sistemler uygulamanız gerekir.Otomatik yeniden deneme gelecekte tekrar etkinleştirilebilir.
Yöntemler
GetDataStore
Bu işlev, verilen ad ve alanla bir DataStore örneği oluşturur.Aynı adı/alanı ile bu yönteme yapılan sonraki çağrılar aynı nesneyi döndürecektir.
scope parametresini kullanmak, operasyonları veri depolamasında yapılan tüm işlemlerde mağazaotomatik olarak ekleyerek bu alana sınırlayacaktır.Bu işlev ayrıca DataStoreOptions seçeneği içeren bir seçici örnek kabul eder, bu da AllScopes etkinleştirme seçenekleri içerir.Scope'a ilişkin ayrıntılar için Veri depoları bakın.
Parametreler
Veri mağazaadı.
(Opsiyonel) Scope'u tanımlayan bir dize.
(Opsiyonel) Deneysel özellikleri ve v2 API özelliklerini etkinleştirmek için bir DataStoreOptions örneği.
Dönüşler
GetGlobalDataStore
Bu işlev varsayılan GlobalDataStore 'yi döndürür.Bunun yerine belirli bir adlı veri depolarına erişmek istiyorsanız, GetDataStore() işlevini kullanmalısınız.
Bu işlev tarafından döndürülen DataStore her zaman alanı u kullandığını unutmayın. Ayrıntılar için Veri depoları bakınız.
Dönüşler
Kod Örnekleri
The following example retrieves a default data store instance which behaves like a regular Instance. Since a GlobalDataStore is an Instance, functions such as GlobalDataStore:GetChildren() will execute without error.
local DataStoreService = game:GetService("DataStoreService")
local GlobalDataStore = DataStoreService:GetGlobalDataStore()
print(GlobalDataStore.Name)
GetOrderedDataStore
Bu yöntem bir OrderedDataStore , GetDataStore() ile yaptığı şekilde benzer bir şekilde döndürür GlobalDataStores .Aynı adı/alanı ile bu yönteme yapılan sonraki çağrılar aynı nesneyi döndürecektir.
Parametreler
Dönüşler
Kod Örnekleri
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
Bu işlev, mevcut yerin verilen Enum.DataStoreRequestType üzerine dayanarak yapabileceği veri depolama isteği sayısını döndürür.Bu bütçeyi aşan herhangi bir istek kısıtlanmaya tabidir.Bu işlevi kullanarak veri depolama isteklerinin frekansını izlemek ve ayarlamak önerilir.
Parametreler
Dönüşler
Kod Örnekleri
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
Tüm deneyim veri depoları aracılığıyla listelenmek için bir DataStoreListingPages nesnesi döndürürVerilen ön ek ile başlayan sadece veri depolarını bulmak için isteğe bağlı bir prefix parametresi kabul eder.
En az bir nesne içeren sadece veri depoları bu işlev aracılığıyla listelenecektir.
Parametreler
(Opsiyonel) Verilen tercih ile başlayan veri depolarını saymak için ön ek.
(Opsiyonel) Her sayfada döndürülecek öğe sayısı.Değer verilmezse, motor veri depolama web hizmetine varsayılan bir değer olan 0'ı gönderir, ki bu da sayfa başına 32 öğeye düşer.
(Opsiyonel) Döngüyü devam ettirmek için kursor.
Dönüşler
DataStoreListingPages adı, yaratım zamanı ve son güncelleme zamanı gibi ayrıntılar sağlayan DataStoreInfo örnekleri içeren örnekler.