DataStore
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
Bakın Veri Depoları.
Özet
Özellikler
Yöntemler
Belirtilen anahtar sürümünü alır.
Belirli bir zamanda mevcut olan anahtar sürümünü alır.
- ListKeysAsync(prefix : string,pageSize : number,cursor : string,excludeDeleted : boolean):DataStoreKeyPages
Veri depolarının mağazaaracılığıyla sayım yapmak için bir DataStoreKeyPages nesnesi döndürür.
- ListVersionsAsync(key : string,sortDirection : Enum.SortDirection,minDate : number,maxDate : number,pageSize : number):DataStoreVersionPages
Bir anahtarın tüm sürümlerini sayar.
Belirtilen bir anahtarın kalıcı olarak belirtilen sürümünü siler.
Belirtilen veri depolamasındaki bir anahtarın değerini ve bir DataStoreKeyInfo durumdöndürür.
- IncrementAsync(key : string,delta : number,userIds : Array,options : DataStoreIncrementOptions):Variant
Verilen miktar ile bir anahtarın değerini artırır (her ikisi de tamsayı olmalıdır).
Belirtilen anahtarı kaldırırken erişilebilir bir sürüm de korur.
Verilen anahtar için veri depolama değerini ayarlar.
Bir anahtarın değerini belirtilen geri çağrı işlevinden yeni bir değerle günceller.
Özellikler
Yöntemler
GetVersionAsync
Bu işlev, belirtilen anahtar sürümünü ve bir DataStoreKeyInfo durumde alır.Bir versiyon tanımlayıcısı DataStore:ListVersionsAsync() veya alternatif olarak GlobalDataStore:SetAsync() tarafından döndürülen tanımlayıcı olabilir.
Parametreler
Sürüm bilgisi talep edilen anahtar adı.Eğer DataStoreOptions.AllScopes veri depolarına erişirken DataStoreService:GetDataStore() aracılığıyla doğru ayarlanmışsa, bu anahtar adı "scope/key" içindeki orijinal kapsama eklenmelidir.
Sürüm bilgisi talep edilen anahtarın sürüm numarası.
Dönüşler
Belirtilen versiyondaki anahtarın değeri ve versiyon numarası, tarih ve saati içeren DataStoreKeyInfo bir örnek ve UserIds ve metadat alma işlevleri içeren örnek.
GetVersionAtTimeAsync
Bu işlev, belirli bir anda mevcut olan anahtar sürümünü ve bir DataStoreKeyInfo durumde alır.
Parametreler
Sürüm bilgisi talep edilen anahtar adı.Eğer DataStoreOptions.AllScopes veri depolarına erişirken DataStoreService:GetDataStore() aracılığıyla doğru ayarlanmışsa, bu anahtar adı "scope/key" içindeki orijinal kapsama eklenmelidir.
Talep edilen sürümün mevcut olduğu saniyelerde Unix zaman damgası.Sıfırdan büyük olmalıdır.Gelecekte on dakikadan fazla olmamalı.
Dönüşler
Belirtilen zamanda mevcut olan anahtarın değeri ve versiyon numarası, tarih ve saati içeren DataStoreKeyInfo bir örnek ve versiyonu geri almak ve metadatı almak için fonksiyonları içeren UserIds bir örnek.nil talep edilen sürede mevcut bir sürüm yoksa, istenen sürede.
Kod Örnekleri
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
Bu işlev, bir veri depolamasının anahtarları aracılığıyla sayım yapmak için bir DataStoreKeyPages nesne döndürür.Verilen önfix ile başlayan anahtarları yalnızca bulmak için seçici bir prefix parametresi kabul eder.
Eğer DataStoreOptions.AllScopes veri depolarına erişirken DataStoreService:GetDataStore() aracılığıyla doğru ayarlanmışsa, anahtarlar tüm alanlar olarak ön ek olarak iade edilecektir.
Parametreler
(Opsiyonel) Anahtarları bulmak için kullanılacak ö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 50 öğeye düşer.
(Opsiyonel) Döngüyü devam ettirmek için kursor.
(Opsiyonel) Silinen anahtarların geri gönderilmesini engelle.
Açık olduğunda, ListKeys en fazla 512 anahtarı kontrol edecektir.Tüm kontrol edilen anahtarlar silinirse, döngüyü sürdürmek için boş bir liste ile bir işaretçi döndürür.
Dönüşler
Anahtarları DataStoreKeyPages örnekleri olarak listeleyen bir örnek DataStoreKey.
ListVersionsAsync
Bu işlev, belirtilen anahtarın sırasına göre artış veya azalma olarak belirtilen sürümlerini listeler Enum.SortDirection bir parametre tarafından belirtilen düzende.Opsiyonel olarak döndürülen sürümleri minimum ve maksimum zamana göre filtreleyebilir.
Parametreler
Listelenen sürümler için anahtar adı.Eğer DataStoreOptions.AllScopes veri depolarına erişirken DataStoreService:GetDataStore() aracılığıyla doğru ayarlanmışsa, bu anahtar adı "scope/key" içindeki orijinal kapsama eklenmelidir.
(Opsiyonel) Artan veya azalan sıralama düzenini belirten Enum.
(Opsiyonel) Versiyonların listelenmesi gereken saniyelerden sonra Unix zaman damgası.
(Opsiyonel) Versiyonların listelenmesi gereken süreye kadar Unix zaman damgası (isteğe bağlı).
(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 1024 öğeye düşer.
Dönüşler
Anahtarın tüm sürümlerini DataStoreVersionPages örnekleyen bir DataStoreObjectVersionInfo örneği.
Kod Örnekleri
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
Bu işlev, belirtilen bir anahtarın özel versiyonunu kalıcı olarak siler. Versiyon tanımlayıcıları DataStore:ListVersionsAsync() aracılığıyla bulunabilir.
GlobalDataStore:RemoveAsync() 'den farklı olarak, bu işlev yeni bir "mezar taşı" versiyonu oluşturmaz ve kaldırılan değer daha sonra alınamaz.
Parametreler
Bir sürümün kaldırılması gereken anahtar adı.Eğer DataStoreOptions.AllScopes veri depolarına erişirken DataStoreService:GetDataStore() aracılığıyla doğru ayarlanmışsa, bu anahtar adı "scope/key" içindeki orijinal kapsama eklenmelidir.
Kaldırılacak anahtarın versiyon numarası.