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á.
Timestream
A ação da regra Timestream grava atributos (medidas) de uma MQTT mensagem em uma tabela do Amazon Timestream. Para obter mais informações sobre o Amazon Timestream, consulte O que é o Amazon Timestream?.
nota
O Amazon Timestream não está disponível em todos os s. Região da AWS Se o Amazon Timestream não estiver disponível em sua região, ele não aparecerá na lista de ações de regras.
Os atributos que essa regra armazena no banco de dados do Timestream são aqueles que resultam da instrução de consulta da regra. O valor de cada atributo no resultado da instrução de consulta é analisado para inferir seu tipo de dados (como em uma ação D ynamoDBv 2). O valor de cada atributo é gravado em seu próprio registro na tabela do Timestream. Para especificar ou alterar o tipo de dados de um atributo, use a função cast() na instrução de consulta. Para obter mais informações sobre o conteúdo de cada registro do Timestream, consulte. Conteúdo do registro do Timestream
nota
Com SQL V2 (23/03/2016), valores numéricos que são números inteiros, como10.0
, são convertidos em sua representação inteira (). 10
Convertê-los explicitamente em um valor Decimal
, como usar a função cast(), não impede esse comportamento — o resultado ainda é um valor Integer
. Isso pode causar erros de incompatibilidade de tipos que impedem que os dados sejam registrados no banco de dados do Timestream. Para processar valores numéricos de números inteiros como Decimal
valores, use SQL V1 (2015-10-08) para a instrução de consulta de regra.
nota
O número máximo de valores que uma ação de regra do Timestream pode gravar em uma tabela do Amazon Timestream é 100. Para obter mais informações, consulte a Referência da cota do Amazon Timestream.
Requisitos
Esta ação de regra tem os seguintes requisitos:
-
Uma IAM função que AWS IoT pode assumir para realizar
timestream:DescribeEndpoints
astimestream:WriteRecords
operações e. Para obter mais informações, consulte Conceder a uma AWS IoT regra o acesso que ela exige.No AWS IoT console, você pode escolher, atualizar ou criar uma função para permitir AWS IoT a execução dessa ação de regra.
-
Se você usa um cliente AWS KMS para criptografar dados em repouso no Timestream, o serviço deve ter permissão para usar o AWS KMS key em nome do chamador. Para obter mais informações, consulte Como AWS os serviços são usados AWS KMS.
Parâmetros
Ao criar uma AWS IoT regra com essa ação, você deve especificar as seguintes informações:
databaseName
-
O nome de um banco de dados do Amazon Timestream que tem a tabela para receber os registros que essa ação cria. Consulte também
tableName
.Suporta modelos de substituição: API e somente AWS CLI
dimensions
-
Atributos de metadados das séries temporais que são gravados em cada registro de medida. Por exemplo, o nome e a zona de disponibilidade de uma EC2 instância ou o nome do fabricante de uma turbina eólica são dimensões.
name
-
O nome da dimensão de metadados. Este é o nome da coluna no registro da tabela do banco de dados.
As dimensões não podem ser nomeadas:
measure_name
,measure_value
, outime
. Esses nomes são reservados. Os nomes das dimensões não podem começar comts_
oumeasure_value
e não podem conter o caractere de dois pontos (:
).Compatível com modelos de substituição: Não
value
-
O valor a ser gravado nesta coluna do registro do banco de dados.
Compatível com modelos de substituição: Sim
roleArn
-
O Amazon Resource Name (ARN) da função que concede AWS IoT permissão para gravar na tabela do banco de dados Timestream. Para obter mais informações, consulte Requisitos.
Compatível com modelos de substituição: Não
tableName
-
O nome da tabela de banco de dados na qual gravar os registros de medida. Consulte também
databaseName
.Suporta modelos de substituição: API e somente AWS CLI
timestamp
-
O valor a ser usado para o carimbo e data/hora da entrada. Se estiver em branco, a hora em que a entrada foi processada será usada.
unit
-
A precisão do valor do carimbo de data/hora que resulta da expressão descrita em
value
.Valores válidos:
SECONDS
|MILLISECONDS
|MICROSECONDS
|NANOSECONDS
. O padrão éMILLISECONDS
. value
-
Uma expressão que retorna um valor de tempo epoch longo.
Você pode usar a função time_to_epoch(String, String) para criar um carimbo de data/hora válido a partir de um valor de data ou hora transmitido na carga da mensagem.
Conteúdo do registro do Timestream
Os dados gravados na tabela do Amazon Timestream por essa ação incluem um carimbo de data e hora, metadados da ação da regra Timestream e o resultado da instrução de consulta da regra.
Para cada atributo (medida) no resultado da instrução de consulta, essa ação de regra grava um registro na tabela Timestream especificada com essas colunas.
Nome da coluna |
Tipo de atributo |
Valor |
Comentários |
---|---|---|---|
|
DIMENSION |
O valor especificado na entrada de ação da regra Timestream. |
Cada Dimensão especificada na entrada de ação da regra cria uma coluna no banco de dados do Timestream com o nome da dimensão. |
nome_medida |
MEASURE_NAME |
O nome do atributo |
O nome do atributo no resultado da instrução de consulta cujo valor é especificado na coluna |
valor_de_medida:: |
MEASURE_VALUE |
O nome do atributo no resultado da instrução de consulta. O nome do atributo está na coluna |
O valor é interpretado* e convertido como a combinação mais adequada de: |
horário |
TIMESTAMP |
A data e a hora do registro no banco de dados. |
Esse valor é atribuído pelo mecanismo de regras ou pela propriedade |
* O valor do atributo lido da carga da mensagem é interpretado da seguinte forma. Consulte a Exemplos para obter uma ilustração de cada um desses casos.
-
Um valor sem aspas de
true
oufalse
é interpretado como um tipoboolean
. -
Um numérico decimal é interpretado como um tipo
double
. -
Um valor numérico sem ponto decimal é interpretado como um tipo
bigint
. -
Uma string entre aspas é interpretada como um tipo
varchar
. -
Objetos e valores de matriz são convertidos em JSON cadeias de caracteres e armazenados como um
varchar
tipo.
Exemplos
O JSON exemplo a seguir define uma ação de regra Timestream com um modelo de substituição em uma regra. AWS IoT
{ "topicRulePayload": { "sql": "SELECT * FROM 'iot/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "timestream": { "roleArn": "arn:aws:iam::123456789012:role/aws_iot_timestream", "tableName": "devices_metrics", "dimensions": [ { "name": "device_id", "value": "${clientId()}" }, { "name": "device_firmware_sku", "value": "My Static Metadata" } ], "databaseName": "record_devices" } } ] } }
Usar a ação de regra de tópico Timestream definida no exemplo anterior com a carga útil da mensagem a seguir resulta nos registros do Amazon Timestream escritos na tabela a seguir.
{ "boolean_value": true, "integer_value": 123456789012, "double_value": 123.456789012, "string_value": "String value", "boolean_value_as_string": "true", "integer_value_as_string": "123456789012", "double_value_as_string": "123.456789012", "array_of_integers": [23,36,56,72], "array of strings": ["red", "green","blue"], "complex_value": { "simple_element": 42, "array_of_integers": [23,36,56,72], "array of strings": ["red", "green","blue"] } }
A tabela a seguir exibe as colunas e os registros do banco de dados que usam a ação de regra de tópico especificada para processar a carga útil da mensagem anterior criada. As device_id
colunas device_firmware_sku
e são DIMENSIONS definidas na ação da regra de tópico. A ação de regra de tópico Timestream cria a coluna time
e as colunas measure_name
e measure_value::*
, que ela preenche com os valores do resultado da instrução de consulta da ação de regra de tópico.
device_firmware_sku | id_dispositivo | nome_medida | valor_medida::bigint | valor_medida::varchar | valor_medida::duplo | valor_medida::booleano | tempo |
---|---|---|---|---|---|---|---|
Meus metadados estáticos | console EXAMPLE738 iot-159 -0 | valor_complexo | - | {"elemento_simples":42,"matriz_de_inteiros":[23,36,56,72],"matriz de strings":["vermelho","verde","azul"]} | - | - | 2020-08-26 22:42:16.423000000 |
Meus metadados estáticos | console EXAMPLE738 iot-159 -0 | valor_inteiro_como_string | - | 123456789012 | - | - | 2020-08-26 22:42:16.423000000 |
Meus metadados estáticos | console EXAMPLE738 iot-159 -0 | boolean_value | - | - | - | TRUE | 2020-08-26 22:42:16.423000000 |
Meus metadados estáticos | console EXAMPLE738 iot-159 -0 | valor_inteiro | 123456789012 | - | - | - | 2020-08-26 22:42:16.423000000 |
Meus metadados estáticos | console EXAMPLE738 iot-159 -0 | valor_string | - | Valor da string | - | - | 2020-08-26 22:42:16.423000000 |
Meus metadados estáticos | console EXAMPLE738 iot-159 -0 | matriz_de_inteiros | - | [23,36,56,72] | - | - | 2020-08-26 22:42:16.423000000 |
Meus metadados estáticos | console EXAMPLE738 iot-159 -0 | matriz de strings | - | ["vermelho","verde","azul"] | - | - | 2020-08-26 22:42:16.423000000 |
Meus metadados estáticos | console EXAMPLE738 iot-159 -0 | valor_booleano_como_string | - | TRUE | - | - | 2020-08-26 22:42:16.423000000 |
Meus metadados estáticos | console EXAMPLE738 iot-159 -0 | valor_duplo | - | - | 123.456789012 | - | 2020-08-26 22:42:16.423000000 |
Meus metadados estáticos | console EXAMPLE738 iot-159 -0 | valor_duplo_como_string | - | 123.45679 | - | - | 2020-08-26 22:42:16.423000000 |