DataStore
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
Voir magasins de données.
Résumé
Méthodes
Récupère la version clé spécifiée.
Récupère la version clé qui était actuelle à un moment donné.
- ListKeysAsync(prefix : string,pageSize : number,cursor : string,excludeDeleted : boolean):DataStoreKeyPages
Renvoie un objet DataStoreKeyPages pour effectuer une liste à travers les clés d'un boutiquede données.
- ListVersionsAsync(key : string,sortDirection : Enum.SortDirection,minDate : number,maxDate : number,pageSize : number):DataStoreVersionPages
Enumerate toutes les versions d'une clé.
Supprime définitivement la version spécifiée d'une clé.
Renvoie la valeur d'une clé dans un magasin de données spécifié et une instance DataStoreKeyInfo.
- IncrementAsync(key : string,delta : number,userIds : Array,options : DataStoreIncrementOptions):Variant
Augmente la valeur d'une clé de la quantité fournie (les deux doivent être des entiers).
Supprime la clé spécifiée tout en conservant une version accessible.
Définit la valeur du magasin de données pour la clé donnée.
Mise à jour de la valeur d'une clé avec une nouvelle valeur de la fonction d'appel spécifiée.
Propriétés
Méthodes
GetVersionAsync
Cette fonction récupère la version de clé spécifiée ainsi qu'une instance DataStoreKeyInfo .Un identifiant de version peut être trouvé via DataStore:ListVersionsAsync() ou être l'identifiant retourné par GlobalDataStore:SetAsync() .
Paramètres
Nom de clé pour lequel l'information sur la version est demandée.Si DataStoreOptions.AllScopes a été défini sur true lors de l'accès au magasin de données via DataStoreService:GetDataStore(), ce nom de clé doit être préfixé avec la portée originale comme dans "scope/key".
Numéro de version de la clé pour laquelle l'information sur la version est demandée.
Retours
La valeur de la clé à la version spécifiée et une instance DataStoreKeyInfo qui inclut le numéro de version, la date et l'heure à laquelle la version a été créée, et les fonctions pour récupérer UserIds et les métadonnées.
GetVersionAtTimeAsync
Cette fonction récupère la version clé qui était à un moment donné ainsi qu'une instance DataStoreKeyInfo .
Paramètres
Nom de clé pour lequel l'information sur la version est demandée.Si DataStoreOptions.AllScopes a été défini sur true lors de l'accès au magasin de données via DataStoreService:GetDataStore(), ce nom de clé doit être préfixé avec la portée originale comme dans "scope/key".
timestamp Unix en millisecondes pour lequel la version demandée était actuelle.Doit être supérieur à zéro.Ne doit pas dépasser dix minutes à l'avenir.
Retours
La valeur de la clé qui était actuelle au moment spécifié et une instance DataStoreKeyInfo qui inclut le numéro de version, la date et l'heure à laquelle la version a été créée, et les fonctions pour récupérer UserIds et les métadonnées. si aucune version disponible n'était actuelle au moment de la demande.
Échantillons de code
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
Cette fonction renvoie un objet DataStoreKeyPages pour effectuer une liste à travers les clés d'un boutiquede données.Il accepte un paramètre facultatif prefix optionnel pour localiser uniquement les clés dont les noms commencent par le préfixe fourni.
Si DataStoreOptions.AllScopes a été défini sur true lors de l'accès au magasin de données via DataStoreService:GetDataStore(), les clés seront retournées avec tous les préfixes comme préfixes.
Paramètres
(Facultatif) Préfixe à utiliser pour localiser les clés.
(Facultatif) Nombre d'éléments à retourner dans chaque page.Si aucune valeur n'est donnée, le moteur envoie une valeur par défaut de 0 au service Web de stockage de données, qui à son tour défaut à 50 éléments par page.
(Facultatif) Cursor pour poursuivre l'itération.
(Facultatif) Exclure les clés supprimées de la restitution.
Lorsqu'il est activé, ListKeys vérifiera jusqu'à 512 clés.Si toutes les clés sélectionnées sont supprimées, il retournera une liste vide avec un curseur pour poursuivre l'itération.
Retours
Une instance DataStoreKeyPages qui liste les clés comme DataStoreKey instances.
ListVersionsAsync
Cette fonction liste les versions de la clé spécifiée dans l'ordre ascendant ou descendant spécifié par un paramètre Enum.SortDirection.Il peut filtrer optionnellement les versions retournées par la date et l'heure minimum et maximum.
Paramètres
Nom de clé pour les versions à afficher.Si DataStoreOptions.AllScopes a été défini sur true lors de l'accès au magasin de données via DataStoreService:GetDataStore(), ce nom de clé doit être préfixé avec la portée originale comme dans "scope/key".
(Facultatif) Enum précisant l'ordre de tri ascendant ou descendant.
(Facultatif) Timbre d'heure Unix en millisecondes après lequel les versions devraient être listées.
(Facultatif) Timbre d'heure Unix en millisecondes jusqu'à laquelle les versions devraient être listées.
(Facultatif) Nombre d'éléments à retourner dans chaque page.Si aucune valeur n'est donnée, le moteur envoie une valeur par défaut de 0 au service Web de stockage de données, qui à son tour défaut à 1024 éléments par page.
Retours
Une instance DataStoreVersionPages qui liste toutes les versions de la clé en tant que DataStoreObjectVersionInfo instances.
Échantillons de code
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
Cette fonction supprime définitivement la version spécifiée d'une clé. Les identifiants de version peuvent être trouvés via DataStore:ListVersionsAsync() .
Contrairement à GlobalDataStore:RemoveAsync(), cette fonction ne crée pas une nouvelle version de « tombstone » et la valeur supprimée ne peut pas être récupérée plus tard.
Paramètres
Nom de clé pour lequel une version doit être supprimée.Si DataStoreOptions.AllScopes a été défini sur true lors de l'accès au magasin de données via DataStoreService:GetDataStore(), ce nom de clé doit être préfixé avec la portée originale comme dans "scope/key".
Numéro de version de la clé à retirer.