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.
Requête de données : configurations de tables et de requêtes SQL
Les exportations de données vous permettent d'écrire des requêtes SQL (sélections de colonnes, filtrage de lignes, alias de colonne) qui sont exécutées sur les tables fournies, CUR 2.0, par exemple. Chaque table peut également avoir des configurations de table qui modifient les données qu'elle contient. Par exemple, avec CUR 2.0, vous pouvez spécifier une configuration pour choisir une granularité horaire, quotidienne ou mensuelle, ou une configuration pour ajouter des données de coût et d'utilisation au niveau de la granularité au niveau des ressources.
Pour qu'une requête de données d'exportation soit entièrement définie, vous devez spécifier les deux attributs suivants :
-
Requête SQL : l'instruction SQL est exécutée sur une table et détermine les données renvoyées par l'exportation.
-
Configurations de table : les paramètres de configuration de table modifient les données contenues dans la table avant que la requête SQL ne soit exécutée sur celle-ci.
Sur la page de console Data Exports, vous pouvez utiliser le flux de travail qui crée l'instruction SQL et les configurations de tables en fonction de vos sélections. Dans le SDK/CLI Data Exports, vous pouvez écrire vos propres instructions SQL et configurations de tables.
Les instructions SQL d'exportation de données (QueryStatement
) utilisent la syntaxe suivante :
SELECT <column_name_a>, <column_name_b>.<attribute_name> AS <new_name>, ... FROM <TABLE_NAME> [ WHERE <column_name> OPERATOR <value> AND|OR ... ] [ LIMIT number ]
Les configurations des tables d'exportation de données (TableConfigurations
) utilisent la syntaxe suivante :
{"<TABLE_NAME>": {"<CONFIGURATION_NAME_A>": "<value>", "<CONFIGURATION_NAME_B>": "<value>", ...} }
Requête SQL
La requête SQL est exécutée sur une table et détermine les données renvoyées lors d'une exportation. L'instruction SQL peut être modifiée après la création d'une exportation, mais la table sélectionnée ne peut pas être modifiée.
Les instructions SQL (dans le QueryStatement champ) peuvent comporter un maximum de 36 000 caractères.
Les mots clés possibles dans une requête SQL Data Exports sont les suivants.
Note
Les mots clés ne distinguent pas les majuscules et minuscules. Les noms des colonnes et des tables distinguent les majuscules et minuscules.
- SELECT
-
Obligatoire.
Spécifie les colonnes à sélectionner dans le tableau. Il ne peut y avoir qu'une seule instruction SELECT par requête.
Utilisez l'opérateur point
.
pour spécifier la sélection d'un attribut d'une colonne MAP ou STRUCT en tant que colonne séparée. Le nom de la colonne résultante dans la sortie SQL est le nom de l'attribut par défaut.Par exemple, vous pouvez sélectionner des attributs dans la colonne MAP du produit.
SELECT product.from_location FROM COST_AND_USAGE_REPORT
Cela permet de sélectionner l'
from_location
attribut dans laproduct
colonne et de créer une nouvelle colonne contenant les données de l'attribut. Par défaut, dans la sortie, le nom de cette colonne serafrom_location
. Cependant, il peut être renommé avecAS
.Pour plus d'informations sur les colonnes MAP et STRUCT disponibles dans chaque table, ainsi que sur les attributs de ces colonnes, consultez le dictionnaire des tables Data Exports.
- EN TANT QUE
-
Facultatif.
Permet de renommer la colonne sélectionnée. Le nouveau nom de colonne ne peut pas contenir d'espaces ou de caractères autres que des caractères alphanumériques (a-z, A-Z et 0-9) et des traits de soulignement (_). Vous ne pouvez pas utiliser de guillemets lorsque vous définissez l'alias de colonne pour utiliser d'autres caractères.
L'aliasing peut être utile lorsque vous sélectionnez un attribut d'une colonne MAP ou STRUCT pour renommer la colonne résultante afin qu'elle corresponde au schéma du CUR. Par exemple, pour faire correspondre la façon dont le CUR affiche la
product_from_location
colonne, écrivez la requête suivante dans Exportations de données avec la table CUR 2.0.SELECT product.from_location AS product_from_location FROM COST_AND_USAGE_REPORT
Cela crée une exportation avec une colonne nommée
product_from_location
. - FROM
-
Obligatoire.
Spécifie la table à interroger. Il ne peut y avoir qu'une seule instruction FROM par requête.
- OÙ
-
Facultatif.
Filtre les lignes uniquement en fonction de celles qui correspondent à la clause que vous avez spécifiée.
La clause WHERE (OÙ) prend en charge les opérateurs suivants :
-
= La valeur doit correspondre à la chaîne ou au nombre.
-
! = et <> La valeur ne doit pas correspondre à la chaîne ou au nombre spécifié.
-
<, <=, > et >= La valeur doit être inférieure, inférieure ou égale à, supérieure ou égale au nombre.
-
AND (ET) Les deux conditions spécifiées doivent être vraies pour correspondre. Vous pouvez utiliser plusieurs mots-clés AND (ET) afin de spécifier deux conditions ou plus.
-
OU L'une ou l'autre des conditions spécifiées doit être vraie pour correspondre. Vous pouvez utiliser plusieurs mots clés OR pour définir au moins deux conditions.
-
NON La condition spécifiée ne doit pas être vraie pour correspondre.
-
IN Toutes les valeurs spécifiées entre parenthèses après le mot clé doivent être vraies pour correspondre.
-
Les parenthèses peuvent être utilisées pour créer des clauses WHERE multiconditionnelles
Note
Lorsque vous exprimez des chaînes sous forme de valeur suivant un opérateur, utilisez des guillemets simples
'
plutôt que des guillemets doubles. Vous n'avez pas besoin d'échapper aux guillemets simples. Par exemple, vous pouvez écrire l'instruction WHERE suivante :WHERE line_item_type = 'Discount' OR line_item_type = 'Usage'
-
- LIMITE
-
Facultatif.
Limite le nombre de lignes renvoyées par la requête à la valeur que vous spécifiez.
Configurations de tables
Les configurations de table sont des propriétés contrôlées par l'utilisateur qu'un utilisateur peut définir pour modifier les données ou le schéma d'une table avant qu'elle ne soit interrogée dans Data Exports. Les configurations des tables sont enregistrées sous forme d'instruction JSON et sont spécifiées par l'utilisateur dans le AWS SDK/CLI ou par des sélections utilisateur dans la console.
Par exemple, CUR 2.0 dispose de configurations de tables permettant de modifier la granularité des données (horaire, quotidien, mensuel), d'inclure des données granulaires au niveau des ressources et de déterminer si les données de répartition des coûts sont incluses. Toutes les tables ne sont pas configurées. Pour plus d'informations sur les configurations disponibles pour chaque table, consultez le dictionnaire des tables Data Exports.
Chaque paramètre de configuration de table possède une valeur par défaut qui est supposée si aucune configuration de table n'est spécifiée par l'utilisateur. Les configurations des tables ne peuvent pas être modifiées après la création d'une exportation.