*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

DataStoreEntry

Une entrée clé-valeur dans un magasin de données.

  • CHEMINS POUR RESSOURCES
  • /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries
  • /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/scopes/{scope_id}/entries

Attributs

pathstring

Le chemin de ressource de l'entrée du magasin de données.

Formats :

  • universes/{universe_id}/data-stores/{data_store_id}/entries/{data_store_entry_id}
  • universes/{universe_id}/data-stores/{data_store_id}/scopes/{data_store_scope_id}/entries/{data_store_entry_id}.
createTimestring
Sortie seule

La date et l'heure de création de l'entrée du magasin de données. Ce string est formatée en tant que Timestamp.

revisionIdstring
Immuable
Sortie seule

L'ID de révision de l'entrée du magasin de données.

Une nouvelle révision est commise chaque fois que l'entrée du magasin de données est modifiée de quelque manière que ce soit.

Le format est une chaîne arbitraire. Exemple : "foo".

revisionCreateTimestring
Sortie seule

La date et l'heure de création de la révision. Ce string est formatée en tant que Timestamp.

stateEnum<string>
Sortie seule

L'état de l'entrée du magasin de données.

Valeurs possibles :

| Valeur | Description | | --- | --- | | ÉtAT_NON_SPECIFIÉ | La valeur par défaut.Cette valeur est utilisée si l'état est omis.| | ACTIF | L'état par défaut d'une entrée de magasin de données nouvellement créée.| | SUPPRIMÉ | L'entrée du magasin de données est marquée comme supprimée. À un moment donné dans le futur, il sera définitivement supprimé. |. Valeurs possibles :

etagstring

Ce somme de contrôle est calculé par le serveur en fonction de la valeur d'autres champs et peut être envoyé sur des demandes de mise à jour et de suppression (et potentiellement sur certaines méthodes personnalisées) pour garantir que le client a une valeur à jour avant de procéder.

valueJSON value

La valeur de l'entrée.

Une valeur JSON peut être null, boolean, string, number, array, ou object.

idstring
Sortie seule

L'ID de ressource de l'entrée.

Cela correspond au dernier segment du chemin de ressource et est fourni uniquement pour la commodité.

usersarray<string>

Utilisateurs associés à l'entrée.

attributesobject

Un ensemble arbitraire d'attributs associés à l'entrée.

URL de base

https://apis.roblox.com
La ressource DataStoreEntry

{
"path": "universes/123/data-stores/some-data-store/entries/some-data-store-entry",
"createTime": "2023-07-05T12:34:56Z",
"revisionId": "string",
"revisionCreateTime": "2023-07-05T12:34:56Z",
"state": "STATE_UNSPECIFIED",
"etag": "string",
"value": "JSON value",
"id": "string",
"users": [
"string"
],
"attributes": "object"
}

DataStoreEntry

Liste des entrées du magasin de données
Bêta

GET /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries

Renvoie une liste d'entrées d'un magasin de données.

Seuls les champs path et id sont remplis ; utilisez GetDataStoreEntry pour récupérer d'autres champs.

Spécifiez la portée joker ( - ) pour lister les entrées de tous les scopes.

Périmètres d'application
universe-datastores.objects:list
RequêteParamètres du chemin
universe_idstring
Requis

L'ID de l'univers.

data_store_idstring
Requis

L'ID du magasin de données.

Paramètres de requête
maxPageSizenumber

Le nombre maximum d'entrées de stockage de données à retourner.Le service peut retourner moins que cette valeur.Si non spécifié, au maximum 10 entrées de magasin de données sont retournées.La valeur maximale est de 256 et les valeurs plus élevées sont réglées sur 256.

pageTokenstring

Un jeton de page, reçu d'un appel précédent, pour récupérer une page suivante.

Lors de la pagination, tous les autres paramètres fournis à l'appel suivant doivent correspondre à l'appel qui a fourni le jeton de page.

filterstring

Ce champ peut être défini afin de filtrer les ressources renvoyées.

Le champ filter supporte un sous-ensemble très petit de CEL :

  • Seul le champ id est pris en charge.
  • Seule la fonction startsWith est disponible ; aucun autre opérateur ni implémentation n'est pris en charge.

Exemple de filtre : id.startsWith("foo").

showDeletedboolean

