Veri depolarına yapılan istekler kalitesiz bağlantı veya diğer sorunlar nedeniyle başarısız olabilir. Hataları ele almak ve bir hata kodu ile mesajları döndürmek için, veri depolarını pcall() ile çevreleyin.
Hata Kodu Rehberi
Hata Kodu | Hata Adı | Hata Mesajı | Notlar | |
---|---|---|---|---|
101 | KeyNameEmpty | Anahtar ismi boş olamaz. | Anahtar veri depolama işlevine girdiğinde boş bir diziolup olmadığını kontrol edin. | |
102 | KeyNameLimit | Anahtar ismi 50 karakter sınırını aşıyor. | Anahtarın veri depolama işlevine girdiği uzunluğu 50'den aşıp aşmadığını kontrol edin. | |
103 | ValueNotAllowed | X ı DataStore içinde izin veremezsiniz. | Kötü bir güncelleme işlevi X tipi bir değer içermiştir. | |
104 | CantStoreValue | X İstek DataStore İçinde Değiştirilemez. | Güncelleme işlevi, seri olmayan bir değer X ile döndü. | |
105 | ValueTooLarge | Seri değer X sınırını aşıyor. | Eğer bir değeri SetAsync() veya UpdateAsync() ile ayarlıyorsanız, değerin seri uzunluğu X ile aynı olamaz. Değeri seri uzunluğundan kontrol etmek için 1> Class.HttpService:JSONEncode()|JSONEncode | |
106 | MaxValueInvalid | MaxValue bir sayı olmalıdır. | Bir GetSortedAsync() için maksimum değeri OrderedDataStore ile aynı olmalıdır. | |
106 | MinValueInvalid | MinValue bir sayı olmalıdır. | Bir GetSortedAsync() için minimum değeri OrderedDataStore ile geçiyorsa, bir sayı olmalıdır. | |
106 | PageSizeGreater | PageSize önceden belirlenmiş bir menzil içinde olmalıdır. | Bir OrderedDataStore için minimum sayfa boyutu 1'dir. | |
106 | PageSizeLesser | PageSize önceden belirlenmiş bir menzil içinde olmalıdır. | Bir OrderedDataStore için maksimum sayfa boyutu 100'dir. | |
107 | MinMaxOrderInvalid | MaxValue , MinValue 'den daha büyük veya eşit olmalıdır. | Maksimum değer, GetSortedAsync() için minimum değerden daha büyük veya eşit olmalıdır. | |
301 | GetAsyncThrottle | GetAsync isteği bırakıldı. İstek sınırlandırıldı, ancak sıra dolu. | GetAsync() isteği maksimum sıra boyutunu aştı ve Roblox mevcut üretim hızıyla istekleri işleyemez. | |
302 | SetAsyncThrottle | SetAsync isteği bırakıldı. İstek sınırlandırıldı, ancak sıra dolu. | SetAsync() isteği maksimum sıra boyutunu aştı ve Roblox mevcut üretim hızıyla istekleri işleyemez. | |
303 | IncreAsyncThrottle | IncrementAsync istek bırakıldı. İstek gecikmişti, ancak sıra dolu. | IncrementAsync() isteği maksimum sıra boyutunu aştı ve Roblox, mevcut üretim hızıyla istekleri işleyemez. | |
304 | UpdateAsyncThrottle | UpdateAsync isteği bırakıldı. İstek azaltıldı, ancak sıra dolu. | UpdateAsync() isteği maksimum sıra boyutunu aştı ve Roblox mevcut üretim hızıyla istekleri işleyemez. | |
304 | TransformThrottle | UpdateAsync isteği bırakıldı. İstek azaltıldı, ancak sıra dolu. | UpdateAsync() isteği maksimum sıra boyutunu aştı ve Roblox mevcut üretim hızıyla istekleri işleyemez. | |
305 | GetSortedThrottle | GetSorted isteği bırakıldı. İstek gecikmişti, ancak sıra dolu. | GetSortedAsync() isteği maksimum sıra boyutunu aştı ve Roblox, mevcut üretim hızıyla istekleri işleyemez. | |
306 | RemoveAsyncThrottle | RemoveAsync isteği bırakıldı. İstek gecikmişti, ancak sıra dolu. | RemoveAsync() isteği maksimum sıra boyutunu aştı ve Roblox mevcut üretim hızıyla istekleri işleyemez. | |
401 | DataModelNoAccess | İstek başarısız. DataModel deneyim kapatılırken erişilemez. | DataModel denetlenemiyor çünkü deneyim yeniden başlatılıyor. | |
402 | LuaWebSrvsNoAccess | İstek başarısız. LuaWebService deneyim kapatılırken erişilemez. | LuaWebService denetlenemiyor çünkü deneyim kapatılıyor. | |
403 | StudioAccessToApisNotAllowed | Stüdyo'dan DataStore'e yazılamıyor çünkü API erişimi etkin değil. | Veri Depolarını Studio'da kullanmak için API erişimi aktif olmalıdır. | |
404 | InternalError | OrderedDataStore mevcut değil. | Bu istek ile ilgili OrderedDataStore yok edilmedi. Bu, veri bozulmasının bir işaret olabilir. Daha sonra tekrar deneyin. | |
501 | InternalError | Veriler bozulmuş olabilir, bu yüzden yanıtı parsleyemiyorum. | Sunucu, talepyanıtlayamadı. Bu belki de veri bozulmasının bir işaretidir. Daha sonra tekrar deneyin. | |
502 | RequestRejected | API Hizmetleri isteği hata ile X ile reddetti. | Roblox sunucularında işlenirken hata X oluştu. Daha sonra tekrar deneyin. | |
503 | InternalError | Veri depolama isteği başarılı oldu, ancak anahtar bulunamadı. | İstek edilen anahtar Data Store'da bulunamadı. Bu, veri bozulmasının bir işaret olabilir. Daha sonra tekrar deneyin. | |
504 | InternalError | Veri Deposu isteği başarılı oldu, ancak yanıt doğru biçimlendi. | Sunucu, talepyanıtlayamadı. Bu belki de veri bozulmasının bir işaretidir. Daha sonra tekrar deneyin. | |
505 | InternalError | OrderedDataStore istek başarılı oldu ancak yanıt doğru biçimlendi. | Sunucu, Class.OrderedDataStore talepyanıtını parçalayabildi. Bu, veri bozulmasının bir işaret olabilir. Daha sonra tekrar deneyin. | |
509 | OperationNotAllowed | Kişisel RCC'de çalışırken veri depolama işlemleri yapılamaz, böylece olası veri bozulmasını önleyebilirsiniz. | Veri Deposu yazıları özel RCC kanallarında bloke edilir. | |
511 | AttributeSizeTooLarge | Metadat özelliğinin boyutu X sınırını aşıyor. | Seri metin metni boyutu X 'in sınırını aşar. Değer X , dinamiktir. Eğer boyut değişirse, değer değişir. | |
512 | UserIdLimitExceeded | UserID büyüklüğü X sınırını aşıyor. | Kullanıcının sağladığı kullanıcı kimliklerinin uzunluğu X sınırını aşıyor. | |
513 | AttributeFormatError | Özellik userId formatı geçersizdir. | Verilen kullanıcı kimliği bir sayı değildir. | |
513 | AttributeFormatError | Özellik metadatası formatı geçersizdir. | Metadatası bir tablo değildir. | |
GetVersionAsyncThrottle | GetVersionAsync isteği bırakıldı. İstek gecikmiş. | GetVersionAsync() isteği maksimum sıra boyutunu aştı ve Roblox mevcut üretim hızıyla istekleri işleyemez. | ||
ListDataStoresAsyncThrottle | ListDataStoresAsync istek bırakıldı. İstek gecikmiş. | ListDataStoresAsync() istek maksimum sıra boyutunu aştı ve Roblox mevcut kapasitede istekleri işleyemez. | ||
ListKeysAsyncThrottle | ListKeysAsync istek bırakıldı. İstek gecikmiş. | ListKeysAsync() isteği maksimum sıra boyutunu aştı ve Roblox mevcut yol boyutunda istekleri işleyemez. | ||
ListVersionsAsyncThrottle | ListVersionsAsync isteği bırakıldı. İstek gecikmiş. | ListVersionsAsync() istek maksimum sıra boyutunu aştı ve Roblox mevcut yol boyutunda istekleri işleyemez. | ||
RemoveVersionAsyncThrottle | RemoveVersionAsync isteği bırakıldı. İstek gecikmiş. | RemoveVersionAsync() istek maksimum sıra boyutunu aştı ve Roblox mevcut kapasitede istekleri işleyemez. |
Sunucu Hata Kodları
Hata Adı | Hata Mesajı | Notlar |
---|---|---|
DatastoreThrottled | İstek oranı datastore için izin edilen maksimum değerleri aşıyor. | Tek bir Veri Deposuna çok fazla istek gönderildi. |
InternalServerError | Dahili bir sunucu hata oluştu. | Roblox sunucularında arada sıra hata oluşur. Tekrar deneyin, ideal olarak esponsel bir backoff ile. |
InvalidPlace | Sunulan yer geçersiz. | Yer için eşdeğer bir Evren ID'si yok. Tekrar deneyin. |
InvalidTarget | Sağlanan hedef geçersizdir. | Sıralama Deposu anahtarı ismi 50 karakter sınırını aşıyor. |
InvalidUniverse | Sunulan evren geçersiz. | Evren için eşleşen bir Yer ID'si yok. Tekrar deneyin. |
InvalidUserIds | Sunulan kullanıcı kimliklerinin geçersiz bir biçimi vardır. | Kullanıcı kimlikleri parçalanamadı. |
KeyThrottled | İstek oranı, anahtar için izin edilen maksimum değerin üstündedir. | İstek oranı, bir tek anahtar için izin verilen maksimum istek oranını aşar. |
KeyNotFound | İstek edilen anahtar mevcut değil. | Anahtar mevcut değil. |
N/A | İlerlemeyecek sayfalar yok. | Bu hata, son sayfada Pages:AdvanceToNextPageAsync() ı aradığınızda oluşur. |
Sınırlar
Veri modellerinin sınırları vardır. Eğer bir deneyim bu sınırları aşarssa, hizmet otomatik olarak deneyimin veri depolama kullanımını sınırlandırır ve gelecekteki isteklerin birini şu sıralarda sıraya yerleştirir:
- Yükleme
- Sıralanmış ayarla
- Elde etmek
- Sıralanmış get
Sıraya alınan istekler ele alınır. Çağrılan işlev, isteğin hala sıraya alındığı sıraya devam eder. Eğer veri depolama anahtarının kendisi sınırlandırılırsa, istek sıraya yerleştirilir, ancak geçici olarak atlanır.
Her sıra 30 istek sınırı vardır. Bir sıra'nın sınırına ulaşıldığında, istekler 301-306 aralığındaki bir hata kodu ile başarısız olur ve isteklerin tümü bırakılır.
Sunucu Sınırları
Her sunucu, istek türü ve kullanıcı sayısına bağlı olarak belirli bir veri depolama isteği göndermeye izin verilir. GetRequestBudgetForRequestType() kullanıcıların mevcut yerin yapabileceği veri depolama isteklerinin sayısını doğrulamak için kullanın.
İstek Türü | Fonksiyonlar | Dakika Başına İstekler |
---|---|---|
Alın | GetAsync() | 60 + numOyuncu × 10 |
Ayarla (sınır, listelenen tüm işlevler arasında paylaşılır) | Class.GlobalDataStore:SetAsync()|SetAsync()``Class.GlobalDataStore:IncrementAsync()|IncrementAsync()``Class.GlobalDataStore:UpdateAsync()|UpdateAsync() 0> Class.GlobalDataStore:RemoveAsync()|RemoveAsync()0> | 60 + numOyuncu × 10 |
Sıralanmış Olmayı Al | GetSortedAsync() | 5 + numOyuncu × 2 |
Versiyon Alın | GetVersionAsync() | 5 + numOyuncu × 2 |
Listeyi Listeleyin | Class.DataStoreService:ListDataStoresAsync()|ListDataStoresAsync()``Class.DataStore:ListKeysAsync()|ListKeysAsync()``Class.DataStore:ListVersionsAsync()|ListVersionAsync() | 5 + numOyuncu × 2 |
Kaldır | RemoveVersionAsync() | 5 + numOyuncu × 2 |
Veri Sınırları
Veri depoları, giriş başına kullanılan verinin miktarını sınırlar.
Veri depolama ismi, anahtar ismi ve scope tümü belirli bir karakter uzunluğundan daha kısa olmalıdır. Onların uzunluğunu kontrol etmek için string.len() kullanın.
Ayrıca, ilk tipi olarak herhangi bir şey olmasına rağmen, veriler (anahtar değeri) da bir dizim olarak depolanır. Class.HttpService:JSONEncode()|JSONEncode() fonksiyonu, Lua verilerini seri bir JSON tablosuna dönüştürür, böylece büyüklüğünü kontrol edebilirsiniz.
Bileşen | Maksimum Karakter Sayısı |
---|---|
Veri Deposu Adı | 50 |
Anahtar Adı | 50 |
Mira | 50 |
Veri (Anahtar Değeri) | 4,194,304'e anahtar |
Metadatalar Sınırları
Kullanıcı tanımlı metadatenin karakter sayısına sınırlar.
Bileşen | Maksimum Karakter Sayısı |
---|---|
Anahtar Adı | 50 |
Değer | 250 |
Anahtar Değerli Çiftler | 300 |
Çıkış Sınırları
Giriş başına çıkış sınırları, Roblox sunucularındaki performansın optimimum seviyede olduğundan emin olur. Her sınır, bir deneyimdeki tüm anahtarlar için geçerlidir ve zamanla yenilenir.
Roblox, son 60 saniye içinde anahtar ile ilişkili kullanımı inceleyinir. Eğer kullanım, mevcut talepde içerirse, çıkış sınırının içinde istek onaylanır. Kullanım, sınırı aşarsa, istek reddedilir.
İstek Türü | Sınır |
---|---|
Oku | Dakika başına 25 MB |
Yazıyı | Dakikada 4 MB |