Consultar el historial de revisiones - Base de datos Amazon Quantum Ledger (AmazonQLDB)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Consultar el historial de revisiones

importante

Aviso de fin de soporte: los clientes actuales podrán usar Amazon QLDB hasta que finalice el soporte, el 31 de julio de 2025. Para obtener más información, consulte Migración de un Amazon QLDB Ledger a Amazon Aurora SQL Postgre.

Amazon QLDB guarda el historial completo de cada documento en una tabla. Para ver las tres revisiones del documento de registro del vehículo que insertó, actualizó y eliminó anteriormente en Actualización y eliminación de documentos, consulte la función de historial integrada.

Función de historial

La función de historial QLDB es una extensión PartiQL que devuelve las revisiones de la vista de la tabla definida por el sistema. Por lo tanto, incluye sus datos y los metadatos asociados en el mismo esquema que la vista confirmada.

Sintaxis

SELECT * FROM history( table_name | 'table_id' [, `start-time` [, `end-time` ] ] ) AS h [ WHERE h.metadata.id = 'id' ]
Argumentos
table_name | 'table_id'

El nombre de la tabla o el identificador de la tabla. El nombre de una tabla es un identificador PartiQL que puede indicarse con comillas dobles o sin comillas. Un identificador de tabla es un literal de cadena que se debe incluir entre comillas simples. Para obtener más información sobre el uso de la tablaIDs, consulte. Consultar el historial de tablas inactivas

`start-time`, `end-time`

(Opcional) Especifica el intervalo de tiempo durante el que estuvieron activas las revisiones. Estos parámetros no especifican el intervalo de tiempo durante el cual las revisiones se confirmaron en el diario de una transacción.

Las horas de inicio y finalización son literales de marca temporal de Ion que se pueden indicar con acentos graves (`...`). Para obtener más información, consulte Consultando Ion con PartiQL en Amazon QLDB.

Estos parámetros de tiempo funcionan de la siguiente manera:

  • Tanto la hora de inicio como la hora de finalización están incluidas. Deben estar en el formato de fecha y hora ISO8601 y en hora universal coordinada (UTC).

  • La hora de inicio debe ser anterior o igual a la hora de finalización y puede ser cualquier fecha pasada arbitraria.

  • La hora de finalización debe ser inferior o igual a la UTC fecha y hora actuales.

  • Si especifica una hora de inicio, pero no una hora de finalización, la consulta establece de forma predeterminada la hora de finalización en la fecha y hora actuales. Si no especifica ninguna de las dos, la consulta devolverá el historial completo.

'id'

(Opcional) El identificador del documento cuyo historial de revisiones desea consultar, indicado entre comillas simples.

sugerencia

Como práctica recomendada, califique una consulta de historial con un intervalo de fechas (hora de inicio y hora de finalización) y un identificador de documento (metadata.id). EnQLDB, todas las SELECT consultas se procesan en una transacción y están sujetas a un límite de tiempo de espera de la transacción.

Las consultas de historial no utilizan los índices que crea en una tabla. QLDBel historial se indexa únicamente por el identificador del documento y, por el momento, no se pueden crear índices de historial adicionales. Las consultas de historial que incluyen una hora de inicio y una hora de finalización se benefician de la calificación por intervalo de fechas.

Ejemplo de consulta de historial

Para consultar el historial del documento de registro de vehículos, utilice el id que guardó anteriormente en Actualización y eliminación de documentos. Por ejemplo, la siguiente consulta de historial devuelve cualquier revisión del identificador del documento ADR2Ll1fGsU4Jr4EqTdnQF que haya estado activa entre 2019-06-05T00:00:00Z y 2019-06-05T23:59:59Z.

nota

Los parámetros de hora de inicio y finalización no especifican el intervalo de tiempo durante el cual las revisiones se confirmaron en el diario de una transacción. Por ejemplo, si una revisión se confirmó antes de 2019-06-05T00:00:00Z y permaneció activa después de esa hora de inicio, esta consulta de ejemplo mostrará esa revisión en los resultados.

Asegúrese de sustituir id, la hora de inicio y la hora de finalización por sus propios valores, según proceda.

SELECT * FROM history(VehicleRegistration, `2019-06-05T00:00:00Z`, `2019-06-05T23:59:59Z`) AS h WHERE h.metadata.id = 'ADR2Ll1fGsU4Jr4EqTdnQF' --replace with your id

Los resultados deben ser similares a los siguientes.

{ blockAddress:{ strandId:"JdxjkR9bSYB5jMHWcI464T", sequenceNo:14 }, hash:{{B2wYwrHKOWsmIBmxUgPRrTx9lv36tMlod2xVvWNiTbo=}}, data: { VIN: "1HVBBAANXWH544237", LicensePlateNumber: "LS477D", State: "WA", City: "Tacoma", PendingPenaltyTicketAmount: 42.20, ValidFromDate: 2011-10-26T, ValidToDate: 2023-09-25T, Owners: { PrimaryOwner: { PersonId: "KmA3XPKKFqYCP2zhR3d0Ho" }, SecondaryOwners: [] } }, metadata:{ id:"ADR2Ll1fGsU4Jr4EqTdnQF", version:0, txTime:2019-06-05T20:53:321d-3Z, txId:"HgXAkLjAtV0HQ4lNYdzX60" } }, { blockAddress:{ strandId:"JdxjkR9bSYB5jMHWcI464T", sequenceNo:17 }, hash:{{LGSFZ4iEYWZeMwmAqcxxNyT4wbCtuMOmFCj8pEd6Mp0=}}, data: { VIN: "1HVBBAANXWH544237", LicensePlateNumber: "LS477D", State: "WA", PendingPenaltyTicketAmount: 42.20, ValidFromDate: 2011-10-26T, ValidToDate: 2023-09-25T, Owners: { PrimaryOwner: { PersonId: "KmA3XPKKFqYCP2zhR3d0Ho" }, SecondaryOwners: [] }, City: "Bellevue" }, metadata:{ id:"ADR2Ll1fGsU4Jr4EqTdnQF", version:1, txTime:2019-06-05T21:01:442d-3Z, txId:"9cArhIQV5xf5Tf5vtsPwPq" } }, { blockAddress:{ strandId:"JdxjkR9bSYB5jMHWcI464T", sequenceNo:19 }, hash:{{7bm5DUwpqJFGrmZpb7h9wAxtvggYLPcXq+LAobi9fDg=}}, metadata:{ id:"ADR2Ll1fGsU4Jr4EqTdnQF", version:2, txTime:2019-06-05T21:03:76d-3Z, txId:"9GslbtDtpVHAgYghR5FXbZ" } }

El resultado incluye atributos de metadatos que proporcionan detalles sobre cuándo se modificó cada elemento y mediante qué transacción. A partir de estos datos, puede comprobar lo siguiente:

  • El documento se identifica de forma única por su id asignado por el sistema: ADR2Ll1fGsU4Jr4EqTdnQF. Esto es un UUID que se representa en una cadena codificada en Base62.

  • Una instrucción INSERT crea la revisión inicial de un documento (versión 0).

  • Cada actualización posterior crea una nueva revisión con el mismo documento id y un número de versión incrementado.

  • El campo txId indica la transacción que confirmó cada revisión y txTime muestra cuándo se confirmó cada una.

  • Una instrucción DELETE crea una revisión nueva, pero final, de un documento. Esta revisión final solo tiene metadatos.

Para obtener información sobre cómo eliminar una revisión de forma permanente, continúe con Editar revisiones de documentos.