WriteRecords - Amazon Timestream

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. Versionel 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 la RejectedRecords 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: