Apéndice de la guía de API de Registro de esquemas

Este documento proporciona información adicional relacionada con el trabajo con la API Schema Registry.

Uso de parámetros de consulta query

El Schema Registry admite el uso de parámetros de consulta para paginar y filtrar resultados al enumerar recursos.

NOTE
Al combinar varios parámetros de consulta, deben separarse con el símbolo et (&).

Paginación paging

Los parámetros de consulta más comunes para la paginación incluyen:

Parámetro
Descripción
orderby
Ordene los resultados por una propiedad específica. Ejemplo: orderby=title ordenará los resultados por título en orden ascendente (A-Z). Si se agrega un(a) - antes del valor del parámetro (orderby=-title), los elementos se ordenarán por título en orden descendente (Z-A).
limit
Cuando se usa junto con un parámetro orderby, limit restringe el número máximo de elementos que se deben devolver para una solicitud determinada. Este parámetro no se puede usar sin un parámetro orderby presente.

El parámetro limit especifica un entero positivo (entre 0 y 500) como indicio del número máximo de elementos que se deben devolver. Por ejemplo, limit=5 devuelve solamente cinco recursos de la lista. Sin embargo, este valor no se respeta estrictamente. El tamaño de respuesta real puede ser menor o mayor, ya que está limitado por la necesidad de proporcionar el funcionamiento confiable del parámetro start, si se proporciona uno.
start
Cuando se usa junto con un parámetro orderby, start especifica dónde debe comenzar la lista de elementos subconfigurada. Este parámetro no se puede usar sin un parámetro orderby presente. Este valor puede obtenerse del atributo _page.next de una respuesta de lista y utilizarse para acceder a la siguiente página de resultados. Si el valor _page.next es nulo, no hay ninguna página adicional disponible.

Normalmente, este parámetro se omite para obtener la primera página de resultados. Después de eso, start debe establecerse en el valor máximo de la propiedad de ordenación principal del campo orderby recibido en la página anterior. A continuación, la respuesta de la API devuelve entradas que comienzan por aquellas que tienen una propiedad de ordenación principal de orderby estrictamente mayor que (para ascendente) o estrictamente menor que (para descendente) el valor especificado.

Por ejemplo, si el parámetro orderby está establecido en orderby=name,firstname, el parámetro start contendría un valor para la propiedad name. En este caso, si desea mostrar las siguientes 20 entradas de un recurso inmediatamente después del nombre "Miller", debe utilizar: ?orderby=name,firstname&start=Miller&limit=20.

Filtrado filtering

Puede filtrar los resultados utilizando el parámetro property, que se utiliza para aplicar un operador específico a una propiedad JSON determinada dentro de los recursos recuperados. Los operadores admitidos son:

Operador
Descripción
Ejemplo
==
Filtra por si la propiedad es igual al valor proporcionado.
property=title==test
!=
Filtra por si la propiedad no es igual al valor proporcionado.
property=title!=test
<
Filtra por si la propiedad es menor que el valor proporcionado.
property=version<5
>
Filtra por si la propiedad es mayor que el valor proporcionado.
property=version>5
<=
Filtra por si la propiedad es menor o igual que el valor proporcionado.
property=version<=5
>=
Filtra por si la propiedad es mayor o igual que el valor proporcionado.
property=version>=5
(Ninguno)
Si se indica solo el nombre de la propiedad, solo se devuelven entradas donde exista la propiedad.
property=title
TIP
Puede usar el parámetro property para filtrar grupos de campos de esquema por su clase compatible. Por ejemplo, property=meta:intendedToExtend==https://ns.adobe.com/xdm/context/profile devuelve solamente los grupos de campos compatibles con la clase XDM Individual Profile.

Modo de compatibilidad compatibility

Experience Data Model (XDM) es una especificación documentada públicamente, impulsada por el Adobe para mejorar la interoperabilidad, la expresividad y la potencia de las experiencias digitales. El Adobe mantiene el código fuente y las definiciones XDM formales en un proyecto de código abierto en GitHub. Estas definiciones se escriben en notación estándar XDM, utilizando JSON-LD (notación de objetos de JavaScript para datos vinculados) y el esquema JSON como gramática para definir esquemas XDM.

Al consultar las definiciones de XDM formales en el repositorio público, puede ver que el XDM estándar difiere de lo que se ve en Adobe Experience Platform. Lo que está viendo en Experience Platform se llama Modo de compatibilidad y proporciona una asignación sencilla entre el XDM estándar y la forma en que se utiliza en Platform.

Funcionamiento del modo de compatibilidad

El modo de compatibilidad permite que el modelo XDM JSON-LD funcione con una infraestructura de datos existente alterando los valores dentro del XDM estándar y manteniendo la semántica igual. Utiliza una estructura JSON anidada, que muestra los esquemas en un formato de árbol.

La principal diferencia entre el XDM estándar y el modo de compatibilidad es la eliminación del prefijo "xdm:" para los nombres de campo.

A continuación se muestra una comparación en paralelo que muestra campos relacionados con el cumpleaños (con atributos de "descripción" eliminados) tanto en el XDM estándar como en el modo de compatibilidad. Observe que los campos Modo de compatibilidad incluyen una referencia al campo XDM y su tipo de datos en los atributos "meta:xdmField" y "meta:xdmType".

XDM estándar
Modo de compatibilidad
{
  "xdm:birthDate": {
    "title": "Fecha de nacimiento",
    "type": "string",
    "format": "date"
  },
  "xdm:birthDayAndMonth": {
    "title": "Fecha de nacimiento",
    "type": "string",
    "patrón": "[0-1][0-9]-[0-9][0-9]"
  },
  "xdm:birthYear": {
    "title": "Año de nacimiento",
    "tipo": "entero",
    "mínimo": 1,
    "máximo": 32767
  }
}

{
  "birthDate": {
    "title": "Fecha de nacimiento",
    "type": "string",
    "format": "date",
    "meta:xdmField": "xdm:birthDate",
    "meta:xdmType": "date"
  },
  "birthDayAndMonth": {
    "title": "Fecha de nacimiento",
    "type": "string",
    "patrón": "[0-1][0-9]-[0-9][0-9]",
    "meta:xdmField": "xdm:birthDayAndMonth",
    "meta:xdmType": "string"
  },
  "birthYear": {
    "title": "Año de nacimiento",
    "tipo": "entero",
    "mínimo": 1,
    "maximum": 32767,
    "meta:xdmField": "xdm:birthYear",
    "meta:xdmType": "short"
  }
}

¿Por qué es necesario el modo de compatibilidad?

Adobe Experience Platform está diseñado para trabajar con varias soluciones y servicios, cada uno con sus propios desafíos y limitaciones técnicas (por ejemplo, cómo gestionan ciertas tecnologías los caracteres especiales). Para superar estas limitaciones, se desarrolló el Modo de compatibilidad.

La mayoría de los servicios de Experience Platform, incluidos Catalog, Data Lake y Real-Time Customer Profile, utilizan Compatibility Mode en lugar del XDM estándar. La API Schema Registry también usa Compatibility Mode, y los ejemplos de este documento se muestran usando Compatibility Mode.

Vale la pena saber que se produce una asignación entre el XDM estándar y la forma en que se pone en funcionamiento en Experience Platform, pero no debería afectar a su uso de los servicios de Platform.

El proyecto de código abierto está disponible, pero cuando se trata de interactuar con recursos a través de Schema Registry, los ejemplos de API de este documento proporcionan las prácticas recomendadas que debe conocer y seguir.

recommendation-more-help
62e9ffd9-1c74-4cef-8f47-0d00af32fc07