Functions - AWS(AWS) IoT コア

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

Functions

SQL 式の SELECT 句または WHERE 句では、以下の組み込み関数を使用できます。

abs(10 進数)

数値の絶対値を返します。SQL バージョン 2015-10-08 以降でサポートされています。

例: abs(-5) は5を返します。

引数の型 結果
Int Int、引数の絶対値。
Decimal Decimal、引数の絶対値。
Boolean Undefined.
String Decimal. 結果は、引数の絶対値です。文字列が変換できない場合、結果は Undefined です。
配列 Undefined.
オブジェクト Undefined.
Null Undefined.
未定義 Undefined.

accountid()

このルールを String. SQL バージョン 2015-10-08 以降でサポートされています。

例:

accountid() = "123456789012"

acos(10 進数)

ラジアン単位の数字の逆コサインを返します。Decimal 引数は、関数の適用前に倍精度に丸められます。SQL バージョン 2015-10-08 以降でサポートされています。

例: acos(0) = 1.5707963267948966

引数の型 結果
Int Decimal (倍精度で)、引数の逆コサイン。仮想上の結果は、Undefined として返されます。
Decimal Decimal (倍精度で)、引数の逆コサイン。仮想上の結果は、Undefined として返されます。
Boolean Undefined.
String Decimal、引数の逆コサイン。文字列を変換できない場合、結果は Undefined. 想像上の結果は次のように返されます。 Undefined.
配列 Undefined.
オブジェクト Undefined.
Null Undefined.
未定義 Undefined.

asin(10 進数)

ラジアン単位の数字の逆サインを返します。Decimal 引数は、関数の適用前に倍精度に丸められます。SQL バージョン 2015-10-08 以降でサポートされています。

例: asin(0) = 0.0

引数の型 結果
Int Decimal (倍精度で)、引数の逆サイン。仮想上の結果は、Undefined として返されます。
Decimal Decimal (倍精度で)、引数の逆サイン。仮想上の結果は、Undefined として返されます。
Boolean Undefined.
String Decimal (倍精度で)、引数の逆サイン。文字列を変換できない場合、結果は Undefined. 想像上の結果は次のように返されます。 Undefined.
配列 Undefined.
オブジェクト Undefined.
Null Undefined.
未定義 Undefined.

atan(10 進数)

数値の逆タンジェントをラジアン単位で返します。Decimal 引数は、関数の適用前に倍精度に丸められます。SQL バージョン 2015-10-08 以降でサポートされています。

例: atan(0) = 0.0

引数の型 結果
Int Decimal (倍精度で)、引数の逆タンジェント。仮想上の結果は、Undefined として返されます。
Decimal Decimal (倍精度で)、引数の逆タンジェント。仮想上の結果は、Undefined として返されます。
Boolean Undefined.
String Decimal、引数の逆タンジェント。文字列を変換できない場合、結果は Undefined. 想像上の結果は次のように返されます。 Undefined.
配列 Undefined.
オブジェクト Undefined.
Null Undefined.
未定義 Undefined.

atan2(10 進数、10 進数)

正の X 軸と 2 つの引数で定義された点 (x、y) の間の角度をラジアンで返します。 角度は、反時計方向の角度(上半分平面、y > 0)は正、時計回りの角度(下半分平面、y < 0)は負です。Decimal 引数は、関数の適用前に倍精度に丸められます。SQL バージョン 2015-10-08 以降でサポートされています。

例: atan2(1, 0) = 1.5707963267948966

引数の型 引数の型 結果
Int/Decimal Int/Decimal Decimal (倍精度で)、X 軸と指定した点 (x、y) の間の角度。
Int/Decimal/String Int/Decimal/String Decimal、示された点の逆タンジェント。文字列が変換できない場合、結果は Undefined です。
その他の値 その他の値 Undefined.

aws_lambda(functionArn, inputJson)

Lambda をラムダ関数に渡して指定された inputJson 関数を呼び出し、Lambda 関数で生成された JSON を返します。

Arguments
引数 説明
functionArn

呼び出す Lambda 関数の ARN。Lambda 関数は JSON データを返す必要があります。

inputJson

Lambda 関数に渡される JSON 入力です。

指定された AWS IoT 関数を呼び出すには、lambda:InvokeFunction Lambda の権限を付与する必要があります。次の例は、AWS CLI を使用して lambda:InvokeFunction 権限を付与する方法を示しています。

aws lambda add-permission --function-name "function_name" --region "region" --principal iot.amazonaws.com --source-arn arn:aws:iot:us-east-1:account_id:rule/rule_name --source-account "account_id" --statement-id "unique_id" --action "lambda:InvokeFunction"

以下は、add-permission コマンドの引数です。

--function-name

名 Lambda 機能。機能のリソース ポリシーを更新するための新しい権限を追加します。

--region

アカウントの AWS リージョン。

--principal

アクセス権限を取得するプリンシパル。iot.amazonaws.com 関数を呼び出すアクセス権限を AWS IoT に付与する場合は、Lambda を指定する必要があります。

--source-arn

ルールの ARN。[ get-topic-rule AWS CLI ルールのARNを取得するコマンド。

--source-account

ルールを定義している AWS アカウント。

--statement-id

一意のステートメント ID。

--action

[ Lambda アクションをこのステートメントで許可します。AWS IoT が Lambda 関数を呼び出せるようにするには、lambda:InvokeFunction を指定します。

重要

ソース ARN を指定せずに AWS IoT プリンシパルにアクセス許可を追加した場合、Lambda アクションを使用してルールを作成するすべての AWS アカウントはルールをトリガーして、AWS IoT から Lambda 関数を呼び出せます。詳細については、「Lambda のアクセス権限モデル」を参照してください。

次のような JSON メッセージペイロードがあるとします。

{ "attribute1": 21, "attribute2": "value" }

[ aws_lambda 関数は、 Lambda 機能する。

SELECT aws_lambda("arn:aws:lambda:us-east-1:account_id:function:lambda_function", {"payload":attribute1}) as output FROM 'topic-filter'

完全なMQTTメッセージペイロードを渡す場合は、次の例のように「*」を使用してJSONペイロードを指定できます。

SELECT aws_lambda("arn:aws:lambda:us-east-1:account_id:function:lambda_function", *) as output FROM 'topic-filter'

payload.inner.element トピック「トピック/サブトピック」で公開されたメッセージからデータを選択します。

some.value は、Lambda 関数によって生成された出力からデータを選択します。

注記

ルールエンジンは、次の実行期間を制限します。 Lambda 機能。 Lambda ルールからの関数呼び出しは、2000 ミリ秒以内に完了する必要があります。

bitand(Int、Int)

2 つの Int (-converted) 引数のビット表現におけるビット単位の AND を実行します。SQL バージョン 2015-10-08 以降でサポートされています。

例: bitand(13, 5) = 5

引数の型 引数の型 結果
Int Int Int、2 つの引数のビット単位の AND。
Int/Decimal Int/Decimal Int、2 つの引数のビット単位の AND。すべての非Int は、最も近い数字に切り捨てられます。 Int. いずれかの引数を Int、結果は Undefined.
Int/Decimal/String Int/Decimal/String Int、2 つの引数のビット単位の AND。すべての文字列は小数点に変換され、最も近い値に切り捨てられます。 Int. 変換が失敗した場合、結果は Undefined.
その他の値 その他の値 Undefined.

bitor(Int、Int)

2 つの引数のビット表現のビット単位の OR を実行します。SQL バージョン 2015-10-08 以降でサポートされています。

例: bitor(8, 5) = 13

引数の型 引数の型 結果
Int Int Int、2 つの引数のビット単位の OR。
Int/Decimal Int/Decimal Int、2 つの引数のビット単位の OR。すべての非Int は、最も近い数字に切り捨てられます。 Int. 変換が失敗した場合、結果は Undefined.
Int/Decimal/String Int/Decimal/String Int、2 つの引数におけるビット単位の OR。すべての文字列は小数に変換され、最も近い値に切り捨てられます。 Int. 変換が失敗した場合、結果は Undefined.
その他の値 その他の値 Undefined.

bitxor(Int、Int)

2 つの Int (-converted) 引数のビット表現におけるビット単位の XOR を実行します。SQL バージョン 2015-10-08 以降でサポートされています。

例: bitor(13, 5) = 8

引数の型 引数の型 結果
Int Int Int、2 つの引数におけるビット単位の XOR。
Int/Decimal Int/Decimal Int、2 つの引数におけるビット単位の XOR。非 Int 数は、最も近い Int に切り下げられます。
Int/Decimal/String Int/Decimal/String Int2 つの引数のビット単位の XOR。文字列は小数に変換され、最も近い値に切り捨てられます。 Int. 変換に失敗すると、結果は Undefined.
その他の値 その他の値 Undefined.

bitnot(Int)

Int (-converted) 引数のビット表現におけるビット単位の NOT を実行します。SQL バージョン 2015-10-08 以降でサポートされています。

例: bitnot(13) = 2

引数の型 結果
Int Int、引数のビット単位の NOT。
Decimal Int、引数のビット単位の NOT。Decimal の値は、最も近い Int に切り下げられます。
String Int、引数のビット単位の NOT。文字列は小数に変換され、最も近い値に切り捨てられます。 Int. 変換に失敗すると、結果は Undefined.
その他の値 その他の値。

cast()

値を 1 つのデータ型から別のデータ型へ変換します。cast は通常の変換と同様に動作し、数値をブールへ/からキャストする追加機能があります。次の場合: AWS IoT は、あるタイプを別のタイプにキャストする方法を決定できません。結果は、 Undefined. SQL バージョン 2015-10-08 以降でサポートされています。形式: キャスト(value として type).

例:

cast(true as Decimal) = 1.0

cast を呼び出す際、次のキーワードが「as」の後に表示される場合があります。

SQL バージョン 2015-10-08 および 2016-03-23 向け
キーワード 結果
Decimal 値を Decimal へキャストします。
Bool 値を Boolean へキャストします。
Boolean 値を Boolean へキャストします。
String 値を String へキャストします。
Nvarchar 値を String へキャストします。
テキスト 値を String へキャストします。
Ntext 値を String へキャストします。
varchar 値を String へキャストします。
Int 値を Int へキャストします。
Integer 値を Int へキャストします。
さらに、SQL バージョン 2016-03-23 向け
キーワード 結果
Decimal 値を Decimal へキャストします。
Bool 値を Boolean へキャストします。
Boolean 値を Boolean へキャストします。

キャストのルール:

Decimal へのキャスト
引数の型 結果
Int 小数点のない Decimal
Decimal ソース値。
Boolean true = 1.0, false = 0.0.
String 文字列を Decimal として解析しようとします。AWS IoT は、正規表現 (^-?\d+(\.\d+)?((?i)E-?\d+)?$) と一致する文字列を解析するよう試みます。「0」、「-1.2」、「5E-12」は、小数に自動的に変換される文字列の例です。
配列 Undefined.
オブジェクト Undefined.
Null Undefined.
未定義 Undefined.
Int へのキャスト
引数の型 結果
Int ソース値。
Decimal 最も近い Int へ切り下げられたソース値。
Boolean true = 1.0, false = 0.0.
String 文字列を Decimal として解析しようとします。AWS IoT は、正規表現 (^-?\d+(\.\d+)?((?i)E-?\d+)?$) と一致する文字列を解析するよう試みます。「0」「-1.2」「5E-12」はすべて自動的に小数に変換される文字列の例です。AWS IoT は文字列を Decimal に変換するよう試み、最も近い Int へ切り下げます。
配列 Undefined.
オブジェクト Undefined.
Null Undefined.
未定義 Undefined.
Boolean へのキャスト
引数の型 結果
Int 0 = False, any_nonzero_value = True.
Decimal 0 = False, any_nonzero_value = True.
Boolean ソース値。
String "true" = True および "false" = False (大文字小文字の区別なし)。その他の文字列値 = Undefined
配列 Undefined.
オブジェクト Undefined.
Null Undefined.
未定義 Undefined.
String へのキャスト
引数の型 結果
Int Int の文字列表現、標準表記。
Decimal おそらく科学的表記での Decimal 値の文字列表現。
Boolean 「true」または「false」、すべて小文字。
String "true"=True および "false"=False (大文字小文字の区別なし)。その他の文字列値 = Undefined
配列 JSON へシリアル化された配列。結果文字列は、角かっこで囲まれたコンマ区切りのリストです。String が引用されています。DecimalInt、および Boolean ありません。
オブジェクト JSON にシリアル化されたオブジェクト。JSON 文字列は、キーと値のペアをコンマで区切ったリストで、先頭と末尾が中かっこで囲まれます。String が引用されています。DecimalIntBoolean、および Null ありません。
Null Undefined.
未定義 Undefined.

ceil(10 進数)

与えられた値を丸めます Decimal 最も近い Int. SQL バージョン 2015-10-08 以降でサポートされています。

例:

ceil(1.2) = 2

ceil(-1.2) = -1

引数の型 結果
Int Int、引数値。
Decimal Int、最も近い Decimal へ切り上げられたInt 値。
String Int. 文字列が変換されます。 Decimal 端数を切り上げて Int. 文字列を Decimal、結果は Undefined.
その他の値 Undefined.

chr(文字列)

指定の Int 引数に対応する ASCII 文字を返します。SQL バージョン 2015-10-08 以降でサポートされています。

例:

chr(65) = "A".

chr(49) = 「1」。

引数の型 結果
Int 指定された ASCII 値に対応する文字。引数が有効な ASCII 値でない場合、結果は Undefined です。
Decimal 指定された ASCII 値に対応する文字。[ Decimal 引数は最も近い値に切り捨てられます。 Int. 引数が有効な ASCII 値でない場合、結果は です。 Undefined.
Boolean Undefined.
String [ StringDecimalは、最も近い値に切り捨てられます。 Int. 引数が有効な ASCII 値でない場合、結果は です。 Undefined.
配列 Undefined.
オブジェクト Undefined.
Null Undefined.
その他の値 Undefined.

clientid()

メッセージを送信している MQTT クライアントの ID を返すか、または、メッセージが MQTT クライアント経由で送られていない場合は、n/a を返します。SQL バージョン 2015-10-08 以降でサポートされています。

例:

clientid() = "123456789012"

concat()

配列または文字列を連結します。この関数は任意の数の引数を受け入れ、 String または Array. SQL バージョン 2015-10-08 以降でサポートされています。

例:

concat() = Undefined.

concat(1) = 「1」。

concat([1, 2, 3], 4) = [1, 2, 3, 4].

concat([1, 2, 3], "hello") = [1, 2, 3, "hello"]

concat("con", "cat") = "concat"

concat(1, "hello") = "1hello"

concat("he","is","man") = "heisman"

concat([1, 2, 3], "hello", [4, 5, 6]) = [1, 2, 3, "hello", 4, 5, 6]

引数の数 結果
0 Undefined.
1 引数は変更されずに返されます。
2+

引数が Array の場合、結果はすべての引数を含む 1 つの配列です。どの引数も配列ではなく、少なくとも 1 つの引数が String の場合、結果はすべての引数の String 表現の連結です。引数は、上のリストにある標準変換を使用して、文字列に変換されます。

.

cos(10 進数)

ラジアン単位の数字のコサインを返します。Decimal 引数は、関数の適用前に倍精度に丸められます。SQL バージョン 2015-10-08 以降でサポートされています。

例:

cos(0) = 1。

引数の型 結果
Int Decimal (倍精度で)、引数のコサイン。仮想上の結果は、Undefined として返されます。
Decimal Decimal (倍精度で)、引数のコサイン。仮想上の結果は、Undefined として返されます。
Boolean Undefined.
String Decimal (倍精度で)、引数のコサイン。文字列を Decimal、結果は Undefined. 想像上の結果は次のように返されます。 Undefined.
配列 Undefined.
オブジェクト Undefined.
Null Undefined.
未定義 Undefined.

cosh(10 進数)

ラジアン単位の数字の双曲線余弦を返します。Decimal 引数は、関数の適用前に倍精度に丸められます。SQL バージョン 2015-10-08 以降でサポートされています。

例: cosh(2.3) = 5.037220649268761。

引数の型 結果
Int Decimal (倍精度で)、引数のハイパーボリックコサイン。仮想上の結果は、Undefined として返されます。
Decimal Decimal (倍精度で)、引数のハイパーボリックコサイン。仮想上の結果は、Undefined として返されます。
Boolean Undefined.
String Decimal (倍精度で)、引数のハイパーボリックコサイン。文字列を Decimal、結果は Undefined. 想像上の結果は次のように返されます。 Undefined.
配列 Undefined.
オブジェクト Undefined.
Null Undefined.
未定義 Undefined.

decode(値, decodingScheme)

[ decode エンコードされた値をデコードする関数。デコードされた文字列が JSON ドキュメントの場合、アドレス指定可能なオブジェクトが返されます。それ以外の場合は、デコードされた文字列が文字列として返されます。文字列がデコードできない場合、関数は NULL を返します。

SQL バージョン 2016-03-23 以降でサポートされています。

value

文字列値または で定義されているいずれかの有効な式 AWS IoT SQL リファレンス文字列を返します。

デコードスキームデコード:ケッセイ

値をデコードするために使用されるスキームを表すリテラル文字列。現在は、'base64' のみがサポートされます。

Example

この例では、メッセージペイロードにエンコードされた値が含まれます。

{ encoded_temp: "eyAidGVtcGVyYXR1cmUiOiAzMyB9Cg==" }

[ decode この SQL ステートメントの関数は、メッセージ ペイロード内の値をデコードします。

SELECT decode(encoded_temp,"base64").temperature AS temp from 'topic/subtopic'

を解読する encoded_temp 値は、次の有効なJSONドキュメントの結果になります。これにより、SELECTステートメントが温度値を読み取ることができます。

{ "temperature": 33 }

この例の SELECT ステートメントの結果がここに表示されます。

{ "temp": 33 }

デコードされた値が有効な JSON ドキュメントでなかった場合、デコードされた値は文字列として返されます。

エンコード(値、 encodingScheme)

エンコードスキームに基づいて、ペイロード (非 JSON データの場合もある) を文字列表現にエンコードするには、encode 関数を使用します。SQL バージョン 2016-03-23 以降でサポートされています。

value

AWS IoT SQL リファレンス で定義されている任意の有効な式。JSON 形式かどうかに関係なくペイロード全体をエンコードするには、* を指定できます。式を指定した場合は、まず評価の結果が文字列に変換され、その後でエンコードされます。

encodingScheme

使用するエンコードスキームを表すリテラル文字列。現在は、'base64' のみがサポートされます。

endswith(文字列、文字列)

Boolean を返し、最初の String 引数が 2 番目の String 引数で終わるかどうかを示します。いずれかの引数が Null 又は Undefined、結果は Undefined. SQL バージョン 2015-10-08 以降でサポートされています。

例: endswith("cat","at") = true.

引数の型 1 引数の型 2 結果
String String 最初の引数が 2 番目の引数で終わる場合は true。それ以外の場合は、false を返します。
その他の値 その他の値 両方の引数は標準変換ルールを使用して文字列に変換されます。最初の引数が 2 番目の引数で終わる場合は true。それ以外の場合は、false を返します。どちらかの引数が Null または Undefined の場合、結果は Undefined です。

exp(10 進数)

e を に返します。 Decimal 引数。Decimal 引数は、関数の適用前に倍精度に丸められます。SQL バージョン 2015-10-08 以降でサポートされています。

例: exp(1) = e.

引数の型 結果
Int Decimal (倍精度で)、e ^ 引数。
Decimal Decimal (倍精度で)、e ^ 引数。
String Decimal (倍精度で)、e ^ 引数。StringDecimal に変換できない場合、結果は Undefined です。
その他の値 Undefined.

floor(Decimal)

与えられた値を丸めます Decimal 一番近い Int. SQL バージョン 2015-10-08 以降でサポートされています。

例:

floor(1.2) = 1

floor(-1.2) = -2

引数の型 結果
Int Int、引数値。
Decimal Int、最も近い Int へ切り下げられた Decimal 値。
String Int. 文字列が変換されます。 Decimal そして、最も近い値に切り捨てられます。 Int. 文字列を Decimal、結果は Undefined.
その他の値 Undefined.

get

コレクションのような型から値を抽出します (配列、文字列、オブジェクト)。最初の引数に変換は適用されません。テーブルで説明されているように、変換は 2 番目の引数に適用されます。SQL バージョン 2015-10-08 以降でサポートされています。

例:

get(["a", "b", "c"], 1) = "b"

get({"a":"b"}, "a") = "b"

get("abc", 1) = "b"

引数の型 1 引数の型 2 結果
配列 Any Type (Int に変換) 2 番目の引数により提供される Array のゼロベースインデックスの項目 (Int に変換)。変換が失敗した場合、結果は Undefined. インデックスが Array (negativeまたは>= array.length)の場合、結果は Undefined.
文字列 Any Type (Int に変換) 2 番目の引数により提供される文字列のゼロベースインデックスの文字 (Int に変換)。変換が失敗した場合、結果は Undefined. インデックスが文字列の範囲外にある場合(negativeまたは>= string.length)、結果は Undefined.
オブジェクト String (変換の適用なし) 2 番目の引数として提供される文字列キーに対応する最初の引数のオブジェクトに保存されている値。
その他の値 任意の値 Undefined.

get_dynamodb(tableName, partitionKeyName, partitionKeyValue, sortKeyName, sortKeyValue, roleArn)

からデータを取得します。 DynamoDB テーブル。get_dynamodb() では、 DynamoDB 規則が評価される間、表。DynamoDB から取得したデータを使用して、メッセージペイロードをフィルタリングまたは拡張できます。SQL バージョン 2016-03-23 以降でサポートされています。

get_dynamodb() には以下のパラメータがあります。

tableName

クエリを実行する DynamoDB テーブルの名前。

partitionKeyName

パーティションキーの名前。詳細については、「DynamoDB キー」を参照してください。

partitionKeyValue

レコードを識別するために使用されるパーティションキーの値。詳細については、「DynamoDB キー」を参照してください。

sortKeyName

(オプション)ソートキーの名前。このパラメータは、クエリされた DynamoDB テーブルが複合キーを使用する場合にのみ必要です。詳細については、「DynamoDB キー」を参照してください。

sortKeyValue

(オプション)ソート・キーの値。このパラメータは、クエリされた DynamoDB テーブルが複合キーを使用する場合にのみ必要です。詳細については、「DynamoDB キー」を参照してください。

roleArn

DynamoDB テーブルへのアクセスを付与する IAM ロール のARN。ルールエンジンは、ユーザーに代わって DynamoDB テーブルにアクセスするためにこのロールを引き受けます。過度に許容されるロールの使用は避けてください。ルールで必要なアクセス許可のみをロールに付与します。次に、1 つの DynamoDB テーブルへのアクセスを許可するポリシーの例を示します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dynamodb:GetItem", "Resource": "arn:aws:dynamodb:aws-region:account-id:table/table-name" } ] }}

get_dynamodb() の使用方法の例として、AWS IoT に接続されているすべてのデバイスのデバイス ID と位置情報を含む DynamoDB テーブルがあるとします。次の SELECT 文は、 get_dynamodb() 関数を使用して、指定したデバイス ID の場所を取得します。

SELECT *, get_dynamodb("InServiceDevices", "deviceId", id, "arn:aws:iam::12345678910:role/getdynamo").location AS location FROM 'some/topic'

注記
  • 1 つの SQL 文につき最大 1 回 get_dynamodb() を呼び出すことができます。1 つの SQL 文で get_dynamodb() 複数回呼び出すと、アクションを呼び出さずにルールが終了します。

  • get_dynamodb() が 8 KB を超えるデータを返す場合、ルールのアクションは呼び出されないことがあります。

get_thing_shadow(thingName、 shadowName, roleARN)

指定されたモノの指定されたシャドウを返します。SQL バージョン 2016-03-23 以降でサポートされています。

thingName

文字列: シャドウを取得するオブジェクトの名前。

shadowName

(オプション)文字列: シャドウの名前。このパラメータは、名前の付きのシャドウを参照する場合にのみ必要です。

roleArn

文字列: ARNの役割 iot:GetThingShadow 許可。

例:

名前付きシャドウとともに使用する場合は、shadowName パラメータを指定します。

SELECT * from 'topic/subtopic' WHERE get_thing_shadow("MyThing","MyThingShadow","arn:aws:iam::123456789012:role/AllowsThingShadowAccess") .state.reported.alarm = 'ON'

名前のないシャドウとともに使用する場合は、shadowName パラメータを省略します。

SELECT * from 'topic/subtopic' WHERE get_thing_shadow("MyThing","arn:aws:iam::123456789012:role/AllowsThingShadowAccess") .state.reported.alarm = 'ON'

ハッシュ関数

AWS IoT は次のハッシュ関数を提供します。

  • md2

  • md5

  • sha1

  • sha224

  • sha256

  • sha384

  • sha512

1 つの文字列引数を除くすべてのハッシュ関数。結果はその文字列のハッシュ値です。標準文字列変換は非文字列引数に適用されます。すべてのハッシュ関数は、SQL バージョン 2015-10-08 以降でサポートされます。

例:

md2("hello") = "a9046c73e00331af68917d3804f70655"

md5("hello") = "5d41402abc4b2a76b9719d911017c592"

indexof(文字列、文字列)

最初の引数のサブ文字列として、2 番目の引数の最初のインデックス (ゼロベース) を返します。両方の引数は文字列であることが期待されます。文字列ではない引数は、標準文字列変換ルールに従います。この関数は、配列にではなく、文字列にのみ適用されます。SQL バージョン 2016-03-23 以降でサポートされています。

例:

indexof("abcd", "bc") = 1

isNull()

引数が Null 値である場合は true を返します。SQL バージョン 2015-10-08 以降でサポートされています。

例:

isNull(5) = false.

isNull(Null) = true.

引数の型 結果
Int false
Decimal false
Boolean false
String false
Array false
Object false
Null true
Undefined false

isUndefined()

引数が の場合、true を返します。 Undefined. SQL バージョン 2016-03-23 以降でサポートされています。

例:

isUndefined(5) = false.

isUndefined(floor([1,2,3]))) = true.

引数の型 結果
Int false
Decimal false
Boolean false
String false
Array false
Object false
Null false
Undefined true

length(文字列)

指定された文字列の文字数を返します。標準変換ルールは、非 String 引数に適用されます。SQL バージョン 2016-03-23 以降でサポートされています。

例:

length("hi") = 2

length(false) = 5

ln(10 進数)

引数の自然対数を返します。Decimal 引数は、関数の適用前に倍精度に丸められます。SQL バージョン 2015-10-08 以降でサポートされています。

例: ln(e) = 1。

引数の型 結果
Int Decimal (倍精度で)、引数の自然対数。
Decimal Decimal (倍精度で)、引数の自然対数。
Boolean Undefined.
String Decimal (倍精度で)、引数の自然対数。文字列が Decimal に変換できない場合、結果は Undefined です。
配列 Undefined.
オブジェクト Undefined.
Null Undefined.
未定義 Undefined.

log(10 進数)

引数のベース 10 の対数を返します。Decimal 引数は、関数の適用前に倍精度に丸められます。SQL バージョン 2015-10-08 以降でサポートされています。

例: log(100) = 2.0。

引数の型 結果
Int Decimal (倍精度で)、引数の 10 を底とした対数。
Decimal Decimal (倍精度で)、引数の 10 を底とした対数。
Boolean Undefined.
String Decimal (倍精度で)、引数の 10 を底とした対数。StringDecimal に変換できない場合、結果は Undefined です。
配列 Undefined.
オブジェクト Undefined.
Null Undefined.
未定義 Undefined.

lower(文字列)

指定の の小文字バージョンを返します。 String. 非文字列引数は、標準の変換ルールを使用して文字列に変換されます。SQL バージョン 2015-10-08 以降でサポートされています。

例:

lower("HELLO") = "hello"。

lower(["HELLO"]) = "[\"hello\"]"。

lpad(文字列、Int)

2 番目の引数で指定された数のスペースを左詰めにした String 引数を返します。Int 引数は、0 ~ 1000 の間である必要があります。提供された値がこの有効な範囲の外にある場合は、引数は最も近い有効な値に設定されます (0 または 1000)。SQL バージョン 2015-10-08 以降でサポートされています。

例:

lpad("hello", 2) = " hello"。

lpad(1, 3) = "1"

引数の型 1 引数の型 2 結果
String Int String、提供された String と同じ数のスペースを左詰めにして提供された Int
String Decimal Decimal 引数は最も近い Int に切り下げられ、String には指定された数のスペースを左詰めにします。
String String 2 番目の引数は Decimal に変換され、最も近い Int に切り下げられます。また、String には指定された数のスペースが左詰めにされます。2 番目の引数が Int に変換できない場合、結果は Undefined です。
その他の値 Int/Decimal/String 最初の値は String 標準変換を使用して、LPAD関数を String. 変換できない場合、結果は Undefined.
任意の値 その他の値 Undefined.

ltrim(文字列)

付属の からすべての先頭の空白スペース (タブとスペース) を削除します。 String. SQL バージョン 2015-10-08 以降でサポートされています。

例:

Ltrim(" h i ") = "hi "。

引数の型 結果
Int 先頭の空白がすべて削除された StringInt 表現。
Decimal 先頭の空白がすべて削除された StringDecimal 表現。
Boolean 先頭の空白がすべて削除されたブール (「true」または「false」) の String 表現。
String 先頭の空白がすべて削除された引数。
配列 先頭の空白がすべて削除された ArrayString 表現 (標準変換ルールを使用)。
オブジェクト 先頭の空白がすべて削除されたオブジェクトの String 表現 (標準変換ルールを使用)。
Null Undefined.
未定義 Undefined.

machinelearning_predict(modelId)

machinelearning_predict (Amazon Machine Learning) モデルに基づいて、MQTT メッセージからのデータを使用して予測を行うには、Amazon ML 関数を使用します。SQL バージョン 2015-10-08 以降でサポートされています。machinelearning_predict 関数の引数は次のとおりです。

modelId

予測を実行する対象となるモデルの ID。このモデルのリアルタイムエンドポイントを有効にしておく必要があります。

roleArn

IAM アクセス権限および machinelearning:Predict アクセス権限を許可するポリシーが指定され、予測を実行する対象となるモデルへのアクセスを許可する machinelearning:GetMLModel ロール。

record

Amazon ML Predict API に渡されるデータ。単一レイヤーの JSON オブジェクトとして表す必要があります。record が複数レベルの JSON オブジェクトの場合は、値のシリアル化によって平坦化されます。たとえば、次の JSON の場合:

{ "key1": {"innerKey1": "value1"}, "key2": 0}

次のようになります。

{ "key1": "{\"innerKey1\": \"value1\"}", "key2": 0}

この関数では、次のフィールドを持つ JSON オブジェクトが返されます。

predictedLabel

モデルに基づく入力の区分。

details

次の属性が含まれています。

PredictiveModelType

モデルのタイプ。有効な値は、REGRESSION、BINARY、MULTICLASS です。

Algorithm

予測を行うために Amazon ML で使用されるアルゴリズム。この値は SGD にする必要があります。

predictedScores

各ラベルに対応する、未加工の分類スコアを格納します。

predictedValue

Amazon ML によって予測された値。

mod(10 進数、10 進数)

最初の引数を 2 番目の引数で割ったときの剰余を返します。これは「remainder(Decimal, Decimal)」と同等です。同じモジュロ機能に挿入演算子として「%」も使用できます。SQL バージョン 2015-10-08 以降でサポートされています。

例: mod(8, 3) = 2.

左のオペランド 右のオペランド 出力
Int Int Int、最初の引数を 2 番目の引数で割ったときの剰余。
Int/Decimal Int/Decimal Decimal、最初の引数を 2 番目のオペランドで割ったときの剰余。
String/Int/Decimal String/Int/Decimal すべての文字列を小数に変換した場合、結果は、最初の引数を 2 番目の引数で割ったときの剰余です。そうでない場合は、Undefined です。
その他の値 その他の値 Undefined.

nanvl(AnyValue, AnyValue)

有効な場合、最初の引数を返します。 Decimal. それ以外の場合は、2 番目の引数が返されます。SQL バージョン 2015-10-08 以降でサポートされています。

例: Nanvl(8, 3) = 8.

引数の型 1 引数の型 2 出力
未定義 任意の値 2 番目の引数。
Null 任意の値 2 番目の引数。
Decimal (NaN) 任意の値 2 番目の引数。
Decimal ( NaN) 任意の値 最初の引数。
その他の値 任意の値 最初の引数。

newuuid()

16 バイトのランダムな UUID を返します。SQL バージョン 2015-10-08 以降でサポートされています。

例: newuuid() = 123a4567-b89c-12d3-e456-789012345000

numbytes(文字列)

指定された文字列の UTF-8 エンコードのバイト数を返します。標準変換ルールは、非 String 引数に適用されます。SQL バージョン 2016-03-23 以降でサポートされています。

例:

numbytes("hi") = 2

numbytes("€") = 3

parse_time(String、Long[、String])

parse_time 機能を使用して、タイムスタンプを人間が判読可能な日付/時刻形式にフォーマットします。SQL バージョン 2016-03-23 以降でサポートされています。タイムスタンプ文字列をミリ秒に変換するには、以下を参照してください。 time_to_epoch(文字列、文字列).

[ parse_time 関数は、次の引数を求めます。

pattern

(文字列) ISO 8601(ISO 8601) 標準フォーマット。具体的には、この関数は、 Joda-Time 形式.

タイムスタンプ

(ロング) Unix エポックからミリ秒単位でフォーマットされる時間。関数「timestamp()」を参照してください。

timezone

(文字列)フォーマットされた日付/時刻のタイムゾーン。デフォルトは「UTC」です。この関数は、「Joda-Time のタイムゾーン」をサポートしています。この引数はオプションです。

例:

このメッセージがトピック「A/B」に公開されると、ペイロード {"ts": "1970.01.01 AD at 21:46:40 CST"} が S3 バケットに送信されます。

{ "ruleArn": "arn:aws:iot:us-east-2:ACCOUNT_ID:rule/RULE_NAME", "topicRulePayload": { "sql": "SELECT parse_time("yyyy.MM.dd G 'at' HH:mm:ss z", 100000000, "America/Belize" ) as ts FROM 'A/B'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "s3": { "roleArn": "arn:aws:iam::ACCOUNT_ID:rule:role/ROLE_NAME", "bucketName": "BUCKET_NAME", "key": "KEY_NAME" } } ], "ruleName": "RULE_NAME" } }

このメッセージがトピック「A/B」に公開されると、{"ts": "2017.06.09 AD at 17:19:46 UTC"} (ただし、現在の日付/時刻) と同様のペイロードが S3 バケットに送信されます。

{ "ruleArn": "arn:aws:iot:us-east-2:ACCOUNT_ID:rule/RULE_NAME", "topicRulePayload": { "sql": "SELECT parse_time("yyyy.MM.dd G 'at' HH:mm:ss z", timestamp() ) as ts FROM 'A/B'", "awsIotSqlVersion": "2016-03-23", "ruleDisabled": false, "actions": [ { "s3": { "roleArn": "arn:aws:iam::ACCOUNT_ID:rule:role/ROLE_NAME", "bucketName": "BUCKET_NAME", "key": "KEY_NAME" } } ], "ruleName": "RULE_NAME" } }

parse_time() は、置換テンプレートとしても使用できます。たとえば、このメッセージがトピック「A/B」に公開されると、ペイロードは S3 バケットに key = 「2017」で送信されます。

{ "ruleArn": "arn:aws:iot:us-east-2:ACCOUNT_ID:rule/RULE_NAME", "topicRulePayload": { "sql": "SELECT * FROM 'A/B'", "awsIotSqlVersion": "2016-03-23", "ruleDisabled": false, "actions": [ { "s3": { "roleArn": "arn:aws:iam::ACCOUNT_ID:rule:role/ROLE_NAME", "bucketName": BUCKET_NAME, "key": "${parse_time("yyyy", timestamp(), "UTC")}" } } ], "ruleName": "RULE_NAME" } }

power(10 進数、10 進数)

第 2 引数に生成された第 1 引数を返します。Decimal 引数は、関数の適用前に倍精度に丸められます。SQL バージョン 2015-10-08 以降でサポートされています。SQL バージョン 2015-10-08 以降でサポートされています。

例: power(2, 5) = 32.0。

引数の型 1 引数の型 2 出力
Int/Decimal Int/Decimal Decimal(倍精度で)、最初の引数を 2 番目の引数の累乗にします。
Int/Decimal/String Int/Decimal/String Decimal(倍精度で)、最初の引数を 2 番目の引数の累乗にします。すべての文字列は小数に変換されます。いずれかの StringDecimal への変換に失敗したら、結果は Undefined です。
その他の値 その他の値 Undefined.

principal()

トリガ メッセージが発行された方法に基づいて、デバイスが認証に使用するプリンシパルを返します。次の表は、発行方法とプロトコルごとに返されるプリンシパルについて説明しています。

メッセージの公開方法 プロトコル 認証情報のタイプ プリンシパル
MQTT クライアント MQTT X.509 デバイス証明書 X.509 証明書のサムプリント
AWS IoT コンソール MQTT クライアント MQTT IAM ユーザーまたはロール iam-role-id:session-name
AWS CLI HTTP IAM ユーザーまたはロール userid
AWS IoT Device SDK MQTT X.509 デバイス証明書 X.509 証明書のサムプリント
AWS IoT Device SDK MQTTオーバー WebSocket IAM ユーザーまたはロール userid

次の例は、 principal() 以下を返却できます:

  • X.509 証明書のサムプリント: ba67293af50bf2506f5f93469686da660c7c844e7b3950bfb16813e0d31e9373

  • IAM ロール ID とセッション名 : ABCD1EFG3HIJK2LMNOP5:my-session-name

  • ユーザーIDを返します: ABCD1EFG3HIJK2LMNOP5

rand()

0.0 から 1.0 までの間で疑似ランダムで、均等に分散された倍を返します。SQL バージョン 2015-10-08 以降でサポートされています。

例:

rand() = 0.8231909191640703

regexp_matches(文字列、文字列)

文字列 (最初の引数) に、正規表現 (2 番目の引数) の一致が含まれている場合は、true を返します。

例:

regexp_matches("aaaa", "a{2,}") = true.

regexp_matches("aaaa", "b") = false.

最初の引数:
引数の型 結果
Int StringInt 表現。
Decimal StringDecimal 表現。
Boolean ブール (「true」または「false」) の String 表現。
String String
配列 StringArray 表現 (標準変換ルールを使用)。
オブジェクト オブジェクトの String 表現 (標準変換ルールを使用)。
Null Undefined.
未定義 Undefined.

2 番目の引数:

有効な正規表現の式である必要があります。非文字列型は標準変換ルールを使用して String に変換されます。型により、結果として生じる文字列が有効な正規表現でない場合もあります。(変換された) 引数が有効な正規表現でない場合、結果は Undefined です。

regexp_replace(文字列、文字列、文字列)

最初の引数にある 2 番目の引数 (正規表現) の出現すべてを 3 番目の引数で置き換えます。「$」でキャプチャグループを参照します。SQL バージョン 2015-10-08 以降でサポートされています。

例:

regexp_replace("abcd", "bc", "x") = "axd"。

regexp_replace("abcd", "b(.*)d", "$1") = "ac".

最初の引数:
引数の型 結果
Int StringInt 表現。
Decimal StringDecimal 表現。
Boolean ブール (「true」または「false」) の String 表現。
String ソース値。
配列 StringArray 表現 (標準変換ルールを使用)。
オブジェクト オブジェクトの String 表現 (標準変換ルールを使用)。
Null Undefined.
未定義 Undefined.

2 番目の引数:

有効な正規表現の式である必要があります。非文字列型は標準変換ルールを使用して String に変換されます。型により、結果として生じる文字列が有効な正規表現でない場合もあります。(変換された) 引数が有効な正規表現でない場合、結果は Undefined です。

3 番目の引数:

有効な正規表現の置換文字列である必要があります。(キャプチャグループを参照できます。) 非文字列型は、 String 標準変換ルールを使用します。(変換された) 引数が有効な正規表現の置換文字列でない場合、結果は Undefined です。

regexp_substr(文字列、文字列)

最初のパラメータにある 2 番目のパラメータ(正規表現)の最初の一致を見つけます。「$」でキャプチャグループを参照します。SQL バージョン 2015-10-08 以降でサポートされています。

例:

regexp_substr("hihihello", "hi") = "hi"

regexp_substr("hihihello", "(hi)*") = "hihi"

最初の引数:
引数の型 結果
Int StringInt 表現。
Decimal StringDecimal 表現。
Boolean ブール (「true」または「false」) の String 表現。
String String引数。
配列 StringArray 表現 (標準変換ルールを使用)。
オブジェクト オブジェクトの String 表現 (標準変換ルールを使用)。
Null Undefined.
未定義 Undefined.

2 番目の引数:

有効な正規表現の式である必要があります。非文字列型は標準変換ルールを使用して String に変換されます。型により、結果として生じる文字列が有効な正規表現でない場合もあります。(変換された) 引数が有効な正規表現でない場合、結果は Undefined です。

3 番目の引数:

有効な正規表現の置換文字列である必要があります。(キャプチャグループを参照できます。) 非文字列型は、 String 標準変換ルールを使用します。引数が有効な正規表現の置換文字列でない場合、結果は Undefined です。

remainder(Decimal, Decimal)

最初の引数を 2 番目の引数で割ったときの剰余を返します。これは「mod(10 進数、10 進数)」と同等です。同じモジュロ機能に挿入演算子として「%」も使用できます。SQL バージョン 2015-10-08 以降でサポートされています。

例: remainder(8, 3) = 2.

左のオペランド 右のオペランド 出力
Int Int Int、最初の引数を 2 番目の引数で割ったときの剰余。
Int/Decimal Int/Decimal Decimal、最初の引数を 2 番目のオペランドで割ったときの剰余。
String/Int/Decimal String/Int/Decimal すべての文字列を小数に変換した場合、結果は、最初の引数を 2 番目の引数で割ったときの剰余です。そうでない場合は、Undefined です。
その他の値 その他の値 Undefined.

replace(String, String, String)

最初の引数にある 2 番目の引数の出現すべてを 3 番目の引数で置き換えます。SQL バージョン 2015-10-08 以降でサポートされています。

例:

replace("abcd", "bc", "x") = "axd".

replace("abcdabcd", "b", "x") = "afcdafcd".

すべての引数
引数の型 結果
Int StringInt 表現。
Decimal StringDecimal 表現。
Boolean ブール (「true」または「false」) の String 表現。
String ソース値。
配列 StringArray 表現 (標準変換ルールを使用)。
オブジェクト オブジェクトの String 表現 (標準変換ルールを使用)。
Null Undefined.
未定義 Undefined.

rpad(文字列、Int)

2 番目の引数で指定された数のスペースを右詰めにした文字列の引数を返します。Int 引数は、0 ~ 1000 の間である必要があります。提供された値がこの有効な範囲の外にある場合は、引数は最も近い有効な値に設定されます (0 または 1000)。SQL バージョン 2015-10-08 以降でサポートされています。

例:

rpad("hello", 2) = "hello "。

rpad(1, 3) = "1 "。

引数の型 1 引数の型 2 結果
String Int String は、提供された Int と同じ数のスペースを右詰めにされています。
String Decimal Decimal 引数は最も近い Int に切り下げられ、文字列は、提供された Int と同じ数のスペースを右詰めにされています。
String String 2番目の引数は、 Decimalは、最も近い値に切り捨てられます。 Int. [ String は、右側にパッド付きで、 Int 値。
その他の値 Int/Decimal/String 最初の値は String 標準変換を使用し、 String. 変換できない場合、結果は Undefined.
任意の値 その他の値 Undefined.

round(10 進数)

与えられた値を丸めます Decimal 最も近い Int. [ Decimal は、2つの Int 値(たとえば、0.5)、 Decimal 切り上げられます。SQL バージョン 2015-10-08 以降でサポートされています。

例: Round(1.2) = 1。

Round(1.5) = 2.

Round(1.7) = 2.

Round(-1.1) = -1。

Round(-1.5) = -2.

引数の型 結果
Int 引数。
Decimal Decimal は、最も近い Int に切り下げられます。
String Decimal は、最も近い値に切り捨てられます。 Int. 文字列を Decimal、結果は Undefined.
その他の値 Undefined.

rtrim(文字列)

末尾のすべての空白スペース (タブとスペース) を、 String. SQL バージョン 2015-10-08 以降でサポートされています。

例:

rtrim(" h i ") = " h i"

引数の型 結果
Int StringInt 表現。
Decimal StringDecimal 表現。
Boolean ブール (「true」または「false」) の String 表現。
配列 StringArray 表現 (標準変換ルールを使用)。
オブジェクト オブジェクトの String 表現 (標準変換ルールを使用)。
Null Undefined.
未定義 Undefined

sign(10 進数)

指定された数値の符号を返します。引数の符号が正の場合、1 を返します。引数の符号が負の場合、-1 を返します。引数が 0 の場合、0 を返します。SQL バージョン 2015-10-08 以降でサポートされています。

例:

sign(-7) = -1。

sign(0) = 0。

sign(13) = 1。

引数の型 結果
Int IntInt の値の符号。
Decimal IntDecimal の値の符号。
String IntDecimal の値の符号。文字列は Decimal の値に変換され、Decimal の値の符号が返されます。[ String を に変換できません Decimal、結果は Undefined. SQL バージョン 2015-10-08 以降でサポートされています。
その他の値 Undefined.

sin(10 進数)

数値のサインをラジアン単位で返します。Decimal 引数は、関数の適用前に倍精度に丸められます。SQL バージョン 2015-10-08 以降でサポートされています。

例: sin(0) = 0.0

引数の型 結果
Int Decimal (倍精度で)、引数のサイン。
Decimal Decimal (倍精度で)、引数のサイン。
Boolean Undefined.
String Decimal (倍精度で)、引数のサイン。文字列が Decimal に変換できない場合、結果は Undefined です。
配列 Undefined.
オブジェクト Undefined.
Null Undefined.
Undefined Undefined.

sinh(10 進数)

数値の双曲線正弦を返します。Decimal 値は、関数の適用前に倍精度に丸められます。結果は倍精度の Decimal 値です。SQL バージョン 2015-10-08 以降でサポートされています。

例: sinh(2.3) = 4.936961805545957

引数の型 結果
Int Decimal (倍精度で)、引数のハイパーボリックサイン。
Decimal Decimal (倍精度で)、引数のハイパーボリックサイン。
Boolean Undefined.
String Decimal (倍精度で)、引数のハイパーボリックサイン。文字列が Decimal に変換できない場合、結果は Undefined です。
配列 Undefined.
オブジェクト Undefined.
Null Undefined.
未定義 Undefined.

サブ文字列(文字列、整数[、整数])

1 つか 2 つの String 値が続く Int を予想します。: String 単一の Int 引数の場合、この関数は、指定された String 提供された Int インデックス(0ベース、包括的)を String. : String および2 Int 引数の場合、この関数は、指定された String 最初の Int インデックス引数(0ベース、包括的)を2番目の Int インデックス引数(0ベース、排他的)。ゼロ以下のインデックスはゼロに設定されます。String の長さを超過するインデックスは String の長さに設定されます。3 つの引数バージョンでは、最初のインデックスが 2 番目インデックスより大きい (または等しい) 場合、結果は空の String です。

 提供された引数が(String, Int)、または(String, Int, Int)、標準の変換が引数に適用され、それらを正しいタイプに変換しようとします。タイプを変換できない場合、関数の結果は になります。 Undefined. SQL バージョン 2015-10-08 以降でサポートされています。

例:

substring("012345", 0) = "012345".

substring("012345", 2) = "2345".

substring("012345", 2.745) = "2345".

substring(123, 2) = "3"。

substring("012345", -1) = "012345".

substring(true, 1.2) = "rue".

substring(false, -2.411E247) = "false".

substring("012345", 1, 3) = "12".

substring("012345", -50, 50) = "012345".

substring("012345", 3, 1) = "".

sql_version()

このルールで指定されている SQL バージョンを返します。SQL バージョン 2015-10-08 以降でサポートされています。

例:

sql_version() = "2016-03-23"

sqrt(10 進数)

数値の平方根を返します。Decimal 引数は、関数の適用前に倍精度に丸められます。SQL バージョン 2015-10-08 以降でサポートされています。

例: sqrt(9) = 3.0。

引数の型 結果
Int 引数の平方根。
Decimal 引数の平方根。
Boolean Undefined.
String 引数の平方根。文字列が Decimal に変換できない場合、結果は Undefined です。
配列 Undefined.
オブジェクト Undefined.
Null Undefined.
未定義 Undefined.

startswith(文字列、文字列)

最初の文字列引数が 2 番目の文字列引数で始まるかどうか、Boolean を返します。いずれかの引数が Null 又は Undefined、結果は Undefined. SQL バージョン 2015-10-08 以降でサポートされています。

例:

startswith("ranger","ran") = true

引数の型 1 引数の型 2 結果
String String 最初の文字列が 2 番目の文字列で始まるかどうか。
その他の値 その他の値 両方の引数は標準変換ルールを使用して文字列に変換されます。最初の文字列が 2 番目の文字列で始まる場合は true を返します。どちらかの引数が Null または Undefined の場合、結果は Undefined です。

tan(10 進数)

数値のタンジェントをラジアン単位で返します。Decimal 値は、関数の適用前に倍精度に丸められます。SQL バージョン 2015-10-08 以降でサポートされています。

例: tan(3) = -0.1425465430742778

引数の型 結果
Int Decimal (倍精度で)、引数のタンジェント。
Decimal Decimal (倍精度で)、引数のタンジェント。
Boolean Undefined.
String Decimal (倍精度で)、引数のタンジェント。文字列が Decimal に変換できない場合、結果は Undefined です。
配列 Undefined.
オブジェクト Undefined.
Null Undefined.
未定義 Undefined.

tanh(10 進数)

ラジアン単位の数字の双曲線正接を返します。Decimal 値は、関数の適用前に倍精度に丸められます。SQL バージョン 2015-10-08 以降でサポートされています。

例: tanh(2.3) = 0.GPU

引数の型 結果
Int Decimal (倍精度で)、引数のハイパーボリックタンジェント。
Decimal Decimal (倍精度で)、引数のハイパーボリックタンジェント。
Boolean Undefined.
String Decimal (倍精度で)、引数のハイパーボリックタンジェント。文字列が Decimal に変換できない場合、結果は Undefined です。
配列 Undefined.
オブジェクト Undefined.
Null Undefined.
未定義 Undefined.

time_to_epoch(文字列、文字列)

[ time_to_epoch タイムスタンプ文字列を Unix エポック時間内のミリ秒数に変換する関数。SQL バージョン 2016-03-23 以降でサポートされています。ミリ秒を書式設定されたタイムスタンプ文字列に変換するには、以下を参照してください。 parse_time(String、Long[、String]).

[ time_to_epoch 関数は、次の引数を求めます。

タイムスタンプ

(文字列)Unix エポックからミリ秒に変換されるタイムスタンプ文字列。タイムスタンプ文字列がタイムゾーンを指定しない場合、この関数は UTC タイムゾーンを使用します。

pattern

(文字列) ISO 8601(ISO 8601) 標準フォーマット。具体的には、この関数は、 Joda-Time 形式.

例:

time_to_epoch("2020-04-03 09:45:18 UTC+01:00", "yyyy-MM-dd HH:mm:ss z") = 1585903518000

time_to_epoch("18 December 2015", "dd MMMM yyyy") = 1450396800000

time_to_epoch("2007-12-03 10:15:30.592 America/Los_Angeles", "yyyy-MM-dd HH:mm:ss.SSS z") = 1196705730592

timestamp()

協定世界時 (UTC) の 1970 年 1 月 1 日 00:00:00 から、AWS IoT ルールエンジンの観測に従い、ミリ秒単位で現在のタイムスタンプを返します。SQL バージョン 2015-10-08 以降でサポートされています。

例: timestamp() = 1481825251155

topic(10 進数)

ルールをトリガーしたメッセージが送信されたトピックを返します。パラメータが指定されていない場合、トピック全体が返されます。Decimal パラメータは、特定のトピックセグメントを指定するために使用され、1 は最初のセグメントを表します。foo/bar/baz トピックでは、topic(1) は foo を返し、topic(2) は bar を返す、と続いていきます。SQL バージョン 2015-10-08 以降でサポートされています。

例:

topic() = "things/myThings/thingOne"

topic(1) = "things"

基本的な取り込みが使用されている場合、トピック ($aws/rules/rule-name) の最初のプレフィックスは topic() 関数では使用できません。たとえば、次のトピックがあるとします。

$aws/rules/BuildingManager/Buildings/Building5/Floor2/Room201/Lights

topic() = "Buildings/Building5/Floor2/Room201/Lights"

topic(3) = "Floor2"

traceid()

MQTT メッセージのトレース ID (UUID) を返すか、または、メッセージが MQTT 経由で送信されなかった場合は Undefined を返します。SQL バージョン 2015-10-08 以降でサポートされています。

例:

traceid() = "12345678-1234-1234-1234-123456789012"

trunc(10 進数、Int)

2 番目の引数で指定された Decimal の場所の数で最初の引数を切り捨てます。2 番目の引数がゼロよりより少ない場合は、ゼロに設定されます。2 番目の引数が 34 より大きい場合は、34 に設定されます。末尾のゼロは結果から省かれます。SQL バージョン 2015-10-08 以降でサポートされています。

例:

trunc(2.3, 0) = 2.

trunc(2.3123, 2) = 2.31.

trunc(2.888, 2) = 2.88.

trunc(2.00, 5) = 2.

引数の型 1 引数の型 2 結果
Int Int ソース値。
Int/Decimal Int/Decimal 最初の引数は 2 番目の引数で説明された長さに切り捨てられます。2 番目の引数は、Int でなければ、最も近い Int に切り下げられます。
Int/Decimal/String Int/Decimal 最初の引数は 2 番目の引数で説明された長さに切り捨てられます。2番目の引数(そうでない場合)は、 Intは、最も近い値に切り捨てられます。 Int. A StringDecimal 値。文字列変換が失敗した場合、結果は Undefined です。
その他の値 Undefined.

trim(文字列)

提供されている から、すべての先頭および末尾の空白を削除します。 String. SQL バージョン 2015-10-08 以降でサポートされています。

例:

Trim(" hi ") = "hi"

引数の型 結果
Int すべての先頭および末尾の空白が削除された IntString 表現。
Decimal すべての先頭および末尾の空白が削除された DecimalString 表現。
Boolean すべての先頭および末尾の空白が削除された Boolean (「true」または「false」) の String 表現。
String すべての先頭および末尾の空白が削除された String
配列 標準変換ルールを使用した StringArray 表現。
オブジェクト 標準変換ルールを使用したオブジェクトの String 表現。
Null Undefined.
未定義 Undefined.

upper(文字列)

指定の大文字バージョンを返します。 String. 非String 引数は、次に変換されます。 String 標準変換ルールを使用します。SQL バージョン 2015-10-08 以降でサポートされています。

例:

upper("hello") = "HELLO"

upper(["hello"]) = "[\"HELLO\"]"