Tipos de dados - AWS IoT Core

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á.

Tipos de dados

O mecanismo de AWS IoT regras é compatível com todos os tipos de dados JSON.

Tipos de dados compatíveis
Tipo Significado
Int Um discreto Int. 34 dígitos no máximo.
Decimal

Um Decimal com uma precisão de 34 dígitos, com um mínimo de magnitude não zero de 1E-999 e um máximo de magnitude de 9,999...E999.

nota

Algumas funções geram valores Decimal com precisão dupla em vez de precisão de 34 dígitos.

Com o SQL V2 (23/03/2016), valores numéricos que são números inteiros, como 10.0, são processados como um valor Int (10) em vez do valor Decimal esperado (10.0). Para processar de forma confiável valores numéricos inteiros como valores Decimal, use o SQL V1 (08/10/2015) para a instrução de consulta de regra.

Boolean True ou False.
String Uma string UTF-8.
Array Uma série de valores que não precisam ter o mesmo tipo.
Object Um valor JSON que consiste em uma chave e um valor. As chaves devem ser strings. Os valores podem ser de qualquer tipo.
Null Null conforme definido pelo JSON. É um valor real que representa a ausência de um valor. Você pode criar explicitamente um valor Null usando a palavra-chave Null na declaração do SQL. Por exemplo: "SELECT NULL AS n FROM 'topic/subtopic'"
Undefined

Não é um valor. Não é explicitamente representável no JSON, exceto ao omitir o valor. Por exemplo, no objeto {"foo": null}, a chave "foo" gera NULL, mas a chave "bar" gera Undefined. Internamente, a linguagem SQL trata Undefined como um valor, mas não é representável no JSON; portanto, quando serializados para JSON, os resultados são Undefined.

{"foo":null, "bar":undefined}

é serializado para JSON como:

{"foo":null}

Da mesma forma, Undefined é convertido em uma string vazia quando serializado por conta própria. Funções chamadas com argumentos inválidos (por exemplo, tipos incorretos, número incorreto de argumentos, etc.) retornam Undefined.

Conversões

A tabela a seguir indica os resultados quando um valor de um tipo é convertido em outro tipo (quando um valor do tipo incorreto é dado a uma função). Por exemplo, se a função de valor absoluto "abs" (que espera um Int ou Decimal) for dado a String, ela tentará converter String em um Decimal, seguindo essas regras. Nesse caso, “abs ("-5,123")” é tratado como “abs(-5,123)”.

nota

Não há tentativa de conversões para Array, Object, Null ou Undefined.

Para decimal
Tipo de argumento Resultado
Int Um Decimal sem ponto decimal.
Decimal O valor de origem.
Boolean Undefined. (Você pode explicitamente usar a função cast para transformar verdadeiro = 1,0, falso = 0,0.)
String O mecanismo SQL tenta analisar a string como a. Decimal AWS IoT tenta analisar cadeias de caracteres que correspondam à expressão regular:. ^-?\d+(\.\d+)?((?i)E-?\d+)?$ "0", "-1,2" e "5E-12" são exemplos de strings que são automaticamente convertidas em Decimals.
Array Undefined.
Objeto Undefined.
Nulo Null.
Não definido Undefined.
Para int
Tipo de argumento Resultado
Int O valor de origem.
Decimal O valor de origem arredondado para o Int mais próximo.
Boolean Undefined. (Você pode explicitamente usar a função cast para transformar verdadeiro = 1,0, falso = 0,0.)
String O mecanismo SQL tenta analisar a string como a. Decimal AWS IoT tenta analisar cadeias de caracteres que correspondam à expressão regular:. ^-?\d+(\.\d+)?((?i)E-?\d+)?$ “0", “-1.2", “5E-12" são todos exemplos de strings que são convertidas automaticamente em Decimal s. AWS IoT tenta converter o em a eDecimal, em seguida, trunca as casas decimais String para formar um. Decimal Int
Array Undefined.
Objeto Undefined.
Nulo Null.
Não definido Undefined.
Para Booleano
Tipo de argumento Resultado
Int Undefined. (Você pode explicitamente usar a função cast para transformar 0 = Falso, qualquer_valor_não_zero = Verdadeiro.)
Decimal Undefined. (Você pode explicitamente usar a função cast para transformar 0 = Falso, qualquer_valor_não_zero = Verdadeiro.)
Boolean O valor original.
String "true" = Verdadeiro e "false" = Falso (não diferencia maiúsculas de minúsculas). Outros valores de string são Undefined.
Array Undefined.
Objeto Undefined.
Nulo Undefined.
Não definido Undefined.
Para string
Tipo de argumento Resultado
Int Uma representação de string do Int em notação padrão.
Decimal Uma string representando o valor Decimal, possivelmente em notação científica.
Boolean "true" ou "false". Todas as letras minúsculas.
String O valor original.
Array A Array serializada para JSON. A string resultante é uma lista separada por vírgulas, entre colchetes. A String tem aspas. Um Decimal, Int, Boolean e Null não.
Objeto O objeto serializado para JSON. A string resultante é uma lista separada por vírgulas de pares de chave/valor e começa e termina com chaves. A String tem aspas. Um Decimal, Int, Boolean e Null não.
Nulo Undefined.
Não definido Indefinido.