Si c'est vrai, les ressources marquées pour suppression en attente seront incluses dans les résultats.

Réponse

Une liste de DataStoreEntries dans la collection parent.

dataStoreEntriesarray<DataStoreEntry>

Les entrées de données du magasin de données ou du scope de données spécifié.

nextPageTokenstring

Un jeton que vous pouvez envoyer en tant que pageToken paramètre pour récupérer la page suivante. Si ce champ est omis, il n'y a pas de pages suivantes.

GET /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries

curl -L -X GET 'https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries?maxPageSize=10&pageToken={string}&filter={string}&showDeleted={boolean}' \
-H 'x-api-key: {your-api-key}'
Réponse

{
"dataStoreEntries": [
{
"path": "universes/123/data-stores/some-data-store/entries/some-data-store-entry",
"createTime": "2023-07-05T12:34:56Z",
"revisionId": "string",
"revisionCreateTime": "2023-07-05T12:34:56Z",
"state": "STATE_UNSPECIFIED",
"etag": "string",
"value": "JSON value",
"id": "string",
"users": [
"string"
],
"attributes": "object"
}
],
"nextPageToken": "string"
}

DataStoreEntry

Créer une entrée de magasin de données
Bêta

POST /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries

Crée une entrée avec l'ID et la valeur fournis.

Renvoie une mauvaise demande 400 si l'entrée existe.

Périmètres d'application
universe-datastores.objects:create
RequêteParamètres du chemin
universe_idstring
Requis

L'ID de l'univers.

data_store_idstring
Requis

L'ID du magasin de données.

Paramètres de requête
idstring

L'ID à utiliser pour l'entrée du magasin de données, qui deviendra le composant final du chemin de ressource de l'entrée du magasin de données.

Cette valeur doit être une chaîne de caractères de 1 à 50 caractères. Nous vous recommandons vivement d'utiliser uniquement des lettres minuscules, des chiffres numériques et des hyphens.

Corps de la requêteDataStoreEntry
POST /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries

curl -L -X POST 'https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries?id=my-entry' \
-H 'x-api-key: {your-api-key}' \
-H 'Content-Type: application/json' \
--data '{
"etag": "string",
"value": "JSON value",
"users": [
"string"
],
"attributes": "object"
}'
Réponse

{
"path": "universes/123/data-stores/some-data-store/entries/some-data-store-entry",
"createTime": "2023-07-05T12:34:56Z",
"revisionId": "string",
"revisionCreateTime": "2023-07-05T12:34:56Z",
"state": "STATE_UNSPECIFIED",
"etag": "string",
"value": "JSON value",
"id": "string",
"users": [
"string"
],
"attributes": "object"
}

DataStoreEntry

Obtenir l'entrée du magasin de données
Bêta

GET /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}

Obtient l'entrée spécifiée.

Pour obtenir l'entrée à une révision spécifique, ajoutez @<revisionId> à la fin du chemin.

Par exemple, pour obtenir my-entry à l'ID de révision 08DC3D3F43F9FCC1.0000000001.08DC3D3F43F9FCC1.01, utilisez le chemin /v2/universes/1234/data-stores/5678/entries/my-entry@08DC3D3F43F9FCC1.0000000001.08DC3D3F43F9FCC1.01.

Si votre ID d'entrée contient un ou plusieurs caractères @ et que vous souhaitez obtenir la dernière version plutôt qu'à n'importe quelle révision spécifique, ajoutez l'ID de révision spéciale @latest à la fin du chemin.Sinon, le segment de l'ID d'entrée après le dernier @ sera interprété comme un ID de révision.

Par exemple, pour obtenir la dernière révision de my-entry, utilisez le chemin /v2/universes/1234/data-stores/5678/entries/my@entry@latest .

Pour obtenir l'entrée qui était actuelle à un moment donné, ajoutez @latest:<timestamp> à la fin du chemin, où <timestamp> est formaté selon la RFC-3339.La date et l'heure données doivent être après l'époque Unix (1/1/1970) et pas plus de dix minutes dans le futur.

Par exemple, pour obtenir la révision de my-entry qui était actuelle le 12/2/2024 à 06:00 UTC, utilisez le chemin /v2/universes/1234/data-stores/5678/entries/my-entry@latest:2024-12-02T06:00:00Z .

