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.
WriteRecords
Le permite escribir sus datos de series temporales en Timestream. Puede especificar un único punto de datos o un lote de puntos de datos para insertarlos en el sistema. Timestream le ofrece un esquema flexible que detecta automáticamente los nombres de las columnas y los tipos de datos de las tablas de Timestream en función de los nombres de las dimensiones y los tipos de datos de los puntos de datos que especifique al invocar las escrituras en la base de datos.
Timestream admite una semántica de lectura coherente eventual. Esto significa que cuando consultas datos inmediatamente después de escribir un lote de datos en Timestream, es posible que los resultados de la consulta no reflejen los resultados de una operación de escritura completada recientemente. Los resultados también pueden incluir algunos datos obsoletos. Si repite la solicitud de consulta después de un breve período de tiempo, los resultados deberían arrojar los datos más recientes. Se aplican cuotas de servicio.
Consulte el ejemplo de código para obtener más detalles.
¿Molestas
Puede utilizar el Version
parámetro en una WriteRecords
solicitud para actualizar los puntos de datos. Timestream rastrea un número de versión con cada registro. Version
el valor predeterminado es 1
cuando no está especificado para el registro en la solicitud. Timestream actualiza el valor de medición de un registro existente junto con el suyo Version
cuando recibe una solicitud de escritura con un Version
número superior para ese registro. Cuando recibe una solicitud de actualización en la que el valor de la medida es el mismo que el del registro existente, Timestream sigue Version
actualizándose si es mayor que el valor existente de. Version
Puede actualizar un punto de datos tantas veces como desee, siempre que el valor de aumente de Version
forma continua.
Por ejemplo, supongamos que escribe un registro nuevo sin indicarlo Version
en la solicitud. Timestream almacena este registro y lo establece Version
en. 1
Ahora, supongamos que intenta actualizar este registro con una WriteRecords
solicitud del mismo registro con un valor de medida diferente, pero, como antes, no lo proporciona. Version
En este caso, Timestream rechazará esta actualización con una, RejectedRecordsException
ya que la versión del registro actualizado no es superior al valor actual de la versión.
Sin embargo, si volvieras a enviar la solicitud de actualización con el valor Version
establecido en2
, Timestream lograría actualizar el valor del registro y se establecería en. Version
2
A continuación, supongamos que ha enviado una WriteRecords
solicitud con el mismo registro y un valor de medida idéntico, pero con Version
el valor establecido en. 3
En este caso, Timestream solo se Version
actualizaría a. 3
Cualquier actualización adicional tendría que enviar un número de versión superior a3
, o las solicitudes de actualización recibirían un. RejectedRecordsException
Sintaxis de la solicitud
{
"CommonAttributes": {
"Dimensions": [
{
"DimensionValueType": "string
",
"Name": "string
",
"Value": "string
"
}
],
"MeasureName": "string
",
"MeasureValue": "string
",
"MeasureValues": [
{
"Name": "string
",
"Type": "string
",
"Value": "string
"
}
],
"MeasureValueType": "string
",
"Time": "string
",
"TimeUnit": "string
",
"Version": number
},
"DatabaseName": "string
",
"Records": [
{
"Dimensions": [
{
"DimensionValueType": "string
",
"Name": "string
",
"Value": "string
"
}
],
"MeasureName": "string
",
"MeasureValue": "string
",
"MeasureValues": [
{
"Name": "string
",
"Type": "string
",
"Value": "string
"
}
],
"MeasureValueType": "string
",
"Time": "string
",
"TimeUnit": "string
",
"Version": number
}
],
"TableName": "string
"
}
Parámetros de la solicitud
Para obtener información sobre los parámetros comunes a todas las acciones, consulte Parámetros comunes.
La solicitud acepta los siguientes datos en JSON formato.
- CommonAttributes
-
Un registro que contiene los atributos comunes de medida, dimensión, tiempo y versión que se comparten en todos los registros de la solicitud. Los atributos de medida y dimensión especificados se fusionarán con los atributos de medida y dimensión del objeto de registro cuando los datos se escriban en Timestream. Es posible que las dimensiones no se superpongan o
ValidationException
se generará una. En otras palabras, un registro debe contener dimensiones con nombres únicos.Tipo: objeto Record
Obligatorio: no
- DatabaseName
-
Nombre de la base de datos de Timestream.
Tipo: cadena
Limitaciones de longitud: longitud mínima de 3. La longitud máxima es de 256 caracteres.
Obligatorio: sí
- Records
-
Matriz de registros que contiene los atributos únicos de medida, dimensión, tiempo y versión de cada punto de datos de la serie temporal.
Tipo: matriz de objetos Record
Miembros de la matriz: número mínimo de 1 artículo. Número máximo de 100 artículos.
Obligatorio: sí
- TableName
-
Nombre de la tabla de Timestream.
Tipo: cadena
Limitaciones de longitud: longitud mínima de 3. La longitud máxima es de 256 caracteres.
Obligatorio: sí
Sintaxis de la respuesta
{
"RecordsIngested": {
"MagneticStore": number,
"MemoryStore": number,
"Total": number
}
}
Elementos de respuesta
Si la acción se realiza correctamente, el servicio devuelve una respuesta de HTTP 200.
El servicio devuelve los siguientes datos en JSON formato.
- RecordsIngested
-
Información sobre los registros ingeridos por esta solicitud.
Tipo: objeto RecordsIngested
Errores
Para obtener información acerca de los errores comunes a todas las acciones, consulte Errores comunes.
- AccessDeniedException
-
No está autorizado a realizar esta acción.
HTTPCódigo de estado: 400
- InternalServerException
-
Timestream no pudo procesar completamente esta solicitud debido a un error interno del servidor.
HTTPCódigo de estado: 500
- InvalidEndpointException
-
El punto final solicitado no era válido.
HTTPCódigo de estado: 400
- RejectedRecordsException
-
WriteRecords generaría esta excepción en los siguientes casos:
-
Registros con datos duplicados en los que hay varios registros con las mismas dimensiones, marcas de tiempo y nombres de medidas, pero:
-
Los valores de las medidas son diferentes
-
La versión no está presente en la solicitud o el valor de la versión en el nuevo registro es igual o inferior al valor existente
En este caso, si Timestream rechaza los datos, el
ExistingVersion
campo de laRejectedRecords
respuesta indicará la versión del registro actual. Para forzar una actualización, puedes volver a enviar la solicitud con una versión del registro establecida en un valor superior a.ExistingVersion
-
-
Registros con marcas de tiempo que se encuentran fuera del período de retención del almacén de memoria.
-
Registros con dimensiones o medidas que superan los límites definidos por Timestream.
Para obtener más información, consulte Cuotas en la Guía para desarrolladores de Amazon Timestream.
HTTPCódigo de estado: 400
-
- ResourceNotFoundException
-
La operación intentó acceder a un recurso inexistente. Es posible que el recurso no esté especificado correctamente o que su estado no lo estéACTIVE.
HTTPCódigo de estado: 400
- ThrottlingException
-
Un usuario realizó demasiadas solicitudes y estas superaron las cuotas de servicio. La solicitud se ha limitado.
HTTPCódigo de estado: 400
- ValidationException
-
Solicitud no válida o mal formada.
HTTPCódigo de estado: 400
Véase también
Para obtener más información sobre cómo usarlo API en uno de los idiomas específicos AWS SDKs, consulte lo siguiente: