Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Fonctions
Vous pouvez utiliser les fonctions intégrées suivantes dans les clauses SELECT ou WHERE de vos expressions SQL.
abs(Decimal)
Il renvoie la valeur absolue d'un nombre. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Par exemple, abs(-5)
renvoie 5.
Type d'argument | Résultat |
---|---|
Int |
Int , la valeur absolue de l'argument. |
Decimal |
Decimal , la valeur absolue de l'argument. |
Boolean |
Undefined . |
String |
Decimal . Le résultat est la valeur absolue de l’argument. Si la chaîne ne peut être pas convertie, le résultat est Undefined . |
Tableau | Undefined . |
Objet | Undefined . |
Null | Undefined . |
Non défini | Undefined . |
accountid()
Renvoie l'ID du compte qui possède la règle comme une valeur String
. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple :
accountid()
= "123456789012"
acos(Decimal)
Renvoie le cosinus inverse d'un nombre en radians. Les arguments Decimal
sont arrondis pour une meilleure prévision avant l'application de la fonction. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple : acos(0)
= 1,5707963267948966
Type d'argument | Résultat |
---|---|
Int |
Decimal (avec double précision), le cosinus inverse de l'argument. Des résultats imaginaires sont retournés sous la forme Undefined . |
Decimal |
Decimal (avec double précision), le cosinus inverse de l'argument. Des résultats imaginaires sont retournés sous la forme Undefined . |
Boolean |
Undefined . |
String |
Decimal , le cosinus inverse de l'argument. Si la chaîne ne peut être pas convertie, le résultat est Undefined . Des résultats imaginaires sont retournés sous la forme Undefined . |
Tableau | Undefined . |
Objet | Undefined . |
Null | Undefined . |
Non défini | Undefined . |
asin(Decimal)
Renvoie le sinus inverse d'un nombre en radians. Les arguments Decimal
sont arrondis pour une meilleure prévision avant l'application de la fonction. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple : asin(0)
= 0,0
Type d'argument | Résultat |
---|---|
Int |
Decimal (avec double précision), le sinus inverse de l'argument. Des résultats imaginaires sont retournés sous la forme Undefined . |
Decimal |
Decimal (avec double précision), le sinus inverse de l'argument. Des résultats imaginaires sont retournés sous la forme Undefined . |
Boolean |
Undefined . |
String |
Decimal (avec double précision), le sinus inverse de l'argument. Si la chaîne ne peut être pas convertie, le résultat est Undefined . Des résultats imaginaires sont retournés sous la forme Undefined . |
Tableau | Undefined . |
Objet | Undefined . |
Null | Undefined . |
Non défini | Undefined . |
atan(Decimal)
Renvoie la tangente inverse d'un nombre en radians. Les arguments Decimal
sont arrondis pour une meilleure prévision avant l'application de la fonction. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple : atan(0)
= 0,0
Type d'argument | Résultat |
---|---|
Int |
Decimal (avec double précision), la tangente inverse de l'argument. Des résultats imaginaires sont retournés sous la forme Undefined . |
Decimal |
Decimal (avec double précision), la tangente inverse de l'argument. Des résultats imaginaires sont retournés sous la forme Undefined . |
Boolean |
Undefined . |
String |
Decimal , la tangente inverse de l'argument. Si la chaîne ne peut être pas convertie, le résultat est Undefined . Des résultats imaginaires sont retournés sous la forme Undefined . |
Tableau | Undefined . |
Objet | Undefined . |
Null | Undefined . |
Non défini | Undefined . |
atan2(Decimal, Decimal)
Il renvoie l'angle en radians, entre l'axe des X positifs et le point (x, y) défini dans les deux arguments. L'angle est positif pour les angles sans le sens contraire des aiguilles d'une montre (moitié supérieure du plan, y > 0) et négatif pour les angles dans le sens des aiguilles d'une montre (moitié inférieure du plan, y < 0). Les arguments Decimal
sont arrondis pour une meilleure précision avant l'application de la fonction. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple : atan2(1, 0)
= 1,5707963267948966
Type d'argument | Type d'argument | Résultat |
---|---|---|
Int /Decimal |
Int /Decimal |
Decimal (avec double précision), l'angle entre l'axe des X et le point (x, y) spécifié. |
Int /Decimal /String |
Int /Decimal /String |
Decimal , la tangente inverse du point décrit. Si une chaîne ne peut pas être convertie, le résultat est Undefined . |
Autre valeur | Autre valeur | Undefined . |
aws_lambda(functionArn, inputJson)
Appelle la fonction Lambda spécifiée en transmettant le paramètre inputJson
à la fonction Lambda et renvoie les données JSON générées par la fonction Lambda.
Arguments | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Argument | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
functionArn |
ARN de la fonction Lambda à appeler. La fonction Lambda doit renvoyer des données JSON. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inputJson |
Données JSON en entrée transmises à la fonction Lambda. Pour transmettre des requêtes d’objets imbriqués et des littéraux, vous devez utiliser la version SQL 2016-03-23. |
Vous devez accorder AWS IoT lambda:InvokeFunction
des autorisations pour appeler la fonction Lambda spécifiée. L'exemple suivant montre comment accorder l'autorisation lambda:InvokeFunction
à l'aide de l' AWS CLI :
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"
Les arguments de la commande add-permission sont les suivants :
- --function-name
-
Nom de la fonction Lambda. Vous ajoutez une nouvelle autorisation pour mettre à jour la politique de ressources de la fonction.
- --région
-
Celui Région AWS de votre compte.
- --principal
-
Mandataire qui obtient l'autorisation. Cela devrait être
iot.amazonaws.com
pour AWS IoT autoriser l'appel d'une fonction Lambda. - --source-arn
-
ARN de la règle. Vous pouvez utiliser la get-topic-rule AWS CLI commande pour obtenir l'ARN d'une règle.
- --source-account
-
L' Compte AWS endroit où la règle est définie.
- --statement-id
-
Identifiant unique de l'instruction.
- --action
-
L’action Lambda que vous souhaitez autoriser dans cette déclaration. Pour autoriser AWS IoT à invoquer une fonction,Lambda spécifiez
lambda:InvokeFunction
.
Important
Si vous ajoutez une autorisation pour un AWS IoT principal sans fournir le source-arn
ousource-account
, toute autorisation Compte AWS
qui crée une règle avec votre action Lambda peut déclencher des règles à partir desquelles appeler votre fonction Lambda. AWS IoT Pour plus d’informations, veuillez consulter Modèle d’autorisation Lambda.
Soit une charge utile de message JSON comme suit :
{ "attribute1": 21, "attribute2": "value" }
La fonction aws_lambda
peut être utilisée pour appeler la fonction Lambda, comme suit :
SELECT aws_lambda("arn:aws:lambda:
us-east-1
:account_id
:function:lambda_function
", {"payload":attribute1}) as output FROM 'topic-filter
'
Si vous souhaitez transmettre l’intégralité de la charge utile des messages MQTT, vous pouvez spécifier la charge utile JSON en utilisant « * », comme dans l’exemple suivant.
SELECT aws_lambda("arn:aws:lambda:
us-east-1
:account_id
:function:lambda_function
", *) as output FROM 'topic-filter
'
payload.inner.element
sélectionne les données à partir des messages publiés dans la rubrique « rubrique/sous-rubrique ».
some.value
sélectionne les données à partir de la sortie générée par la fonction Lambda.
Note
Le moteur de règles limite la durée d'exécution des fonctions Lambda. Les appels de fonction Lambda provenant de règles doivent être terminés en moins de 2 000 millisecondes.
bitand(Int, Int)
Il effectue une opération AND au niveau du bit sur des représentations binaires des deux arguments Int
(-convertis). Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple : bitand(13, 5)
= 5
Type d'argument | Type d'argument | Résultat |
---|---|---|
Int |
Int |
Int , une opération AND au niveau du bit des deux arguments. |
Int /Decimal |
Int /Decimal |
Int , une opération AND au niveau du bit des deux arguments. Tous les nombres non-Int sont arrondis à la valeur Int inférieure la plus proche. Si l'un des arguments ne peut pas être converti en une valeur Int , le résultat Undefined . |
Int /Decimal /String |
Int /Decimal /String |
Int , une opération AND au niveau du bit des deux arguments. Toutes les chaînes sont converties en valeurs décimales et arrondies à la valeur Int inférieure la plus proche. Si la conversion échoue, le résultat est Undefined . |
Autre valeur | Autre valeur | Undefined . |
bitor(Int, Int)
Il effectue une opération OR au niveau du bit des représentations binaires des deux arguments. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple : bitor(8, 5)
= 13
Type d'argument | Type d'argument | Résultat |
---|---|---|
Int |
Int |
Int , une opération OR au niveau du bit des deux arguments. |
Int /Decimal |
Int /Decimal |
Int , une opération OR au niveau du bit des deux arguments. Tous les nombres non-Int sont arrondis à la valeur Int inférieure la plus proche. Si la conversion échoue, le résultat est Undefined . |
Int /Decimal /String |
Int /Decimal /String |
Int , une opération OR au niveau du bit sur les deux arguments. Toutes les chaînes sont converties en valeurs décimales et arrondies à la valeur Int inférieure la plus proche. Si la conversion échoue, le résultat est Undefined . |
Autre valeur | Autre valeur | Undefined . |
bitxor(Int, Int)
Il effectue une opération XOR au niveau du bit sur des représentations binaires des deux arguments Int
(-convertis). Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple : bitor(13, 5)
= 8
Type d'argument | Type d'argument | Résultat |
---|---|---|
Int |
Int |
Int , une opération XOR au niveau du bit sur les deux arguments. |
Int /Decimal |
Int /Decimal |
Int , une opération XOR au niveau du bit sur les deux arguments. Les nombres non-Int sont arrondis à la valeur Int inférieure la plus proche. |
Int /Decimal /String |
Int /Decimal /String |
Int , un XOR au niveau du bit sur les deux arguments. Les chaînes sont converties en décimales et arrondies à la valeur Int inférieure la plus proche. Si une conversion échoue, le résultat est Undefined . |
Autre valeur | Autre valeur | Undefined . |
bitnot(Int)
Il effectue une opération NOT au niveau du bit sur des représentations binaires de l'argument Int
(-converti). Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple : bitnot(13)
= 2
Type d'argument | Résultat |
---|---|
Int |
Int , une opération NOT au niveau du bit de l'argument. |
Decimal |
Int , une opération NOT au niveau du bit de l'argument. La valeur Decimal est arrondie à la valeur Int inférieure la plus proche. |
String |
Int , une opération NOT au niveau du bit de l'argument. Les chaînes sont converties en valeurs décimales et arrondies à la valeur Int inférieure la plus proche. Si une conversion échoue, le résultat est Undefined . |
Autre valeur | Autre valeur. |
cast()
Convertit une valeur d'un type de données en un autre. La conversion se comporte principalement comme les conversions standard, avec en outre la capacité de convertir des chiffres vers/depuis des valeurs booléennes. Si vous AWS IoT ne pouvez pas déterminer comment convertir un type en un autre, le résultat estUndefined
. Prise en charge par SQL 2015-10-08 et versions ultérieures. Format : cast(valeur
as type
).
Exemple :
cast(true as Int)
= 1
Les mots-clés suivants peuvent apparaître après « as » lors de l'appel de cast
:
Pour SQL versions 2015-10-08 et 2016-03-23 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Mot clé | Résultat | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
String |
Il convertit une valeur en String . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Nvarchar | Il convertit une valeur en String . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Texte | Il convertit une valeur en String . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ntext | Il convertit une valeur en String . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
varchar | Il convertit une valeur en String . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Int |
Il convertit une valeur en Int . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Entier | Il convertit une valeur en Int . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Double | Transforme la valeur en Decimal (avec une double précision). |
En outre, pour SQL version 2016-03-23 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Mot clé | Résultat | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Decimal |
Il convertit une valeur en Decimal . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Booléen | Il convertit une valeur en Boolean . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Boolean |
Il convertit une valeur en Boolean . |
Règles de conversion de types :
Conversion en décimal | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Type d'argument | Résultat | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Int |
Un chiffre Decimal sans virgule décimale. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Decimal |
La valeur source. NoteAvec SQL V2 (2016-03-23), les valeurs numériques qui sont des nombres entiers, telles que |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Boolean |
true = 1.0, false = 0.0. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
String |
Tente d'analyser la chaîne en tant que Decimal . AWS IoT
tente d'analyser les chaînes correspondant à l'expression regex : ^-?\d+(\.\d+)?((?i)E-?\d+)?$. « 0 », « -1.2 », « 5E-12 » sont des exemples de chaînes qui sont automatiquement converties en valeurs décimales. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tableau | Undefined . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Objet | Undefined . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Null | Undefined . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Non défini | Undefined . |
Conversion en entier | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Type d'argument | Résultat | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Int |
La valeur source. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Decimal |
La valeur source arrondie à la valeur Int inférieure la plus proche. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Boolean |
true = 1.0, false = 0.0. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
String |
Tente d'analyser la chaîne en tant que Decimal . AWS IoT
tente d'analyser les chaînes correspondant à l'expression regex : ^-?\d+(\.\d+)?((?i)E-?\d+)?$. « 0 », « -1.2 », « 5E-12 » sont des exemples de chaînes qui sont automatiquement converties en valeurs décimales. AWS IoT
tente de convertir la chaîne en valeur Decimal , puis de l'arrondir à la valeur Int inférieure la plus proche. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tableau | Undefined . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Objet | Undefined . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Null | Undefined . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Non défini | Undefined . |
Conversion en valeur Boolean | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Type d'argument | Résultat | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Int |
0 = False, any_nonzero_value = True. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Decimal |
0 = False, any_nonzero_value = True. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Boolean |
La valeur source. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
String |
« true »=True et « false »=False (insensible à la casse). Autres valeurs de chaînes = Undefined . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tableau | Undefined . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Objet | Undefined . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Null | Undefined . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Non défini | Undefined . |
Conversion en chaîne | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Type d'argument | Résultat | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Int |
Une représentation de chaîne de la valeur Int en notation standard. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Decimal |
Une chaîne représentant la valeur Decimal , probablement en notation scientifique. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Boolean |
« true » ou « false », tout en minuscules. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
String |
« true »=True et « false »=False (insensible à la casse). Autres valeurs de chaînes = Undefined . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tableau | Le tableau sérialisé au format JSON. La chaîne résultante consiste en une liste séparée par des virgules et délimitée par des crochets. String est entre guillemets, à l'inverse de Decimal , Int et Boolean . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Objet | L'objet sérialisé au format JSON. La chaîne JSON est une liste de paires clé-valeur séparées par des virgules, délimitées par des accolades. String est entre guillemets, à l'inverse de Decimal , Int , Boolean et Null . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Null | Undefined . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Non défini | Undefined . |
ceil(Decimal)
Arrondit la valeur Decimal
donnée à la valeur Int
supérieure la plus proche. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemples :
ceil(1.2)
= 2
ceil(-1.2)
= -1
Type d'argument | Résultat |
---|---|
Int |
Int , la valeur d'argument. |
Decimal |
Int , la valeur Decimal arrondie à la valeur Int supérieure la plus proche. |
String |
Int . La chaîne est convertie en valeur Decimal et arrondie à la valeur Int supérieure la plus proche. Si la chaîne ne peut pas être convertie en une valeur Decimal , le résultat est Undefined . |
Autre valeur | Undefined . |
chr(String)
Renvoie le caractère ASCII qui correspond à l'argument Int
donné. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemples :
chr(65)
= "A".
chr(49)
= "1".
Type d'argument | Résultat |
---|---|
Int |
Le caractère correspondant à la valeur ASCII spécifiée. Si l'argument n'est pas une valeur ASCII valide, le résultat est Undefined . |
Decimal |
Le caractère correspondant à la valeur ASCII spécifiée. L'argument Decimal est arrondi à la valeur Int inférieure la plus proche. Si l'argument n'est pas une valeur ASCII valide, le résultat est Undefined . |
Boolean |
Undefined . |
String |
Si la valeur String peut être convertie en valeur Decimal , elle est arrondie à la valeur Int inférieure la plus proche. Si l'argument n'est pas une valeur ASCII valide, le résultat est Undefined . |
Tableau | Undefined . |
Objet | Undefined . |
Null | Undefined . |
Autre valeur | Undefined . |
clientid()
Retourne l'ID du client MQTT en envoyant le message, ou une valeur n/a
si le message n'a pas été pas envoyé via MQTT. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple :
clientid()
= "123456789012"
concat()
Concatène des tableaux ou des chaînes. Cette fonction accepte n'importe quel nombre d'arguments et renvoie une valeur String
ou Array
. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemples :
concat()
= Undefined
.
concat(1)
= "1".
concat([1, 2, 3], 4)
= [1, 2, 3, 4].
concat([1, 2, 3], "hello")
= [1, 2, 3, "bonjour"]
concat("con", "cat")
= "concat"
concat(1, "hello")
= "bonjour1"
concat("he","is","man")
= "heisman"
concat([1, 2, 3], "hello", [4, 5, 6])
= [1, 2, 3, "bonjour", 4, 5, 6]
Nombre d'arguments | Résultat |
---|---|
0 | Undefined . |
1 | L'argument est renvoyé non modifié. |
2+ |
Si un argument est une valeur |
cos(Decimal)
Renvoie le cosinus d'un nombre en radians. Les arguments Decimal
sont arrondis pour une meilleure prévision avant l'application de la fonction. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple :
cos(0)
= 1.
Type d'argument | Résultat |
---|---|
Int |
Decimal (avec double précision), le cosinus de l'argument. Des résultats imaginaires sont retournés sous la forme Undefined . |
Decimal |
Decimal (avec double précision), le cosinus de l'argument. Des résultats imaginaires sont retournés sous la forme Undefined . |
Boolean |
Undefined . |
String |
Decimal (avec double précision), le cosinus de l'argument. Si la chaîne ne peut pas être convertie en une valeur Decimal , le résultat est Undefined . Des résultats imaginaires sont retournés sous la forme Undefined . |
Tableau | Undefined . |
Objet | Undefined . |
Null | Undefined . |
Non défini | Undefined . |
cosh(Decimal)
Renvoie le cosinus hyperbolique d'un nombre en radians. Les arguments Decimal
sont arrondis pour une meilleure prévision avant l'application de la fonction. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple : cosh(2.3)
= 5.037220649268761.
Type d'argument | Résultat |
---|---|
Int |
Decimal (avec double précision), le cosinus hyperbolique de l'argument. Des résultats imaginaires sont retournés sous la forme Undefined . |
Decimal |
Decimal (avec double précision), le cosinus hyperbolique de l'argument. Des résultats imaginaires sont retournés sous la forme Undefined . |
Boolean |
Undefined . |
String |
Decimal (avec double précision), le cosinus hyperbolique de l'argument. Si la chaîne ne peut pas être convertie en une valeur Decimal , le résultat est Undefined . Des résultats imaginaires sont retournés sous la forme Undefined . |
Tableau | Undefined . |
Objet | Undefined . |
Null | Undefined . |
Non défini | Undefined . |
décoder (valeur, schéma de décodage)
Utilisez la fonction decode
pour décoder une valeur codée. Si la chaîne décodée est un document JSON, un objet adressable est renvoyé. Sinon, la chaîne décodée est renvoyée sous forme de chaîne. La fonction renvoie NULL si la chaîne ne peut pas être décodée. Cette fonction prend en charge le décodage des chaînes codées en base64 et du format de message Protocol Buffer (protobuf).
Pris en charge par SQL 2016-03-23 et versions ultérieures.
- value
-
Une valeur de chaîne ou l’une des expressions valides, telles que définies dans AWS IoT Référence SQL, qui renvoie une chaîne.
- decodingScheme
-
Chaîne littérale représentant le schéma utilisé pour décoder la valeur. À l’heure actuelle, uniquement
'base64'
et'proto'
sont pris en charge.
Décodage de chaînes codées en base64
Dans cet exemple, la charge utile du message inclut une valeur codée.
{ encoded_temp: "eyAidGVtcGVyYXR1cmUiOiAzMyB9Cg==" }
La fonction decode
de cette instruction SQL décode la valeur de la charge utile du message.
SELECT decode(encoded_temp,"base64").temperature AS temp from 'topic/subtopic'
Le décodage de la valeur encoded_temp
permet d’obtenir le document JSON valide suivant, qui permet à l’instruction SELECT de lire la valeur de température.
{ "temperature": 33 }
Le résultat de l’instruction SELECT dans cet exemple est affiché ici.
{ "temp": 33 }
Si la valeur décodée n’était pas un document JSON valide, la valeur décodée serait renvoyée sous forme de chaîne.
Décodage de la charge utile des messages protobuf
Vous pouvez utiliser la fonction SQL de décodage pour configurer une règle capable de décoder la charge utile de votre message protobuf. Pour plus d’informations, veuillez consulter la section Décodage des charges utiles des messages protobuf.
La signature de la fonction ressemble à ce qui suit :
decode(<ENCODED DATA>, 'proto', '<S3 BUCKET NAME>', '<S3 OBJECT KEY>', '<PROTO NAME>', '<MESSAGE TYPE>')
ENCODED DATA
-
Spécifie les données codées en protobuf à décoder. Si l’intégralité du message envoyé à la règle est constituée de données codées en protobuf, vous pouvez référencer la charge utile binaire entrante brute à l’aide de
*
Sinon, ce champ doit être une chaîne JSON codée en base-64 et une référence à la chaîne peut être transmise directement.1) Pour décoder une charge utile entrante protobuf binaire brute :
decode(*, 'proto', ...)
2) Pour décoder un message codé en protobuf représenté par une chaîne codée en base64 « a.b » :
decode(a.b, 'proto', ...)
proto
-
Spécifie les données à décoder dans un format de message protobuf. Si vous spécifiez
base64
au lieu deproto
, cette fonction décodera les chaînes codées en base64 au format JSON. S3 BUCKET NAME
-
Le nom du compartiment Amazon S3 dans lequel vous avez chargé votre fichier
FileDescriptorSet
. S3 OBJECT KEY
-
Clé d’objet qui spécifie le fichier
FileDescriptorSet
dans le compartiment Amazon S3. PROTO NAME
-
Le nom du fichier
.proto
(à l’exception de l’extension) à partir duquel le fichierFileDescriptorSet
a été généré. MESSAGE TYPE
-
Nom de la structure du message protobuf dans le fichier
FileDescriptorSet
, à laquelle les données à décoder doivent être conformes.
Voici un exemple d’expression SQL utilisant la fonction SQL de décodage :
SELECT VALUE decode(*, 'proto', 's3-bucket', 'messageformat.desc', 'myproto', 'messagetype') FROM 'some/topic'
-
*
Représente une charge utile binaire entrante, conforme au type de message protobuf appelé
mymessagetype
-
messageformat.desc
Le fichier
FileDescriptorSet
stocké dans un compartiment Amazon S3 nommés3-bucket
. -
myproto
Le fichier
.proto
d’origine utilisé pour générer le fichierFileDescriptorSet
nommémyproto.proto
. -
messagetype
Le type de message appelé
messagetype
(ainsi que toutes les dépendances importées) tel que défini dansmyproto.proto
.
encode(value, encodingScheme)
Utilisez la fonction encode
pour encoder la charge utile, qui peut être constituée de données non-JSON, dans sa représentation de chaîne basée sur le schéma d'encodage. Pris en charge par SQL 2016-03-23 et versions ultérieures.
- value
-
Une des expressions valides, telles que définies dans la AWS IoT Référence SQL. Vous pouvez spécifier * pour encoder la charge utile dans son ensemble, qu'elle soit ou non au format JSON. Si vous fournissez une expression, le résultat de l'évaluation est converti en une chaîne avant d'être codé.
- encodingScheme
-
Chaîne littérale qui représente le schéma de codage à utiliser. Actuellement, seul
'base64'
est pris en charge.
endswith(String, String)
Renvoie une valeur Boolean
indiquant si le premier argument String
se termine par le deuxième argument String
. Si l'un des arguments est Null
ou Undefined
, le résultat a la valeur Undefined
. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Par exemple : endswith("cat","at")
= true.
Type d'argument 1 | Type d'argument 2 | Résultat |
---|---|---|
String |
String |
Vrai si le premier argument se termine dans le second argument. Sinon, la valeur renvoyée est Faux. |
Autre valeur | Autre valeur | Les deux arguments sont convertis en chaînes à l'aide des règles de conversion standard. Vrai si le premier argument se termine dans le second argument. Sinon, la valeur renvoyée est Faux. Si l'un des arguments est Null ou Undefined , le résultat a la valeur Undefined . |
exp(Decimal)
Renvoie la valeur augmentée vers l'argument Decimal
. Les arguments Decimal
sont arrondis pour une meilleure prévision avant l'application de la fonction. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple : exp(1)
= e.
Type d'argument | Résultat |
---|---|
Int |
Decimal (avec double précision), argument puissance e. |
Decimal |
Decimal (avec double précision), argument puissance e. |
String |
Decimal (avec double précision), argument puissance e. Si la valeur String ne peut pas être convertie en une valeur Decimal , le résultat est Undefined . |
Autre valeur | Undefined . |
floor(Decimal)
Arrondit la valeur Decimal
donnée à la valeur Int
inférieure la plus proche. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemples :
floor(1.2)
= 1
floor(-1.2)
= -2
Type d'argument | Résultat |
---|---|
Int |
Int , la valeur d'argument. |
Decimal |
Int , la valeur Decimal arrondie à la valeur Int inférieure la plus proche. |
String |
Int . La chaîne est convertie en valeur Decimal et arrondie à la valeur Int inférieure la plus proche. Si la chaîne ne peut pas être convertie en une valeur Decimal , le résultat est Undefined . |
Autre valeur | Undefined . |
get
Extrait une valeur à partir d'un type de collection (tableau, chaîne, objet). Aucune conversion n'est appliquée au premier argument. Une conversion s'applique comme documenté dans le tableau au deuxième argument. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemples :
get(["a", "b", "c"], 1)
= "b"
get({"a":"b"}, "a")
= "b"
get("abc", 0)
= « a ».
Type d'argument 1 | Type d'argument 2 | Résultat |
---|---|---|
Tableau | Tout type (converti valeur Int ) |
L'élément à l'index de base zéro de la valeur Array fourni par le deuxième argument (converti en Int ). Si la conversion échoue, le résultat est Undefined . Si l'index est en dehors des limites de la valeur Array (négatif ou >= array.length), le résultat est Undefined . |
Chaîne | Tout type (converti valeur Int ) |
Le caractère est à l'index de base zéro de la chaîne fournie par le deuxième argument (converti en Int ). Si la conversion échoue, le résultat est Undefined . Si l'index est en dehors des limites de la chaîne (négatif ou >= string.length), le résultat est Undefined . |
Objet | String (aucune conversion appliquée) |
La valeur stockée dans le premier argument (l'objet) correspondant à la clé de chaîne fournie comme deuxième argument. |
Autre valeur | N'importe quelle valeur | Undefined . |
get_dynamodb (TableName,,,,, partitionKeyName ROLearn) partitionKeyValue sortKeyName sortKeyValue
Récupère des données d’une table DynamoDB. get_dynamodb()
vous permet d’interroger une table DynamoDB pendant l’évaluation d’une règle. Vous pouvez filtrer ou augmenter les charges utiles des messages à l’aide des données extraites de DynamoDB. Pris en charge par SQL 2016-03-23 et versions ultérieures.
get_dynamodb()
accepte les paramètres suivants :
- tableName
-
Nom de la table DynamoDB à interroger.
- partitionKeyName
-
Nom de la clé de partition. Pour plus d’informations, veuillez consulter Clés DynamoDB.
- partitionKeyValue
-
Valeur de la clé de partition utilisée pour identifier un enregistrement. Pour plus d’informations, veuillez consulter Clés DynamoDB.
- sortKeyName
-
(Facultatif) Nom de la clé de tri. Ce paramètre n’est requis que si la table DynamoDB interrogée utilise une clé composite. Pour plus d’informations, veuillez consulter Clés DynamoDB.
- sortKeyValue
-
(Facultatif) Valeur de la clé de tri. Ce paramètre n’est requis que si la table DynamoDB interrogée utilise une clé composite. Pour plus d’informations, veuillez consulter Clés DynamoDB.
- roleArn
-
ARN d’un rôle IAM qui accorde l’accès à la table DynamoDB. Le moteur de règles assume ce rôle pour accéder à la table DynamoDB en votre nom. Évitez d'utiliser un rôle trop permissif. Accordez au rôle uniquement les autorisations requises par la règle. L’exemple de stratégie suivant accorde l’accès à une table DynamoDB.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dynamodb:GetItem", "Resource": "arn:aws:dynamodb:
aws-region
:account-id
:table/table-name
" } ] }}
À titre d’exemple d’utilisation de get_dynamodb()
, supposons que vous disposez d’une table DynamoDB contenant l’ID d’appareil et les informations d’emplacement de tous vos appareils connectés à AWS IoT. L'instruction SELECT suivante utilise la fonction get_dynamodb()
pour récupérer l'emplacement de l'ID d'appareil spécifié :
SELECT *, get_dynamodb("InServiceDevices", "deviceId", id,
"arn:aws:iam::12345678910:role/getdynamo").location AS location FROM
'some/topic'
Note
-
Vous pouvez appeler
get_dynamodb()
une fois au maximum par instruction SQL. L'appel deget_dynamodb()
plusieurs fois dans une même instruction SQL entraîne la fin de la règle sans invoquer aucune action. -
Si
get_dynamodb()
renvoie plus de 8 Ko de données, l'action de la règle ne peut pas être invoquée.
get_mqtt_property (nom)
Fait référence à l’un des en-têtes MQTT5 suivants : contentType
, payLoadFormatIndicator
, responseTopic
et correlationData
Cette fonction prend l’une des chaînes littérales suivantes comme argument :content_type
, format_indicator
response_topic
, etcorrelation_data
. Pour plus d’informations, veuillez consulter la table des arguments de fonction suivante.
- contentType
-
Chaîne : codée en UTF-8 qui décrit le contenu du message de publication.
- payLoadFormatIndicateur
-
Chaîne : une valeur de chaîne qui indique si la charge utile est formatée en UTF-8. Les valeurs valides sont
UNSPECIFIED_BYTES
etUTF8_DATA
. - Rubrique de réponse
-
Chaîne : Chaîne codée en UTF-8 utilisée comme nom de rubrique pour un message de réponse. La rubrique de réponse permet de décrire la rubrique dans laquelle le récepteur doit effectuer la publication dans le cadre du flux demande-réponse. La rubrique ne doit pas contenir de caractères génériques.
- Données de corrélation
-
Chaîne : Les données binaires codées en base64 utilisées par l’expéditeur du message de demande pour identifier la demande à laquelle le message de réponse correspond lorsqu’il est reçu.
Le tableau suivant indique les arguments de fonction acceptables et les types de retour associés pour la fonction get_mqtt_property
:
Arguments de la fonction | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SQL | Type de données renvoyé (le cas échéant) | Type de données renvoyé (s’il n’est pas présent) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
get_mqtt_property("format_indicator") |
Chaîne (UNSPECIFIED_BYTES ou UTF8_DATA) | Chaîne (UNSPECIFIED_BYTES) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
get_mqtt_property("content_type") |
Chaîne | Non défini | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
get_mqtt_property("response_topic") |
Chaîne | Non défini | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
get_mqtt_property("correlation_data") |
Chaîne codée en base64 | Non défini | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
get_mqtt_property("some_invalid_name") |
Non défini | Non défini |
L’exemple de règles SQL suivant fait référence à l’un des en-têtes MQTT5 suivants : contentType
, payLoadFormatIndicator
, responseTopic
et correlationData
SELECT *, get_mqtt_property('content_type') as contentType, get_mqtt_property('format_indicator') as payloadFormatIndicator, get_mqtt_property('response_topic') as responseTopic, get_mqtt_property('correlation_data') as correlationData FROM 'some/topic'
get_secret (SecreTid, SecretType, clé, roLearn)
Récupère la valeur du champ chiffré SecretString
ou SecretBinary
de la version actuelle d’un secret dans AWS Secrets Manager. Pour plus d'informations sur la création et la gestion de secrets CreateSecret, consultez les UpdateSecretsections, et PutSecretValue.
get_secret()
accepte les paramètres suivants :
- secretId
-
Chaîne : Amazon Resource Name (ARN) ou nom convivial du secret à récupérer.
- Type de secret
-
Chaîne : type secret. Valeurs valides :
SecretString
|SecretBinary
.- SecretString
-
-
Pour les secrets que vous créez sous forme d'objets JSON à l'aide des API AWS CLI, de la console ou de la AWS Secrets Manager console :
Si vous spécifiez une valeur pour le paramètre
key
, cette fonction renvoie la valeur de la clé spécifiée.Si vous ne spécifiez pas de valeur pour le paramètre
key
, cette fonction renvoie l’objet JSON complet.
-
Pour les secrets que vous créez en tant qu’objets non JSON à l’aide des API ou des AWS CLI :
Si vous spécifiez une valeur pour le paramètre
key
, cette fonction échoue avec une exception.Si vous ne spécifiez pas de valeur pour le paramètre
key
, cette fonction renvoie le contenu du secret.
-
- SecretBinary
-
Si vous spécifiez une valeur pour le paramètre
key
, cette fonction échoue avec une exception.Si vous ne spécifiez aucune valeur du paramètre
key
, cette fonction renvoie la valeur secrète sous forme de chaîne UTF-8 codée en base64.
- clé
(Facultatif) Chaîne : nom de la clé à l’intérieur d’un objet JSON stocké dans le champ
SecretString
d’un secret. Utilisez cette valeur lorsque vous souhaitez récupérer uniquement la valeur d’une clé stockée dans un secret au lieu de récupérer l’intégralité de l’objet JSON.Si vous spécifiez une valeur pour ce paramètre et que le secret ne contient aucun objet JSON dans son champ
SecretString
, cette fonction échoue avec une exception.- roleArn
Chaîne : un ARN de rôle avec des autorisations
secretsmanager:GetSecretValue
etsecretsmanager:DescribeSecret
.
Note
Cette fonction renvoie toujours la version actuelle du secret (la version avec la balise AWSCURRENT
). Le moteur de AWS IoT règles met en cache chaque secret pendant 15 minutes maximum. Par conséquent, le moteur de règles peut prendre jusqu’à 15 minutes pour mettre à jour un secret. Cela signifie que si vous récupérez un secret jusqu'à 15 minutes après une mise à jour avec AWS Secrets Manager, cette fonction peut renvoyer la version précédente.
Cette fonction n'est pas mesurée, mais des AWS Secrets Manager frais s'appliquent. En raison du mécanisme de mise en cache secret, le moteur de règles appelle AWS Secrets Manager occasionnellement. Le moteur de règles étant un service entièrement distribué, il est possible que vous receviez plusieurs appels d’API Secrets Manager depuis le moteur de règles pendant la fenêtre de mise en cache de 15 minutes.
Exemples :
Vous pouvez utiliser la fonction get_secret
dans un en-tête d’authentification dans le cadre d’une action de règle HTTPS, comme dans l’exemple d’authentification par clé d’API suivant.
"API_KEY": "${get_secret('
API_KEY
', 'SecretString
', 'API_KEY_VALUE
', 'arn:aws:iam::12345678910:role/getsecret')}"
Pour plus d’informations sur l’action de règle HTTPS, veuillez consulter HTTP.
get_thing_shadow(thingName, shadowName, roleARN)
Renvoie le shadow spécifié de l'objet spécifié. Pris en charge par SQL 2016-03-23 et versions ultérieures.
- thingName
-
Chaîne : nom de l'objet dont vous souhaitez récupérer le shadow.
- shadowName
-
(Facultatif) Chaîne : nom du shadow. Ce paramètre est requis uniquement quand vous référencez des shadows nommés.
- roleArn
-
Chaîne : un ARN de rôle avec une autorisation
iot:GetThingShadow
.
Exemples :
Lorsqu'elle est utilisée avec un shadow nommé, fournissez le paramètre shadowName
.
SELECT * from 'topic/subtopic' WHERE get_thing_shadow("MyThing","MyThingShadow","arn:aws:iam::123456789012:role/AllowsThingShadowAccess") .state.reported.alarm = 'ON'
Lorsqu'elle est utilisée avec un shadow non nommé, omettez le paramètre shadowName
.
SELECT * from 'topic/subtopic' WHERE get_thing_shadow("MyThing","arn:aws:iam::123456789012:role/AllowsThingShadowAccess") .state.reported.alarm = 'ON'
get_user_properties () userPropertyKey
Références aux propriétés utilisateur, qui sont un type d’en-tête de propriété pris en charge dans MQTT5.
- UserProperty
-
Chaîne : une propriété utilisateur est une paire clé-valeur. Cette fonction prend la clé comme argument et renvoie un tableau de toutes les valeurs correspondant à la clé associée.
Arguments de la fonction
Pour les propriétés utilisateur suivantes dans les en-têtes des messages :
Clé | Valeur |
---|---|
une clé | une valeur |
une clé différente | une valeur différente |
une clé | valeur avec clé dupliquée |
Le tableau suivant présente le comportement SQL attendu :
SQL | Type de données de retour | Valeur de données de retour |
---|---|---|
get_user_properties (« une clé ») | Tableau de chaînes | ['some value', 'value with duplicate key'] |
get_user_properties (« une clé ») | Tableau de chaînes | ['a different value'] |
get_user_properties ( ) | Tableau d’objets de paire clé-valeur | [{'"some key": "some value"'}, {"other key": "a different
value"}, {"some key": "value with duplicate
key"}] |
get_user_properties (« clé inexistante ») | Non défini |
L’exemple de règles SQL suivant fait référence aux propriétés utilisateur (un type d’en-tête de propriété MQTT5) dans la charge utile :
SELECT *, get_user_properties('user defined property key') as userProperty FROM 'some/topic'
Fonctions de hachage
AWS IoT fournit les fonctions de hachage suivantes :
-
md2
-
md5
-
sha1
-
sha224
-
sha256
-
sha384
-
sha512
Toutes les fonctions de hachage prévoit un argument de type chaîne. Le résultat est la valeur hachée de cette chaîne. Les conversions de chaîne standard s'appliquent aux arguments non-chaîne. Toutes les fonctions de hachage sont prises en charge par SQL 2015-10-08 et versions ultérieures.
Exemples :
md2("hello")
= "a9046c73e00331af68917d3804f70655"
md5("hello")
= "5d41402abc4b2a76b9719d911017c592"
indexof(String, String)
Renvoie le premier index (de base 0) du deuxième argument comme une sous-chaîne dans le premier argument. Les deux arguments doivent être des chaînes. Les arguments qui ne sont pas des chaînes sont soumis aux règles de conversion de chaînes standard. Cette fonction ne s'applique pas aux tableaux, uniquement aux chaînes. Pris en charge par SQL 2016-03-23 et versions ultérieures.
Exemples :
indexof("abcd", "bc")
= 1
isNull()
Retourne la valeur true si la valeur de l'argument est Null
. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemples :
isNull(5)
= false.
isNull(Null)
= vrai.
Type d'argument | Résultat |
---|---|
Int |
false |
Decimal |
false |
Boolean |
false |
String |
false |
Array |
false |
Object |
false |
Null |
vrai |
Undefined |
false |
isUndefined()
Retourne la valeur true si l'argument est Undefined
. Pris en charge par SQL 2016-03-23 et versions ultérieures.
Exemples :
isUndefined(5)
= false.
isUndefined(floor([1,2,3])))
= vrai.
Type d'argument | Résultat |
---|---|
Int |
false |
Decimal |
false |
Boolean |
false |
String |
false |
Array |
false |
Object |
false |
Null |
false |
Undefined |
true |
length(String)
Renvoie le nombre de caractères dans la chaîne fournie. Les règles de conversion standard s'appliquent aux arguments non-String
. Pris en charge par SQL 2016-03-23 et versions ultérieures.
Exemples :
length("hi")
= 2
length(false)
= 5
ln(Decimal)
Renvoie le logarithme naturel de l'argument Les arguments Decimal
sont arrondis pour une meilleure prévision avant l'application de la fonction. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple : ln(e)
= 1.
Type d'argument | Résultat |
---|---|
Int |
Decimal (avec double précision), le logarithme naturel de l'argument. |
Decimal |
Decimal (avec double précision), le logarithme naturel de l'argument. |
Boolean |
Undefined . |
String |
Decimal (avec double précision), le logarithme naturel de l'argument. Si la chaîne ne peut pas être convertie en une valeur Decimal , le résultat est Undefined . |
Tableau | Undefined . |
Objet | Undefined . |
Null | Undefined . |
Non défini | Undefined . |
log(Decimal)
Renvoie le logarithme 10 de base de l'argument Les arguments Decimal
sont arrondis pour une meilleure prévision avant l'application de la fonction. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple : log(100)
= 2.0.
Type d'argument | Résultat |
---|---|
Int |
Decimal (avec double précision), le logarithme de base 10 de l'argument. |
Decimal |
Decimal (avec double précision), le logarithme de base 10 de l'argument. |
Boolean |
Undefined . |
String |
Decimal (avec double précision), le logarithme de base 10 de l'argument. Si la valeur String ne peut pas être convertie en une valeur Decimal , le résultat est Undefined . |
Tableau | Undefined . |
Objet | Undefined . |
Null | Undefined . |
Non défini | Undefined . |
lower(String)
Renvoie la version en minuscules de la valeur de String
donnée. Les arguments non-chaîne sont convertis en chaînes à l'aide des règles de conversion standard. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemples :
lower("HELLO")
= "bonjour".
lower(["HELLO"])
= "[\"bonjour\"]".
lpad(String, Int)
Renvoie l'argument String
, complété à gauche par le nombre d'espaces spécifié par le deuxième argument. L'argument Int
doit être compris entre 0 et 1000. Si la valeur fournie se situe en dehors de cette plage valide, l'argument est défini sur la valeur valide la plus proche (0 ou 1 000). Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemples :
lpad("hello", 2)
= " hello
".
lpad(1, 3)
= " 1
"
Type d'argument 1 | Type d'argument 2 | Résultat |
---|---|---|
String |
Int |
String , l'argument String fourni, complété à gauche par un nombre d'espaces égal à la valeur Int . |
String |
Decimal |
L'argument Decimal est arrondi à la valeur Int inférieure la plus proche, et l'argument String est complété à gauche par le nombre d'espaces spécifié. |
String |
String |
Le deuxième argument est converti en valeur Decimal , qui est arrondie à la valeur Int inférieure la plus proche, et l'argument String est complété à gauche par le nombre d'espaces spécifié. Si le deuxième argument ne peut pas être converti en une valeur Int , le résultat Undefined . |
Autre valeur | Int /Decimal /String |
La première valeur est convertie en une valeur String à l'aide des conversions standard, puis la fonction LPAD est appliquée sur cette valeur String . Si elle ne peut pas être convertie, le résultat est Undefined . |
N'importe quelle valeur | Autre valeur | Undefined . |
ltrim(String)
Supprime tous les espaces de début (tabulations et espaces) de la valeur String
fournie. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple :
Ltrim(" h i ")
= "bonjour".
Type d'argument | Résultat |
---|---|
Int |
La représentation String de Int avec tous les espaces de début supprimés. |
Decimal |
La représentation String de Decimal avec tous les espaces de début supprimés. |
Boolean |
La représentation String de la valeur booléenne (« true » ou « false ») avec tous les espaces de début supprimés. |
String |
L'argument avec tous les espaces de début supprimés. |
Tableau | La représentation String de Array (à l'aide des règles de conversion standard) avec tous les espaces de début supprimés. |
Objet | La représentation String de l'objet (à l'aide des règles de conversion standard) avec tous les espaces de début supprimés. |
Null | Undefined . |
Non défini | Undefined . |
machinelearning_predict(modelId, roleArn, record)
Utilisez cette machinelearning_predict
fonction pour faire des prédictions en utilisant les données d'un message MQTT basé sur un SageMaker modèle Amazon. Prise en charge par SQL 2015-10-08 et versions ultérieures. Les arguments de la fonction machinelearning_predict
sont :
- modelId
-
L'ID du modèle sur lequel doit être réalisée la prévision. Le point de terminaison en temps réel du modèle doit être activé.
- roleArn
-
Le rôle IAM qui dispose d’une stratégie avec les autorisations
machinelearning:Predict
etmachinelearning:GetMLModel
permet d’accéder au modèle par rapport auquel la prévision doit être réalisée. - record
-
Les données à transmettre à l'API SageMaker Predict. Elles doivent être représentées sous la forme d'un objet JSON à couche unique. Si l'enregistrement est un objet JSON multiniveau, il est mis à plat en sérialisant ses valeurs. Par exemple, le code JSON suivant :
{ "key1": {"innerKey1": "value1"}, "key2": 0}
deviendrait :
{ "key1": "{\"innerKey1\": \"value1\"}", "key2": 0}
La fonction renvoie un objet JSON dans les champs suivants :
- predictedLabel
-
Classification de l'entrée basée sur le modèle.
- détails
-
Contient les attributs suivants :
- PredictiveModelType
-
Type de modèle. Les valeurs valides sont REGRESSION, BINARY, MULTICLASS.
- Algorithm
-
Algorithme utilisé par SageMaker pour faire des prédictions. La valeur doit être SGD.
- predictedScores
-
Contient le score de classification brut correspondant à chaque étiquette.
- predictedValue
-
La valeur prédite par SageMaker.
mod(Decimal, Decimal)
Renvoie le reste résultant de la division du premier argument par le deuxième argument. Équivalent à remainder(Decimal, Decimal). Vous pouvez également utiliser « % » comme opérateur infixe pour la même fonctionnalité modulo. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple : mod(8, 3)
= 2.
Opérande gauche | Opérande droit | Sortie |
---|---|---|
Int |
Int |
Int , les premier et deuxième arguments pour lesquels vous voulez exécuter la fonctionnalité Modulo. |
Int /Decimal |
Int /Decimal |
Decimal , le premier argument et le deuxième opérande pour lesquels vous voulez exécuter la fonctionnalité Modulo. |
String /Int /Decimal |
String /Int /Decimal |
Si toutes les chaînes sont converties en décimales, le résultat est le premier argument divisé par le deuxième argument. Sinon la valeur est renvoy, Undefined . |
Autre valeur | Autre valeur | Undefined . |
nanol (,) AnyValue AnyValue
Renvoie le premier argument s'il s'agit d'une valeur Decimal
valide. Sinon, le deuxième argument est renvoyé. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple : Nanvl(8, 3)
= 8.
Type d'argument 1 | Type d'argument 2 | Sortie |
---|---|---|
Non défini | N'importe quelle valeur | Le deuxième argument. |
Null | N'importe quelle valeur | Le deuxième argument. |
Decimal (NaN) |
N'importe quelle valeur | Le deuxième argument. |
Decimal (non-NaN) |
N'importe quelle valeur | Le premier argument. |
Autre valeur | N'importe quelle valeur | Le premier argument. |
newuuid()
Retourne un UUID aléatoire de 16 octets. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple: newuuid()
= 123a4567-b89c-12d3-e456-789012345000
numbytes(String)
Renvoie le nombre d'octets dans l'encodage UTF-8 de la chaîne fournie. Les règles de conversion standard s'appliquent aux arguments non-String
. Pris en charge par SQL 2016-03-23 et versions ultérieures.
Exemples :
numbytes("hi")
= 2
numbytes("€")
= 3
parse_time(String, Long[, String])
Utilisez la fonction parse_time
pour mettre en forme un horodatage dans un format date/heure lisible par l'utilisateur. Pris en charge par SQL 2016-03-23 et versions ultérieures. Pour convertir une chaîne d’horodatage en millisecondes, veuillez consulter time_to_epoch (Chaîne, Chaîne).
La fonction parse_time
attend les arguments suivants :
- pattern
-
(Chaîne ) Un modèle de date/heure qui suit les formats Joda-Time
. - timestamp
-
(Long) Heure à formater en millisecondes depuis l'époque Unix. Voir la fonction timestamp().
- timezone
-
(Chaîne) Fuseau horaire de la date/heure mise en forme. La valeur par défaut est « UTC ». La fonction prend en charge les fuseaux horaires Joda-Time
. Cet argument est facultatif.
Exemples :
Lorsque ce message est publié dans la rubrique « A/B », la charge utile {"ts":
"1970.01.01 AD at 21:46:40 CST"}
est envoyée au compartiment 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" } }
Lorsque ce message est publié dans la rubrique « A/B », une charge utile similaire à {"ts": "2017.06.09 AD at 17:19:46 UTC"}
(mais avec la date et l'heure du moment) est envoyée au compartiment 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()
peut également servir de modèle de substitution. Par exemple, lorsque ce message est publié dans la rubrique « A/B », la charge utile est envoyée au compartiment S3 avec la clé = « 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(Decimal, Decimal)
Renvoie le premier argument augmenté vers le deuxième argument. Les arguments Decimal
sont arrondis pour une meilleure prévision avant l'application de la fonction. Prise en charge par SQL 2015-10-08 et versions ultérieures. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple : power(2, 5)
= 32.0.
Type d'argument 1 | Type d'argument 2 | Sortie |
---|---|---|
Int /Decimal |
Int /Decimal |
Une valeur Decimal (avec double précision), le premier argument renvoyé à la puissance du deuxième argument. |
Int /Decimal /String |
Int /Decimal /String |
Une valeur Decimal (avec double précision), le premier argument renvoyé à la puissance du deuxième argument. Toutes les chaînes sont converties en décimales. Si tout valeur String échoue à être convertie en Decimal , le résultat est Undefined . |
Autre valeur | Autre valeur | Undefined . |
principal()
Renvoie le principal utilisé par le terminal pour l’authentification, en fonction de la manière dont le message déclencheur a été publié. Le tableau suivant décrit le mandataire renvoyé pour chaque méthode et protocole de publication.
Méthode de publication du message | Protocole | Type d'informations d'identification | Principal |
---|---|---|---|
Client MQTT | MQTT | Certificat d'appareil X.509 | Empreinte du certificat X.509 |
AWS IoT client MQTT pour console | MQTT | Utilisateur ou rôle IAM | iam-role-id : nom de session |
AWS CLI | HTTP | Utilisateur ou rôle IAM | userid |
AWS IoT SDK de l'appareil | MQTT | Certificat d'appareil X.509 | Empreinte du certificat X.509 |
AWS IoT SDK de l'appareil | MQTT terminé WebSocket | Utilisateur ou rôle IAM | userid |
Les exemples suivants illustrent les différents types de valeurs qui peuvent être renvoyés par principal()
:
-
Empreinte du certificat X.509 :
ba67293af50bf2506f5f93469686da660c7c844e7b3950bfb16813e0d31e9373
-
ID de rôle IAM et nom de session :
ABCD1EFG3HIJK2LMNOP5:my-session-name
-
Renvoie un ID utilisateur :
ABCD1EFG3HIJK2LMNOP5
rand()
Renvoie une valeur pseudo aléatoire, uniformément distribuée en double entre 0,0 et 1,0. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple :
rand()
= 0.8231909191640703
regexp_matches(String, String)
Renvoie la valeur true si la chaîne (le premier argument) contient un élément correspondant à l'expression régulière (le deuxième argument). Si vous l’utilisez |
dans l’expression régulière, utilisez-la avec ()
.
Exemples :
regexp_matches("aaaa", "a{2,}")
= vrai.
regexp_matches("aaaa", "b")
= false.
regexp_matches("aaa", "(aaa|bbb)")
= vrai.
regexp_matches("bbb", "(aaa|bbb)")
= vrai.
regexp_matches("ccc", "(aaa|bbb)")
= false.
Premier argument : | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Type d'argument | Résultat | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Int |
La représentation String de la valeur Int . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Decimal |
La représentation String de la valeur Decimal . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Boolean |
La représentation String de la valeur booléenne (« vrai » ou « faux »). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
String |
La valeur String . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tableau | La représentation String de la valeur Array (à l'aide des règles de conversion standard). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Objet | La représentation String de l'objet (à l'aide des règles de conversion standard). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Null | Undefined . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Non défini | Undefined . |
Deuxième argument :
Il doit s'agir d'une expression regex valide. Les types non-chaîne sont convertis en valeurs String
à l'aide des règles de conversion standard. Selon le type, la chaîne résultante peut ne pas être une expression régulière valide. Si l'argument (converti) n'est pas un regex valide, le résultat est Undefined
.
regexp_replace(String, String, String)
Remplace toutes les occurrences du deuxième argument (expression régulière) figurant dans le premier argument par le troisième argument. Fait référence aux groupes de capture avec « $ ». Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple :
regexp_replace("abcd", "bc", "x")
= "axd".
regexp_replace("abcd", "b(.*)d", "$1")
= "ac".
Premier argument : | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Type d'argument | Résultat | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Int |
La représentation String de la valeur Int . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Decimal |
La représentation String de la valeur Decimal . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Boolean |
La représentation String de la valeur booléenne (« vrai » ou « faux »). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
String |
La valeur source. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tableau | La représentation String de la valeur Array (à l'aide des règles de conversion standard). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Objet | La représentation String de l'objet (à l'aide des règles de conversion standard). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Null | Undefined . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Non défini | Undefined . |
Deuxième argument :
Il doit s'agir d'une expression regex valide. Les types non-chaîne sont convertis en valeurs String
à l'aide des règles de conversion standard. Selon le type, la chaîne résultante peut ne pas être une expression régulière valide. Si l'argument (converti) n'est pas une expression regex valide, le résultat est Undefined
.
Troisième argument :
Il doit s'agir d'une chaîne de remplacement regex valide. (Peut faire référence à d'autres groupes de capture.) Les types non-chaîne sont convertis en valeurs String
à l'aide des règles de conversion standard. Si l'argument (converti) n'est pas une chaîne de remplacement regex valide, le résultat est Undefined
.
regexp_substr(String, String)
Recherche la première correspondance du deuxième paramètre (regex) dans le premier paramètre. Fait référence aux groupes de capture avec « $ ». Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple :
regexp_substr("hihihello", "hi")
= "bonjour"
regexp_substr("hihihello", "(hi)*")
= "hihi"
Premier argument : | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Type d'argument | Résultat | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Int |
La représentation String de la valeur Int . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Decimal |
La représentation String de la valeur Decimal . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Boolean |
La représentation String de la valeur booléenne (« vrai » ou « faux »). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
String |
L'argument String . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tableau | La représentation String de la valeur Array (à l'aide des règles de conversion standard). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Objet | La représentation String de l'objet (à l'aide des règles de conversion standard). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Null | Undefined . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Non défini | Undefined . |
Deuxième argument :
Il doit s'agir d'une expression regex valide. Les types non-chaîne sont convertis en valeurs String
à l'aide des règles de conversion standard. Selon le type, la chaîne résultante peut ne pas être une expression régulière valide. Si l'argument (converti) n'est pas une expression regex valide, le résultat est Undefined
.
remainder(Decimal, Decimal)
Renvoie le reste résultant de la division du premier argument par le deuxième argument. Équivalent à mod(Decimal, Decimal). Vous pouvez également utiliser « % » comme opérateur infixe pour la même fonctionnalité modulo. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple : remainder(8, 3)
= 2.
Opérande gauche | Opérande droit | Sortie |
---|---|---|
Int |
Int |
Int , les premier et deuxième arguments pour lesquels vous voulez exécuter la fonctionnalité Modulo. |
Int /Decimal |
Int /Decimal |
Decimal , le premier argument et le deuxième opérande pour lesquels vous voulez exécuter la fonctionnalité Modulo. |
String /Int /Decimal |
String /Int /Decimal |
Si toutes les chaînes sont converties en décimales, le résultat est le premier argument divisé par le deuxième argument. Sinon la valeur est renvoy, Undefined . |
Autre valeur | Autre valeur | Undefined . |
replace(String, String, String)
Remplace toutes les occurrences du deuxième argument par le troisième argument dans le premier argument. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple :
replace("abcd", "bc", "x")
= "axd"
.
replace("abcdabcd", "b", "x")
= "axcdaxcd"
.
Tous les arguments | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Type d'argument | Résultat | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Int |
La représentation String de la valeur Int . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Decimal |
La représentation String de la valeur Decimal . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Boolean |
La représentation String de la valeur booléenne (« vrai » ou « faux »). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
String |
La valeur source. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tableau | La représentation String de la valeur Array (à l'aide des règles de conversion standard). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Objet | La représentation String de l'objet (à l'aide des règles de conversion standard). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Null | Undefined . |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Non défini | Undefined . |
rpad(String, Int)
Renvoie l'argument chaîne, complété à droite par le nombre d'espaces spécifié dans le deuxième argument. L'argument Int
doit être compris entre 0 et 1000. Si la valeur fournie se situe en dehors de cette plage valide, l'argument est défini sur la valeur valide la plus proche (0 ou 1 000). Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemples :
rpad("hello", 2)
= "hello
".
rpad(1, 3)
= "1
".
Type d'argument 1 | Type d'argument 2 | Résultat |
---|---|---|
String |
Int |
L'argument String est complété à droite par un nombre d'espaces égal à la valeur Int fournie. |
String |
Decimal |
L'argument Decimal est arrondi à la valeur Int inférieure la plus proche, et la chaîne est complétée à droite par un nombre d'espaces égal à la valeur Int fournie. |
String |
String |
Le deuxième argument est converti en une valeur Decimal , qui est arrondie à la valeur Int inférieure la plus proche. L'argument String est complété à droite par un nombre d'espaces égal à la valeur Int fournie. |
Autre valeur | Int /Decimal /String |
La première valeur est convertie en une valeur String à l'aide des conversions standard, puis la fonction RPAD est appliquée sur cette valeur String . Si elle ne peut pas être convertie, le résultat est Undefined . |
N'importe quelle valeur | Autre valeur | Undefined . |
round(Decimal)
Arrondit la valeur Decimal
donnée à la valeur Int
la plus proche. Si la valeur Decimal
se situe à équidistance entre deux valeurs Int
(par exemple, 0,5), la valeur Decimal
est arrondie à la valeur supérieure. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple : Round(1.2)
= 1.
Round(1.5)
= 2.
Round(1.7)
= 2.
Round(-1.1)
= -1.
Round(-1.5)
= -2.
Type d'argument | Résultat |
---|---|
Int |
L'argument. |
Decimal |
La valeur Decimal est arrondie à la valeur Int inférieure la plus proche. |
String |
La valeur Decimal est arrondie à la valeur Int inférieure la plus proche. Si la chaîne ne peut pas être convertie en une valeur Decimal , le résultat est Undefined . |
Autre valeur | Undefined . |
rtrim(String)
Supprime tous les espaces de fin (tabulations et espaces) de la valeur String
fournie. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemples :
rtrim(" h i ")
= " sa lut "
Type d'argument | Résultat |
---|---|
Int |
La représentation String de la valeur Int . |
Decimal |
La représentation String de la valeur Decimal . |
Boolean |
La représentation String de la valeur booléenne (« vrai » ou « faux »). |
Tableau | La représentation String de la valeur Array (à l'aide des règles de conversion standard). |
Objet | La représentation String de l'objet (à l'aide des règles de conversion standard). |
Null | Undefined . |
Non défini | Undefined |
sign(Decimal)
Renvoie le signe d'un chiffre donné. Lorsque le signe de l'argument est positif, la valeur 1 et renvoyée. Lorsque le signe de l'argument est négatif, la valeur -1 et renvoyée. Si l'argument est 0, la valeur 0 est renvoyée. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemples :
sign(-7)
= -1.
sign(0)
= 0.
sign(13)
= 1.
Type d'argument | Résultat |
---|---|
Int |
Int , le signe de la valeur Int . |
Decimal |
Int , le signe de la valeur Decimal . |
String |
Int , le signe de la valeur Decimal . La chaîne est convertie en une valeur Decimal , et le signe de la valeur Decimal est renvoyée. Si la valeur String ne peut pas être convertie en une valeur Decimal , le résultat est Undefined . Prise en charge par SQL 2015-10-08 et versions ultérieures. |
Autre valeur | Undefined . |
sin(Decimal)
Renvoie le sinus d'un nombre en radians. Les arguments Decimal
sont arrondis pour une meilleure prévision avant l'application de la fonction. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple : sin(0)
= 0,0
Type d'argument | Résultat |
---|---|
Int |
Decimal (avec double précision), le sinus de l'argument. |
Decimal |
Decimal (avec double précision), le sinus de l'argument. |
Boolean |
Undefined . |
String |
Decimal (avec double précision), le sinus de l'argument. Si la chaîne ne peut pas être convertie en une valeur Decimal , le résultat est Undefined . |
Tableau | Undefined . |
Objet | Undefined . |
Null | Undefined . |
Undefined |
Undefined . |
sinh(Decimal)
Renvoie le sinus hyperbolique d'un nombre. Les valeurs Decimal
sont arrondis pour une meilleure prévision avant l'application de la fonction. Le résultat est une valeur Decimal
de double précision. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple : sinh(2.3)
= 4,936961805545957
Type d'argument | Résultat |
---|---|
Int |
Decimal (avec double précision), le sinus hyperbolique de l'argument. |
Decimal |
Decimal (avec double précision), le sinus hyperbolique de l'argument. |
Boolean |
Undefined . |
String |
Decimal (avec double précision), le sinus hyperbolique de l'argument. Si la chaîne ne peut pas être convertie en une valeur Decimal , le résultat est Undefined . |
Tableau | Undefined . |
Objet | Undefined . |
Null | Undefined . |
Non défini | Undefined . |
sourceip()
Récupère l’adresse IP d’un appareil ou du routeur qui s’y connecte. Si votre appareil est connecté directement à Internet, la fonction renvoie l’adresse IP source de l’appareil. Si votre appareil est connecté à un routeur connecté à Internet, la fonction renvoie l’adresse IP source du routeur. Prise en charge par SQL version 23/03/2016. sourceip()
ne prend aucun paramètre.
Important
L’adresse IP source publique d’un appareil est souvent l’adresse IP de la dernière passerelle de traduction d’adresses réseau (NAT), telle que le routeur ou le modem câble de votre fournisseur d’accès Internet.
Exemples :
sourceip()="192.158.1.38"
sourceip()="1.102.103.104"
sourceip()="2001:db8:ff00::12ab:34cd"
Exemple SQL :
SELECT *, sourceip() as deviceIp FROM 'some/topic'
Exemples d'utilisation de la fonction sourceip () dans les actions de AWS IoT Core règles :
Exemple 1
L’exemple suivant montre comment appeler la fonction () en tant que modèle de substitution dans une action DynamoDB.
{ "topicRulePayload": { "sql": "SELECT * AS message FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "dynamoDB": { "tableName": "my_ddb_table", "hashKeyField": "key", "hashKeyValue": "${sourceip()}", "rangeKeyField": "timestamp", "rangeKeyValue": "${timestamp()}", "roleArn": "arn:aws:iam::123456789012:role/aws_iot_dynamoDB" } } ] } }
Exemple 2
L’exemple suivant illustre comment ajouter la fonction sourceip () en tant que propriété utilisateur MQTT à l’aide de modèles de substitution.
{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "republish": { "topic": "${topic()}/republish", "roleArn": "arn:aws:iam::123456789012:role/aws_iot_republish", "headers": { "payloadFormatIndicator": "UTF8_DATA", "contentType": "rule/contentType", "correlationData": "cnVsZSBjb3JyZWxhdGlvbiBkYXRh", "userProperties": [ { "key": "ruleKey1", "value": "ruleValue1" }, { "key": "sourceip", "value": "${sourceip()}" } ] } } } ] } }
Vous pouvez récupérer l'adresse IP source à partir des messages transmis aux AWS IoT Core règles depuis les chemins Message Broker et Basic Ingest. Vous pouvez également récupérer l’adresse IP source des messages IPv4 et IPv6. L’adresse IP source sera affichée comme suit :
IPv6 : yyyy:yyyy:yyyy::yyyy:yyyy
IPv4 : xxx.xxx.xxx.xxx
Note
L’adresse IP source d’origine ne sera pas transmise par lebiais de Republier l’action..
substring(String, Int[, Int])
Prévoit un argument String
suivi par une ou deux valeurs Int
. Pour un argument String
et un seul argument Int
, cette fonction renvoie la sous-chaîne de l'argument String
fourni provenant de l'index (de base 0, inclus) Int
fourni à la fin de l'argument String
. Pour un argument String
et deux arguments Int
, cette fonction renvoie la sous-chaîne de l'argument String
fourni provenant du premier argument d'index Int
(de base 0, inclus) dans le deuxième argument d'index Int
(de base 0, inclus). Les index qui sont inférieurs à zéro sont définis sur zéro. Les index qui sont supérieurs à la longueur de String
sont définis sur la longueur de String
. Pour la version des trois arguments, si le premier index est supérieur (ou égale) au deuxième index, le résultat et vide String
.
Si les arguments fournis ne sont pas (Chaîne
, Entier
) ou (Chaîne
, Entier
, Entier
), les conversions standard sont appliquées aux arguments pour tenter de les convertir dans les types corrects. Si les types ne peuvent pas être convertis, le résultat de la fonction est Undefined
. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemples :
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)
= "true".
substring(false, -2.411E247)
= "false".
substring("012345", 1, 3)
= "12".
substring("012345", -50, 50)
= "012345".
substring("012345", 3, 1)
= "".
sql_version()
Renvoie la version SQL spécifiée dans cette règle. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple :
sql_version()
= "2016-03-23"
sqrt(Decimal)
Renvoie la racine carrée d'un nombre en radians. Les arguments Decimal
sont arrondis pour une meilleure prévision avant l'application de la fonction. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple : sqrt(9)
= 3.0.
Type d'argument | Résultat |
---|---|
Int |
La racine carrée de l'argument. |
Decimal |
La racine carrée de l'argument. |
Boolean |
Undefined . |
String |
La racine carrée de l'argument. Si la chaîne ne peut pas être convertie en une valeur Decimal , le résultat est Undefined . |
Tableau | Undefined . |
Objet | Undefined . |
Null | Undefined . |
Non défini | Undefined . |
startswith(String, String)
Renvoie une valeur Boolean
si le premier argument de type chaîne commence par le deuxième argument de type chaîne. Si l'un des arguments est Null
ou Undefined
, le résultat a la valeur Undefined
. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple :
startswith("ranger","ran")
= true
Type d'argument 1 | Type d'argument 2 | Résultat |
---|---|---|
String |
String |
Si la première chaîne commence par la deuxième chaîne. |
Autre valeur | Autre valeur | Les deux arguments sont convertis en chaînes à l'aide des règles de conversion standard. Renvoie la valeur true si la première chaîne commence par la deuxième chaîne. Si l'un des arguments est Null ou Undefined , le résultat a la valeur Undefined . |
tan(Decimal)
Renvoie la tangente d'un nombre en radians. Les valeurs Decimal
sont arrondis pour une meilleure prévision avant l'application de la fonction. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple : tan(3)
= -0.1425465430742778
Type d'argument | Résultat |
---|---|
Int |
Decimal (avec double précision), la tangente de l'argument. |
Decimal |
Decimal (avec double précision), la tangente de l'argument. |
Boolean |
Undefined . |
String |
Decimal (avec double précision), la tangente de l'argument. Si la chaîne ne peut pas être convertie en une valeur Decimal , le résultat est Undefined . |
Tableau | Undefined . |
Objet | Undefined . |
Null | Undefined . |
Non défini | Undefined . |
tanh(Decimal)
Renvoie la tangente hyperbolique d'un nombre en radians. Les valeurs Decimal
sont arrondis pour une meilleure prévision avant l'application de la fonction. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple : tanh(2.3)
= 0,9800963962661914
Type d'argument | Résultat |
---|---|
Int |
Decimal (avec double précision), la tangente hyperbolique de l'argument. |
Decimal |
Decimal (avec double précision), la tangente hyperbolique de l'argument. |
Boolean |
Undefined . |
String |
Decimal (avec double précision), la tangente hyperbolique de l'argument. Si la chaîne ne peut pas être convertie en une valeur Decimal , le résultat est Undefined . |
Tableau | Undefined . |
Objet | Undefined . |
Null | Undefined . |
Non défini | Undefined . |
time_to_epoch (Chaîne, Chaîne)
Utilisez cette fonction time_to_epoch
pour convertir une chaîne d’horodatage en un nombre de millisecondes en temps d’époque Unix. Pris en charge par SQL 2016-03-23 et versions ultérieures. Pour convertir des millisecondes en une chaîne d’horodatage formatée, veuillez consulter parse_time(String, Long[, String]).
La fonction time_to_epoch
attend les arguments suivants :
- timestamp
-
(Chaîne) Chaîne d’horodatage à convertir en millisecondes depuis l’ère Unix. Si la chaîne d’horodatage ne spécifie pas de fuseau horaire, la fonction utilise le fuseau horaire UTC.
- pattern
-
(Chaîne ) Un modèle de date/heure qui suit les formats JDK11 Time
.
Exemples :
time_to_epoch("2020-04-03 09:45:18 UTC+01:00", "yyyy-MM-dd HH:mm:ss
VV")
= 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()
Renvoie l'horodatage actuel en millisecondes à partir de 00:00:00 Temps universel coordonné (UTC), jeudi 1er janvier 1970, tel qu'observé par le moteur de règles. AWS IoT Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple: timestamp()
= 1481825251155
topic(Decimal)
Il renvoie la rubrique vers laquelle le message qui a déclenché la règle a été envoyé. Si aucun paramètre n'est indiqué, la rubrique entière est renvoyée. Le paramètre Decimal
est utilisé pour spécifier un segment de rubrique spécifique, avec le chiffre 1 désignant le premier segment. Pour la rubrique foo/bar/baz
, topic(1) renvoie foo
, topic(2) renvoie bar
, et ainsi de suite. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemples :
topic()
= "things/myThings/thingOne"
topic(1)
= "things"
Lorsque Basic Ingest est utilisé, le préfixe initial de la rubrique ($aws/rules/
) n'est pas disponible pour la fonction topic(). Prenons l'exemple de la rubrique suivante :rule-name
$aws/rules/BuildingManager/Buildings/Building5/Floor2/Room201/Lights
topic()
= "Buildings/Building5/Floor2/Room201/Lights"
topic(3)
= "Floor2"
traceid()
Renvoie l'ID de suivi (UUID) du message MQTT ou une valeur Undefined
si le message n'a pas été pas envoyé via MQTT. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple :
traceid()
= "12345678-1234-1234-1234-123456789012"
transformation (chaîne, objet, tableau)
Renvoie un tableau d’objets contenant le résultat de la transformation spécifiée du paramètre Object
sur le paramètre Array
.
Pris en charge par SQL 2016-03-23 et versions ultérieures.
- Chaîne
Le mode de transformation à utiliser. Reportez-vous au tableau suivant pour connaître les modes de transformation pris en charge et la manière dont ils créent le
Result
à partir des paramètresObject
etArray
.- Objet
Un objet qui contient les attributs à appliquer à chaque élément du
Array
.- Tableau
-
Tableau d’objets auxquels les attributs de
Object
sont appliqués.Chaque objet de ce tableau correspond à un objet dans la réponse de la fonction. Chaque objet de la réponse de la fonction contient les attributs présents dans l’objet d’origine et les attributs fournis par
Object
tels que déterminés par le mode de transformation spécifié dansString
.
|
|
|
Résultat |
---|---|---|---|
|
Objet |
Tableau d’objets |
Tableau d’objets dans lequel chaque objet contient les attributs d’un élément du paramètre |
Toute autre valeur |
N'importe quelle valeur |
N'importe quelle valeur |
Non défini |
Note
Le tableau renvoyé par cette fonction est limité à 128 KiB.
Exemple 1 de fonction de transformation
Cet exemple montre comment la fonction transform() produit un tableau unique d’objets à partir d’un objet de données et d’un tableau.
Dans cet exemple, le message suivant est publié dans la rubrique MQTT A/B
.
{ "attributes": { "data1": 1, "data2": 2 }, "values": [ { "a": 3 }, { "b": 4 }, { "c": 5 } ] }
Cette instruction SQL pour une action de règle de rubrique utilise la fonction transform() avec une valeur String
de enrichArray
. Dans cet exemple, Object
est la propriété attributes
de la charge utile du message et Array
est le tableau values
, qui contient trois objets.
select value transform("enrichArray", attributes, values) from 'A/B'
À la réception de la charge utile du message, l’instruction SQL donne la réponse suivante.
[ { "a": 3, "data1": 1, "data2": 2 }, { "b": 4, "data1": 1, "data2": 2 }, { "c": 5, "data1": 1, "data2": 2 } ]
Exemple 2 de fonction de transformation
Cet exemple montre comment la fonction transform() peut utiliser des valeurs littérales pour inclure et renommer des attributs individuels à partir de la charge utile du message.
Dans cet exemple, le message suivant est publié dans la rubrique MQTT A/B
. Il s’agit du même message que celui utilisé dans Exemple 1 de fonction de transformation.
{ "attributes": { "data1": 1, "data2": 2 }, "values": [ { "a": 3 }, { "b": 4 }, { "c": 5 } ] }
Cette instruction SQL pour une action de règle de rubrique utilise la fonction transform() avec une valeur String
de enrichArray
. Le Object
dans la fonction transform() possède un seul attribut nommé key
avec la valeur de attributes.data1
dans la charge utile du message et Array
est le tableau values
qui contient les trois mêmes objets que ceux utilisés dans l’exemple précédent.
select value transform("enrichArray", {"key": attributes.data1}, values) from 'A/B'
À la réception de la charge utile du message, cette instruction SQL donne la réponse suivante. Notez comment la propriété data1
est nommée key
dans la réponse.
[ { "a": 3, "key": 1 }, { "b": 4, "key": 1 }, { "c": 5, "key": 1 } ]
Exemple 3 de fonction de transformation
Cet exemple montre comment la fonction transform() peut être utilisée dans des clauses SELECT imbriquées pour sélectionner plusieurs attributs et créer de nouveaux objets pour un traitement ultérieur.
Dans cet exemple, le message suivant est publié dans la rubrique MQTT A/B
.
{ "data1": "example", "data2": { "a": "first attribute", "b": "second attribute", "c": [ { "x": { "someInt": 5, "someString": "hello" }, "y": true }, { "x": { "someInt": 10, "someString": "world" }, "y": false } ] } }
Le Object
pour cette fonction de transformation est l’objet renvoyé par l’instruction SELECT, qui contient les éléments a
et b
de l’objet data2
du message. Le paramètre Array
comprend les deux objets du tableau data2.c
figurant dans le message d’origine.
select value transform('enrichArray', (select a, b from data2), (select value c from data2)) from 'A/B'
Avec le message précédent, l’instruction SQL donne la réponse suivante.
[ { "x": { "someInt": 5, "someString": "hello" }, "y": true, "a": "first attribute", "b": "second attribute" }, { "x": { "someInt": 10, "someString": "world" }, "y": false, "a": "first attribute", "b": "second attribute" } ]
Le tableau renvoyé dans cette réponse peut être utilisé avec des actions de règles de rubrique qui prennent en charge batchMode
.
trim(String)
Supprime tous les espaces de début et de fin de la valeur String
fournie. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemple :
Trim(" hi ")
= "bonjour"
Type d'argument | Résultat |
---|---|
Int |
La représentation String de Int avec tous les espaces de début et de fin supprimés. |
Decimal |
La représentation String de Decimal avec tous les espaces de début et de fin supprimés. |
Boolean |
La représentation String de la valeur Boolean (« vrai » ou « faux ») avec tous les espaces de début et de fin supprimés. |
String |
L'argument String avec tous les espaces de début et de fin supprimés. |
Tableau | La représentation String de la valeur Array à l'aide des règles de conversion standard. |
Objet | La représentation String de l'objet à l'aide des règles de conversion standard. |
Null | Undefined . |
Non défini | Undefined . |
trunc(Decimal, Int)
Tronque le premier argument du nombre de Decimal
, spécifié par le deuxième argument. Si le deuxième argument est inférieur à zéro, il est défini sur zéro. Si le deuxième argument est supérieur à 34, il est défini sur 34. Les zéros de fin sont supprimés du résultat. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemples :
trunc(2.3, 0)
= 2.
trunc(2.3123, 2)
= 2.31.
trunc(2.888, 2)
= 2.88.
trunc(2.00, 5)
= 2.
Type d'argument 1 | Type d'argument 2 | Résultat |
---|---|---|
Int |
Int |
La valeur source. |
Int /Decimal |
Int /Decimal |
Le premier argument est tronqué jusqu'à la longueur décrite par le deuxième argument. Le deuxième argument, s'il ne s'agit pas d'un Int , est arrondi à la valeur Int inférieure la plus proche. |
Int /Decimal /String |
Int /Decimal |
Le premier argument est tronqué jusqu'à la longueur décrite par le deuxième argument. Le deuxième argument, s'il ne s'agit pas d'un Int , est arrondi à la valeur Int inférieure la plus proche. Une valeur String est convertie en une valeur Decimal . Si la chaîne ne peut être pas convertie, le résultat est Undefined . |
Autre valeur | Undefined . |
upper(String)
Renvoie la version en majuscules de la valeur String
donnée. Les arguments non-String
sont convertis en valeurs String
à l'aide des règles de conversion standard. Prise en charge par SQL 2015-10-08 et versions ultérieures.
Exemples :
upper("hello")
= "BONJOUR"
upper(["hello"])
= "[\"BONJOUR\"]"