Périmètres d'application
universe-datastores.objects:read
RequêteParamètres du chemin
universe_idstring
Requis

L'ID de l'univers.

data_store_idstring
Requis

L'ID du magasin de données.

entry_idstring
Requis

L'ID d'entrée.

GET /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}

curl -L -X GET 'https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}' \
-H 'x-api-key: {your-api-key}'
Réponse

{
"path": "universes/123/data-stores/some-data-store/entries/some-data-store-entry",
"createTime": "2023-07-05T12:34:56Z",
"revisionId": "string",
"revisionCreateTime": "2023-07-05T12:34:56Z",
"state": "STATE_UNSPECIFIED",
"etag": "string",
"value": "JSON value",
"id": "string",
"users": [
"string"
],
"attributes": "object"
}

DataStoreEntry

Supprimer l'entrée du magasin de données
Bêta

DELETE /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}

Marque l'entrée spécifiée pour suppression.

Les entrées ne sont pas supprimées immédiatement ; à la place, le champ state sera défini sur DELETED. La suppression permanente se produit après 30 jours.

En cas de succès, renvoie 200 OK. Si l'entrée n'existe pas, renvoie 404 Not Found.

Périmètres d'application
universe-datastores.objects:delete
RequêteParamètres du chemin
universe_idstring
Requis

L'ID de l'univers.

data_store_idstring
Requis

L'ID du magasin de données.

entry_idstring
Requis

L'ID d'entrée.

DELETE /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}

curl -L -X DELETE 'https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}' \
-H 'x-api-key: {your-api-key}'

DataStoreEntry

Mise à jour de l'entrée du magasin de données
Bêta

PATCH /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}

Mise à jour de la valeur, des attributs et des utilisateurs d'une entrée.

La mise à jour de révisions spécifiques de l'entrée est non prise en charge .Si vous spécifiez un ID de révision dans le chemin et que allow_missing est true, la demande de mise à jour créera plutôt une nouvelle entrée avec le suffixe @<revisionId> comme partie de la clé.

La mise à jour partielle n'est pas compatible .Si les attributs ou les utilisateurs ne sont pas fournis lors de la mise à jour de la valeur, ils seront effacés.La valeur doit toujours être fournie lors de la mise à jour d'une entrée.

Périmètres d'application
universe-datastores.objects:update
RequêteParamètres du chemin
universe_idstring
Requis

L'ID de l'univers.

data_store_idstring
Requis

L'ID du magasin de données.

entry_idstring
Requis

L'ID d'entrée.

Paramètres de requête
allowMissingboolean

Si la valeur est définie sur vrai et que l'entrée du magasin de données n'est pas trouvée, une entrée de magasin de données est créée.

Corps de la requêteDataStoreEntry
PATCH /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}

curl -L -X PATCH 'https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}?allowMissing={boolean}' \
-H 'x-api-key: {your-api-key}' \
-H 'Content-Type: application/json' \
--data '{
"etag": "string",
"value": "JSON value",
"users": [
"string"
],
"attributes": "object"
}'
Réponse

{
"path": "universes/123/data-stores/some-data-store/entries/some-data-store-entry",
"createTime": "2023-07-05T12:34:56Z",
"revisionId": "string",
"revisionCreateTime": "2023-07-05T12:34:56Z",
"state": "STATE_UNSPECIFIED",
"etag": "string",
"value": "JSON value",
"id": "string",
"users": [
"string"
],
"attributes": "object"
}

DataStoreEntry

Entrée de la base de données d'augmentation
Bêta

POST /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}:increment

Augmente la valeur de l'entrée spécifiée. La valeur existante et la quantité d'augmentation doivent être des entiers.

Si l'entrée n'existe pas, crée une entrée avec la valeur spécifiée.

L'augmentation des révisions spécifiques de l'entrée est non supportée .Si vous spécifiez un ID de révision dans le chemin, la demande d'augmentation créera une nouvelle entrée avec le suffixe @<revisionId> comme partie de la clé.

Problème connu : la valeur peut être augmentée au-delà de la plage valide de valeurs.Lorsque cela se produit, la valeur retournée sera clampée à la plage valide, mais le backend peut persister la valeur originale.Ce comportement est maintenu pour des raisons de compatibilité avec les versions précédentes de cette API, mais peut changer dans une version future de cette API.

