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. Version
o 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 naRejectedRecords
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: