Manejar solicitudes del almacén de datos de Open Cloud

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Hay una serie de consideraciones en torno al envío de solicitudes y al manejo de respuestas de las APIs de almacén de datos de Open Cloud.

Encabezados HTTP

Como todos los puntos finales de Open Cloud, las solicitudes al almacén de datos que utilizan autenticación por clave de API deben incluir el encabezado x-api-key. Para más información, consulta Gestionar claves de API.

  • Una clave de API incorrecta o faltante resulta en un error 401.
  • Una clave de API válida que carece de los permisos correctos resulta en un error 403.

Si una solicitud incluye un cuerpo, como una solicitud de creación o actualización, incluye los encabezados Content-Type: application/json y Content-Length. La mayoría de los clientes incluyen estos encabezados automáticamente.

Paginación

Los almacenes de datos a menudo contienen muchas entradas, lo que significa que tu código, particularmente al llamar a Listar entradas del almacén de datos, debe manejar un número máximo de resultados y páginas. Para aprender más, consulta Paginación.

Filtros

Si usas prefijos en los nombres de tus entradas del almacén de datos, probablemente desees filtrar tus llamadas GET, así:


def list_entries(universe, data_store, filter):
list_path = f'universes/{universe}/data-stores/{data_store}/entries'
url = base_url + list_path
return requests.get(url, params={'filter': f'id.startsWith("global/{filter}")'}, headers={apiHeaderKey: apiKey})

La sintaxis de los filtros es extremadamente limitada. Consulta la documentación de referencia para los filtros disponibles para almacenes de datos estándar y ordenados.

Permitir banderas faltantes

Los métodos PATCH (actualización) para almacenes de datos estándar y ordenados tienen un parámetro allow_missing. Si se establece en verdadero, este parámetro te permite crear entradas que no existen en lugar de lanzar un error. Mantén este parámetro en su valor predeterminado false a menos que tengas una buena razón para no hacerlo; actualizar una entrada que nunca fue creada a menudo representa un error en la lógica de programación.

Alcances

Muchas solicitudes requieren que especifiques un alcance, incluso si es el valor predeterminado de global. Estos alcances son distintos de los alcances de permiso y te permiten subdividir y organizar las entradas en un almacén de datos.

Sin embargo, en lugar de crear alcances no predeterminados, recomendamos encarecidamente utilizar prefijos. Para aprender más, consulta Listado y prefijos.

Content-MD5

La API v1 de Open Cloud admite un chequeo de integridad opcional codificado en base64 en algunas solicitudes, que puede detectar problemas de integridad de datos. Muchos lenguajes tienen funciones integradas para calcular el valor del encabezado content-md5. El siguiente ejemplo utiliza Python:


$ echo "750" | python -c "import base64, hashlib; print(str(base64.b64encode(hashlib.md5(bytes(input(), encoding='utf8')).digest()), encoding='utf8'))"
sTf90fedVsft8zZf6nUg8g==

Si tienes problemas para generar un valor válido de content-md5, es posible que necesites codificar el cuerpo de tu solicitud en UTF-8 antes de calcular el chequeo de integridad.

©2026 Roblox Corporation. Roblox, el logotipo de Roblox y "Powering Imagination" son algunas de nuestras marcas registradas y no registradas en los Estados Unidos y otros países.