データ型 - AWS IoT Core

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

データ型

AWS IoT ルールエンジンは、すべての JSON データ型をサポートします。

サポートされているデータの種類
タイプ 意味
Int 個別の Int。最大 34 桁。
Decimal

0 以外の最小サイズ 1E-999 および最大サイズ 9.999...E999 の、精度が 34 桁の Decimal

注記

一部の関数は、34 桁の精度ではなく、倍精度の Decimal の値を返します。

SQL V2 (2016-03-23) では、10.0 などの整数である数値は、想定される Decimal 値 (10.0) ではなく Int 値 (10) として処理されます。整数の数値を Decimal 値として確実に処理するには、ルールクエリステートメントに SQL V1 (2015-10-08) を使用します。

Boolean True-または-False
String A UTF-8 文字列。
Array 同じ型を持つ必要のない一連の値。
Object キーと値で構成される JSON 値。キーは文字列である必要があります。値は任意のタイプにできます。
Null Null JSON で定義されます。値がないことを表す、実際の値です。SQL ステートメントの Null キーワードを使用して、Null の値を明示的に作成できます。例: "SELECT NULL AS n FROM 'topic/subtopic'"
Undefined

値ではなく。値を省略しない限り、これは、JSON では明示的には表現できません。たとえば、{"foo": null} のオブジェクトでは、キー「foo」は NULL を返しますが、キー「bar」は Undefined を返します。内部的には、SQL 言語は、Undefined を値として処理しますが、JSON では表現ができないため、JSON にシリアル化される場合は、結果は Undefined になります。

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

JSON に以下のようにシリアル化されます。

{"foo":null}

同様に、単独でシリアル化すると、Undefined は空の文字列に変換されます。無効な引数 (例: 間違った種類、間違った数値の引数など) を使用して呼び出された関数は Undefined を返します。

変換

次の表では 1 つのタイプの値が別のタイプに変換されると (正しくない型の値が関数に付与された場合) 結果を表示します。たとえば、絶対値関数「abs」 (Int または Decimal を想定します) が String に与えられると、以下のルールにしたがって、StringDecimal に変換するように試みます。この場合、「abs("-5.123")」は「abs(-5.123)」として処理されます。

注記

ArrayObjectNullUndefined へ試みられた変換はありません。

Decimal に
引数の型 結果
Int 小数点のない Decimal
Decimal ソース値。
Boolean Undefined。(キャスト関数を明示的に使用して、true = 1.0、false = 0.0. を変換できます。)
String SQL エンジンは、文字列を .Decimal AWS IoT attempts として解析し、正規表現に一致する文字列を解析しようとします^-?\d+(\.\d+)?((?i)E-?\d+)?$。「0」、「-1.2」、「5E-12」は、Decimal に自動的に変換される文字列の例です。
配列 Undefined.
オブジェクト Undefined.
Null Null.
未定義 Undefined.
Int に
引数の型 結果
Int ソース値。
Decimal 最も近い Int に丸められたソース値。
Boolean Undefined。(キャスト関数を明示的に使用して、true = 1.0、false = 0.0. を変換できます。)
String SQL エンジンは、文字列を .Decimal AWS IoT attempts として解析し、正規表現に一致する文字列を解析しようとします^-?\d+(\.\d+)?((?i)E-?\d+)?$。「0」、「-1.2」、「5E-12」はすべて、 を自動的に Decimals. AWS IoT att に変換しStringDecimal、その小数点以下を切り捨てDecimalて を作成する文字列の例ですInt
配列 Undefined.
オブジェクト Undefined.
Null Null.
未定義 Undefined.
ブールに
引数の型 結果
Int Undefined (cast 関数を明示的に使用して、0 = False、any_nonzero_value = True を変換できます)。
Decimal Undefined (キャスト関数を明示的に使用して、0 = False、any_nonzero_value = True を変換できます)。
Boolean 元の値。
String "true" = True および "false" = False (大文字小文字の区別なし)。その他の文字列値 = Undefined
配列 Undefined.
オブジェクト Undefined.
Null Undefined.
未定義 Undefined.
文字列に
引数の型 結果
Int 標準表記の Int の文字列表現。
Decimal おそらく科学的表記での Decimal 値の文字列表現。
Boolean "true" または "false"。すべて小文字。
String 元の値。
配列 JSON にシリアル化された Array。結果として生じる文字列は、角括弧で囲まれたカンマ区切りリストです。String は引用符で囲まれます。DecimalIntBooleanNull は引用符で囲まれません。
オブジェクト JSON にシリアル化されたオブジェクト。結果として生じる文字列は、キーと値のペアのカンマ区切りリストで、中括弧で開始し、終了します。String は引用符で囲まれます。DecimalIntBooleanNull は引用符で囲まれません。
Null Undefined.
未定義 未定義。