Périmètres d'application
universe-datastores.objects:createuniverse-datastores.objects:update
RequêteParamètres du chemin
universe_idstring
Requis

L'ID de l'univers.

data_store_idstring
Requis

L'ID du magasin de données.

entry_idstring
Requis

L'ID d'entrée.

Corps de la requête
amountnumber

Le montant par lequel augmenter la valeur d'entrée. La valeur existante et la quantité d'augmentation doivent être des entiers.

usersarray<string>

Utilisateurs associés à l'entrée.

Si cela n'est pas fourni, les identifiants d'utilisateur existants sont effacés.

attributesobject

Un ensemble arbitraire d'attributs associés à l'entrée.

Si cela n'est pas fourni, les attributs existants sont effacés.

POST /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}:increment

curl -L -X POST 'https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}:increment' \
-H 'x-api-key: {your-api-key}' \
-H 'Content-Type: application/json' \
--data '{
"amount": "number",
"users": [
"string"
],
"attributes": "object"
}'
Réponse

{
"path": "universes/123/data-stores/some-data-store/entries/some-data-store-entry",
"createTime": "2023-07-05T12:34:56Z",
"revisionId": "string",
"revisionCreateTime": "2023-07-05T12:34:56Z",
"state": "STATE_UNSPECIFIED",
"etag": "string",
"value": "JSON value",
"id": "string",
"users": [
"string"
],
"attributes": "object"
}

DataStoreEntry

Révisions d'entrée du magasin de données de liste
Bêta

GET /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}:listRevisions

Liste les révisions de l'entrée du magasin de données.

Cette méthode renvoie des entrées de stock de données partielles.

En particulier, seuls les champs path, id, createTime, revisionCreateTime, revisionId, etag et state sont remplis.Les champs et auront tous deux un suffixe ».

Pour obtenir la totalité de l'entrée à une révision, vous pouvez utiliser le champ fourni path à l'aide de la méthode GetDataStoreEntry, c'est-à-dire GET /v1/universes/1234/data-stores/5678/entries/my-entry@<version>.

Périmètres d'application
universe-datastores.versions:list
RequêteParamètres du chemin
universe_idstring
Requis

L'ID de l'univers.

data_store_idstring
Requis

L'ID du magasin de données.

entry_idstring
Requis

L'ID d'entrée.

Paramètres de requête
maxPageSizenumber

Le nombre maximum de révisions à retourner par page.

Le service peut retourner moins que le nombre maximum de révisions.Si non spécifié, au maximum 10 révisions sont retournées.La valeur maximale est de 100 valeurs et les valeurs plus élevées sont réglées sur 100.

pageTokenstring

Un jeton de page, reçu d'un appel précédent, pour récupérer une page suivante.

Lors de la pagination, tous les autres paramètres fournis à l'appel suivant doivent correspondre à l'appel qui a fourni le jeton de page.

filterstring

Il prend en charge la sous-ensemble suivant de CEL :

  • Seuls les opérateurs &&, <= et >= sont pris en charge.
  • Seul le champ revision_create_time est pris en charge.

Par exemple :

"revision_create_time >= 2000-01-01T00:00:00Z && revision_create_time <= 2001-01-01T00:00:00Z".

Réponse

Une liste de révisions d'une entrée de magasin de données.

dataStoreEntriesarray<DataStoreEntry>

Les révisions du data_store_entry.

nextPageTokenstring

Un jeton que vous envoyez en tant que pageToken paramètre pour récupérer la page suivante. Si ce champ est omis, il n'y a pas de pages suivantes.

GET /cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}:listRevisions

curl -L -X GET 'https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}:listRevisions?maxPageSize=10&pageToken={string}&filter={string}' \
-H 'x-api-key: {your-api-key}'
Réponse

{
"dataStoreEntries": [
{
"path": "universes/123/data-stores/some-data-store/entries/some-data-store-entry",
"createTime": "2023-07-05T12:34:56Z",
"revisionId": "string",
"revisionCreateTime": "2023-07-05T12:34:56Z",
"state": "STATE_UNSPECIFIED",
"etag": "string",
"value": "JSON value",
"id": "string",
"users": [
"string"
],
"attributes": "object"
}
],
"nextPageToken": "string"
}