WriteRecords - Amazon Timestream

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

WriteRecords

Permite que você grave seus dados de séries temporais no Timestream. Você pode especificar um único ponto de dados ou um lote de pontos de dados a serem inseridos no sistema. O Timestream oferece um esquema flexível que detecta automaticamente os nomes das colunas e os tipos de dados das tabelas do Timestream com base nos nomes das dimensões e nos tipos de dados dos pontos de dados que você especifica ao invocar gravações no banco de dados.

O Timestream suporta uma eventual semântica de leitura consistente. Isso significa que, quando você consulta dados imediatamente após gravar um lote de dados no Timestream, os resultados da consulta podem não refletir os resultados de uma operação de gravação concluída recentemente. Os resultados também podem incluir alguns dados obsoletos. Se você repetir a solicitação de consulta após um curto período de tempo, os resultados deverão retornar os dados mais recentes. Cotas de serviço se aplicam.

Consulte a amostra de código para obter detalhes.

Surpresas

Você pode usar o Version parâmetro em uma WriteRecords solicitação para atualizar pontos de dados. O Timestream rastreia um número de versão com cada registro. Versiono padrão é 1 quando não é especificado para o registro na solicitação. O Timestream atualiza o valor de medida de um registro existente junto com o valor Version quando recebe uma solicitação de gravação com um Version número maior para esse registro. Quando recebe uma solicitação de atualização em que o valor da medida é o mesmo do registro existente, o Timestream ainda é atualizadoVersion, se for maior que o valor existente de. Version Você pode atualizar um ponto de dados quantas vezes quiser, desde que o valor de aumente Version continuamente.

Por exemplo, suponha que você grave um novo registro sem indicar Version na solicitação. O Timestream armazena esse registro e o define comoVersion. 1 Agora, suponha que você tente atualizar esse registro com uma WriteRecords solicitação do mesmo registro com um valor de medida diferente, mas, como antes, não forneçaVersion. Nesse caso, o Timestream rejeitará essa atualização com a, RejectedRecordsException já que a versão do registro atualizado não é maior que o valor existente de Versão.

No entanto, se você reenviasse a solicitação de atualização com Version definido como2, o Timestream conseguiria atualizar o valor do registro e o Version seria definido como. 2 Em seguida, suponha que você tenha enviado uma WriteRecords solicitação com esse mesmo registro e um valor de medida idêntico, mas com Version definido como3. Nesse caso, o Timestream só seria atualizado para o. Version 3 Quaisquer atualizações adicionais precisariam enviar um número de versão maior que3, ou as solicitações de atualização receberiam umRejectedRecordsException.

Sintaxe da Solicitação

{ "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 da solicitação

Para obter informações sobre os parâmetros comuns a todas as ações, consulte Parâmetros Comuns.

A solicitação aceita os seguintes dados no JSON formato.

CommonAttributes

Um registro que contém os atributos comuns de medida, dimensão, tempo e versão compartilhados entre todos os registros na solicitação. Os atributos de medida e dimensão especificados serão mesclados com os atributos de medida e dimensão no objeto de registros quando os dados forem gravados no Timestream. As dimensões não podem se sobrepor ou podem ser ValidationException lançadas. Em outras palavras, um registro deve conter dimensões com nomes exclusivos.

Tipo: objeto Record

Obrigatório: Não

DatabaseName

O nome do banco de dados do Timestream.

Tipo: string

Restrições de tamanho: comprimento mínimo de 3. Tamanho máximo de 256.

Obrigatório: Sim

Records

Uma matriz de registros que contém os atributos exclusivos de medida, dimensão, tempo e versão para cada ponto de dados de série temporal.

Tipo: Matriz de objetos Record

Membros da matriz: número mínimo de 1 item. Número máximo de 100 itens.

Obrigatório: Sim

TableName

O nome da tabela do Timestream.

Tipo: string

Restrições de tamanho: comprimento mínimo de 3. Tamanho máximo de 256.

Exigido: Sim

Sintaxe da Resposta

{ "RecordsIngested": { "MagneticStore": number, "MemoryStore": number, "Total": number } }

Elementos de Resposta

Se a ação for bem-sucedida, o serviço retornará uma resposta HTTP de 200.

Os dados a seguir são retornados em JSON formato pelo serviço.

RecordsIngested

Informações sobre os registros ingeridos por essa solicitação.

Tipo: objeto RecordsIngested

Erros

Para obter informações sobre os erros comuns retornados pelas ações, consulte Erros comuns.

AccessDeniedException

Você não está autorizado a realizar essa ação.

HTTPCódigo de status: 400

InternalServerException

O Timestream não conseguiu processar totalmente essa solicitação devido a um erro interno do servidor.

HTTPCódigo de status: 500

InvalidEndpointException

O endpoint solicitado não era válido.

HTTPCódigo de status: 400

RejectedRecordsException

WriteRecords lançaria essa exceção nos seguintes casos:

  • Registros com dados duplicados em que há vários registros com as mesmas dimensões, carimbos de data/hora e nomes de medidas, mas:

    • Os valores das medidas são diferentes

    • A versão não está presente na solicitação ou o valor da versão no novo registro é igual ou inferior ao valor existente

    Nesse caso, se o Timestream rejeitar dados, o ExistingVersion campo na RejectedRecords resposta indicará a versão atual do registro. Para forçar uma atualização, você pode reenviar a solicitação com uma versão do conjunto de registros com um valor maior que o. ExistingVersion

  • Registros com carimbos de data/hora que estão fora da duração de retenção do armazenamento de memória.

  • Registros com dimensões ou medidas que excedem os limites definidos pelo Timestream.

Para obter mais informações, consulte Cotas no Amazon Timestream Developer Guide.

HTTPCódigo de status: 400

ResourceNotFoundException

A operação tentou acessar um recurso inexistente. O recurso pode não estar especificado corretamente ou seu status pode não estarACTIVE.

HTTPCódigo de status: 400

ThrottlingException

Muitas solicitações foram feitas por um usuário e elas excederam as cotas de serviço. A solicitação foi acelerada.

HTTPCódigo de status: 400

ValidationException

Uma solicitação inválida ou malformada.

HTTPCódigo de status: 400

Consulte também

Para obter mais informações sobre como usar isso API em um idioma específico AWS SDKs, consulte o seguinte: