Veri depolarına yaptığınız istekler, kötü bağlantı veya diğer sorunlar nedeniyle başarısız olabilir.Hata koduyla hata ve geri bildirimleri işlemek için, veri depolama işlevlerini pcall() içine sarın.
Hata kodu referansı
Hata kodu | Hata adı | Hata mesajı | Notlar | |
---|---|---|---|---|
101 | KeyNameEmpty | Anahtar adı boş olamaz. | Veri depolama işlevine anahtar girişinin boş bir dize olup olmadığını kontrol edin. | |
102 | KeyNameLimit | Anahtar adı 50 karakter sınırını aşıyor. | Veri depolama işlevine verilen anahtar girişinin 50 uzunluğunu aştığını kontrol edin. | |
103 | ValueNotAllowed | X 'yi DataStore 'de izin veremezsiniz. | Kötü bir güncelleme işlevi, X türünde bir değer döndürdü. | |
104 | CantStoreValue | X'yi DataStore '. | Güncelleme işlevi serialize etmeyen X tipinde bir değer döndürdü. | |
105 | ValueTooLarge | Seri değer X sınırını aşıyor. | Bir değer belirliyorsanız SetAsync() veya UpdateAsync() ile, değerin serilmiş uzunluğu boyut X 'ı aşamaz.Verilerin seri uzunluğunu kontrol etmek için, JSONEncode() kullanın. | |
106 | MaxValueInvalid | MaxValue bir tamsayı olmalıdır. | Bir OrderedDataStore için maksimum değeri GetSortedAsync() geçiyorsanız, bir tamsayı olmalıdır. | |
106 | MinValueInvalid | MinValue bir tamsayı olmalıdır. | Bir OrderedDataStore için minimum değeri GetSortedAsync() geçiyorsanız, bir tamsayı olmalıdır. | |
106 | PageSizeGreater | PageSize önceden tanımlanmış bir menzil içinde olmalıdır. | Bir OrderedDataStore için minimum sayfa boyutu 1'dir. | |
106 | PageSizeLesser | PageSize önceden tanımlanmış bir menzil içinde olmalıdır. | Bir OrderedDataStore için maksimum sayfa boyutu 100'dir. | |
107 | MinMaxOrderInvalid | MaxValue daha büyük veya eşit olmalıdır MinValue . | Maksimum değer GetSortedAsync(). | |
301 | GetAsyncThrottle | GetAsync istek düşürüldü. İstek sınırlandırıldı, ancak sıra doldu. | GetAsync() istek, maksimum sıra boyutunu aştı ve Roblox, mevcut iş yükünde istekleri işleyemiyor. | |
302 | SetAsyncThrottle | SetAsync istek düşürüldü. İstek sınırlandırıldı, ancak sıra doldu. | SetAsync() istek, maksimum sıra boyutunu aştı ve Roblox, mevcut iş yükünde istekleri işleyemiyor. | |
303 | IncreAsyncThrottle | IncrementAsync istek düşürüldü. İstek sınırlandırıldı, ancak sıra doldu. | IncrementAsync() istek, maksimum sıra boyutunu aştı ve Roblox, mevcut iş yükünde istekleri işleyemiyor. | |
304 | UpdateAsyncThrottle | UpdateAsync istek düşürüldü. İstek sınırlandırıldı, ancak sıra doldu. | UpdateAsync() istek, maksimum sıra boyutunu aştı ve Roblox, mevcut iş yükünde istekleri işleyemiyor. | |
304 | TransformThrottle | UpdateAsync istek düşürüldü. İstek sınırlandırıldı, ancak sıra doldu. | UpdateAsync() istek, maksimum sıra boyutunu aştı ve Roblox, mevcut iş yükünde istekleri işleyemiyor. | |
305 | GetSortedThrottle | GetSorted istek düşürüldü. İstek sınırlandırıldı, ancak sıra doldu. | GetSortedAsync() istek, maksimum sıra boyutunu aştı ve Roblox, mevcut iş yükünde istekleri işleyemiyor. | |
306 | RemoveAsyncThrottle | RemoveAsync istek düşürüldü. İstek sınırlandırıldı, ancak sıra doldu. | RemoveAsync() istek, maksimum sıra boyutunu aştı ve Roblox, mevcut iş yükünde istekleri işleyemiyor. | |
401 | DataModelNoAccess | İstek başarısız oldu. DataModel deneyim kapatılırken erişilemez. | DataModel deneyim kapatıldığı için başlatılmamıştır, çünkü deneyim kapatılıyor. | |
402 | LuaWebSrvsNoAccess | İstek başarısız oldu. LuaWebService deneyim kapatılırken erişilemez. | LuaWebService deneyim kapatıldığı için başlatılmamıştır, çünkü deneyim kapatılıyor. | |
403 | StudioAccessToApisNotAllowed | Stüdyo'dan DataStore yazamazsınız çünkü API erişimi etkinleştirilmedi. | Studio'da Veri Depolarını kullanmak için API erişimi aktif olmalıdır. | |
404 | InternalError | OrderedDataStore mevcut değil. | Bu istekle ilişkili OrderedDataStore bu istekle ilişkili bulunamadı. Bu, veri bozulmasının bir işareti olabilir. Daha sonra tekrar deneyin. | |
501 | InternalError | Veriler bozulmuş olabilir, bu yüzden yanıtı parçalayamazsınız. | Sunucu, talepyanıt veremedi. Bu, veri bozulmasının bir işareti olabilir. Daha sonra tekrar deneyin. | |
502 | RequestRejected | API Hizmetleri isteği hata ile reddetti X. | Hata X Roblox sunucularında işlenirken meydana geldi. Daha sonra tekrar deneyin. | |
503 | InternalError | Veri depolama isteği başarılı oldu, ancak anahtar bulunamadı. | Talep edilen anahtar, Veri Deposunda bulunmadı. Bu, veri bozulmasının bir işareti olabilir. Daha sonra tekrar deneyin. | |
504 | InternalError | Veri Deposu isteği başarılı oldu, ancak yanıt doğru biçimde formatlanmadı. | Sunucu, talepyanıt veremedi. Bu, veri bozulmasının bir işareti olabilir. Daha sonra tekrar deneyin. | |
505 | InternalError | OrderedDataStore istek başarılıydı, ancak yanıt doğru biçimde formatlanmadı. | Sunucu, OrderedDataStore talepyanıtı parçalayamadı. Bu, veri bozulmasının bir işareti olabilir. Daha sonra tekrar deneyin. | |
509 | OperationNotAllowed | Kişisel bir RCC üzerinde çalışırken Veri Deposu işlemleri mümkün olan veri bozulmasını önlemek için engellenir. | Veri Deposu yazışmaları özel RCC kanallarında engellenir. | |
511 | AttributeSizeTooLarge | Metadat öznitelik boyutu X sınırını aşıyor. | Serilmiş metadat boyutu X sınırını aşıyor. Değer X dinamiktir. Boyut değişirse değer de değişir. | |
512 | UserIdLimitExceeded | UserID boyutu X sınırını aşıyor. | Kullanıcı tarafından sağlanan kullanıcı kimlikleri dizesinin uzunluğu X sınırını aşıyor. | |
513 | AttributeFormatError | Nitelik userId biçimi geçersizdir. | Verilen kullanıcı kimliği bir sayı değildir. | |
513 | AttributeFormatError | Öznitelik veri biçimi geçersizdir. | Metadatlar bir tablo değildir. | |
GetVersionAsyncThrottle | GetVersionAsync istek düşürüldü.İstek kısıtlandı.: | GetVersionAsync() istek maksimum sıra boyutunu aştı ve Roblox mevcut iş yükünde istekleri işleyemiyor. | ||
GetVersionAtTimeAsyncThrottle | GetVersionAtTimeAsync istek düşürüldü.İstek kısıtlandı.: | GetVersionAtTimeAsync() istek maksimum sıra boyutunu aştı ve Roblox mevcut iş yükünde istekleri işleyemiyor. | ||
ListDataStoresAsyncThrottle | ListDataStoresAsync istek düşürüldü.İstek kısıtlandı.: | ListDataStoresAsync() istek maksimum sıra boyutunu aştı ve Roblox mevcut iş yükünde istekleri işleyemiyor. | ||
ListKeysAsyncThrottle | ListKeysAsync istek düşürüldü.İstek kısıtlandı.: | ListKeysAsync() istek maksimum sıra boyutunu aştı ve Roblox mevcut iş yükünde istekleri işleyemiyor. | ||
ListVersionsAsyncThrottle | ListVersionsAsync istek düşürüldü.İstek kısıtlandı.: | ListVersionsAsync() istek maksimum sıra boyutunu aştı ve Roblox mevcut iş yükünde istekleri işleyemiyor. | ||
RemoveVersionAsyncThrottle | RemoveVersionAsync istek düşürüldü.İstek kısıtlandı.: | RemoveVersionAsync() istek maksimum sıra boyutunu aştı ve Roblox mevcut iş yükünde istekleri işleyemiyor. | ||
InvalidTimestamp | Zaman damgası pozitif olmalı ve gelecekte on dakikadan fazla olmamalı.: | GetVersionAtTimeAsync() |
Sunucu hata kodları
Hata adı | Hata mesajı | Notlar |
---|---|---|
DatastoreThrottled | İstek oranı, datastore için izin verilen maksimumu aşıyor. | Tek bir Veri Deposuna çok fazla istek gönderildi. |
InternalServerError | Dahili bir sunucu hatası oluştu. | Roblox sunucularında zaman zaman hata. Yeniden deneyin, ideal olarak üstel geri çekilme ile. |
InvalidPlace | Verilen yer geçersizdir. | Yer için eşleşen Evren ID'si yok. Daha sonra tekrar deneyin. |
InvalidTarget | Verilen hedef geçersizdir. | Sıralanmış Veri Deposu anahtar adı 50 karakter sınırını aşıyor. |
InvalidUniverse | Verilen evren geçersizdir. | Evren için eşleşen bir Yer Kimliği yok. Daha sonra tekrar deneyin. |
InvalidUserIds | Verilen kullanıcı kimliklerinin geçersiz bir biçimi vardır. | Kullanıcı kimliklerini parçalamada başarısız oldu. |
KeyThrottled | İstek oranı anahtar için izin verilen maksimumu aşıyor. | Talep oranı, tek bir anahtar için maksimum izin verilen talep oranını aşıyor. |
KeyNotFound | Talep edilen anahtar mevcut değil. | Anahtar mevcut değil. |
N/A | İlerlemek için sayfa yok. | Bu hata son sayfada Pages:AdvanceToNextPageAsync() çağırdığınızda oluşur. |
Sınırlar
Veri modellerinin sınırları vardır .Bir deney bu sınırları aşarsa, hizmet deneyin veri depolama kullanımını otomatik olarak azaltır ve gelecekteki isteklerin bir sonraki sıraya yerleştirilmesine neden olur:
- Ayarlandı
- Sıralanmış ayarla
- Almak
- Sıralı alma
Sırada yapılan istekler alındıkları sırayla ele alınır.Çağrılan işlev, isteği hala sırada olduğu sürece devam eder.Veri depolama anahtarı kendisi sınırlandırılırsa, istek bir sıraya yerleştirilir ancak geçici olarak atlanır.
Her sıra 30 istek sınırına sahiptir.Bir sınırın sınırına ulaşıldığında, istekler 301-306 aralığında bir hata koduyla başarısız olur ve böylece isteklerin tümüyle reddedildiği belirtilir.
Sunucu sınırları
Her sunucu, istek türü ve kullanıcı sayısına dayalı olarak belirli bir sayıda veri depolama isteğine izin verilir.Mevcut yerin yapabileceği veri depolama istekleri sayısını onaylamak için GetRequestBudgetForRequestType() kullanın.
İstek yaz | Fonksiyonlar | Dakika başına istekler |
---|---|---|
Almak | GetAsync() | 60 + numPlayers × 10'luk |
Set (sınır tüm listelenen işlevler arasında paylaşılır) | Class.GlobalDataStore:SetAsync()|SetAsync()``Class.GlobalDataStore:IncrementAsync()|IncrementAsync()``Class.GlobalDataStore:UpdateAsync()|UpdateAsync()``Class.GlobalDataStore:RemoveAsync()|RemoveAsync() | 60 + numPlayers × 10'luk |
Sıralama Alın | GetSortedAsync() | 5 + numPlayers × 2'ye kadar |
Sürüm alın | Class.DataStore:GetVersionAsync()|GetVersionAsync()``Class.DataStore:GetVersionAtTimeAsync()|GetVersionAtTimeAsync() | 5 + numPlayers × 2'ye kadar |
Liste | Class.DataStoreService:ListDataStoresAsync()|ListDataStoresAsync()``Class.DataStore:ListKeysAsync()|ListKeysAsync()``Class.DataStore:ListVersionsAsync()|ListVersionAsync() | 5 + numPlayers × 2'ye kadar |
Kaldır | RemoveVersionAsync() | 5 + numPlayers × 2'ye kadar |
Veri sınırı
Veri depoları, giriş başına ne kadar veri kullanılabileceğini sınırlar.
Veri depolama adı, anahtar adı ve alanı belli bir karakter uzunluğunun altında olmalıdır. Uzunluklarını kontrol etmek için string.len() kullanın.
Veriler (anahtar değeri) de başlangıç yazbağımsız olarak bir diziolarak depolanır.Luau verilerini seri hale getiren JSONEncode() işleviyle verilerin boyutunu kontrol edebilirsiniz, ki bu da Luau verilerini seri hale getiren JSON tablosuna dönüştürür.
Bileşen | Maksimum karakter sayısı |
---|---|
Veri depolama adı | 50 |
Anahtar adı | 50 |
Alanı | 50 |
Veri (anahtar değeri) | anahtar anahtar4,194,304 |
Metadat sınırları
Kullanıcı tanımlı metinlerdeki karakter sayısına sınırlar.
Bileşen | Maksimum karakter sayısı |
---|---|
Anahtar adı | 50 |
Değer | 250 |
Anahtar değer çiftleri | 300 |
Veri akışı sınırları
Her anahtar geçiş sınırı, Roblox sunucularında performansın en üst düzeyde olmasını sağlar.Her sınır, deneyimdeki tüm sunucularda tek tek anahtara uygulanır ve zamanla yenilenir.
Roblox, son 60 saniye boyunca anahtarla ilişkili kota kullanımını inceler.Mevcut talepdahil kullanım, kapasite sınırının içindeyse, istek onaylanır.Kullanım sınırı aşılırsa, istek reddedilir.
İstek yaz | Sınırla |
---|---|
Oku | Dakika başına 25 MB |
Yaz | Dakika başına 4 MB |
Depolama sınırları
Şu anda, veri depolarına zorunlu depolama sınırları yoktur.