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.
Créez des requêtes CloudTrail Lake à partir d'instructions en langage naturel
Vous pouvez utiliser le générateur de requêtes CloudTrail Lake pour produire une requête à partir d'une invite en anglais que vous fournissez. Le générateur de requêtes utilise l'intelligence artificielle générative (IA générative) pour produire une requête ready-to-use SQL à partir de votre invite, que vous pouvez ensuite choisir d'exécuter dans l'éditeur de requêtes de Lake ou de peaufiner davantage. Il n'est pas nécessaire de posséder une connaissance approfondie du SQL ou des champs d' CloudTrail événements pour utiliser le générateur de requêtes.
L'invite peut être une question ou une déclaration concernant les données d'événements de votre banque de données d'événements CloudTrail Lake. Par exemple, vous pouvez saisir des messages tels "What are my top errors in the past month?" que et “Give me a list of users that used SNS.”
Une invite peut comporter un minimum de 3 caractères et un maximum de 500 caractères.
La génération de requêtes n'implique pas de frais. Toutefois, lorsque vous exécutez des requêtes, vous devez payer des frais en fonction de la quantité de données optimisées et compressées numérisées. Pour vous aider à contrôler les coûts, nous vous recommandons de limiter les requêtes en ajoutant des horodatages eventTime de début et de fin aux requêtes.
Note
Vous pouvez fournir des commentaires sur une requête générée en cliquant sur le bouton pouce vers le haut ou pouce vers le bas qui apparaît en dessous de la requête générée. Lorsque vous fournissez des commentaires, CloudTrail enregistre votre invite et la requête générée.
N'incluez aucune information personnelle, confidentielle ou sensible dans vos invites.
Cette fonctionnalité utilise de grands modèles de langage basés sur l'IA générative (LLMs) ; nous vous recommandons de vérifier la réponse LLM.
Vous pouvez accéder au générateur de requêtes à l'aide de la CloudTrail console et AWS CLI.
Autorisations requises
Les politiques AdministratorAccessgérées AWSCloudTrail_FullAccesset les politiques administrées fournissent toutes deux les autorisations nécessaires pour utiliser cette fonctionnalité.
Vous pouvez également inclure l’action cloudtrail:GenerateQuery dans une politique en ligne ou gérée par le client, qu’elle soit nouvelle ou existante.
Prise en charge de la région
Cette fonctionnalité est prise en charge dans les pays suivants Régions AWS :
-
Région Asie-Pacifique (Mumbai) (ap-south-1)
-
Région Asie-Pacifique (Sydney) (ap-southeast-2)
-
Région Asie-Pacifique (Tokyo) (ap-northeast-1)
-
Région Canada (Centre) (ca-central-1)
-
Région Europe (Londres) (eu-west-2)
-
Région USA Est (Virginie du Nord) (us-east-1)
-
Région USA Ouest (Oregon) (us-west-2)
Limites
Les limites du générateur de requêtes sont les suivantes :
-
Le générateur de requêtes ne peut accepter que les demandes en anglais.
-
Le générateur de requêtes peut uniquement générer des requêtes pour les magasins de données d'événements qui collectent des CloudTrail événements (événements de gestion, événements de données, événements d'activité réseau).
-
Le générateur de requêtes ne peut pas générer de requêtes pour des invites qui ne concernent pas les données d'événements de CloudTrail Lake.
Exemples d'instructions
Cette section fournit des exemples d'invite et les requêtes SQL générées à partir de ces invites.
Si vous choisissez d'exécuter les exemples de requêtes présentés dans cette section, remplacez-les eds-id par l'ID du magasin de données d'événements que vous souhaitez interroger et remplacez les horodatages par les horodatages appropriés à votre cas d'utilisation. Les horodatages ont le format suivant :. YYYY-MM-DD HH:MM:SS
Prompt : What are my top errors in the past month?
Requête SQL :
SELECT errorMessage, COUNT(*) as eventCount FROMeds-idWHERE errorMessage IS NOT NULL AND eventTime >= timestamp '2024-05-01 00:00:00' AND eventTime <= timestamp '2024-05-31 23:59:59' GROUP BY 1 ORDER BY 2 DESC LIMIT 2;
Prompt : Give me a list of users that used Amazon SNS.
Requête SQL :
SELECT DISTINCT userIdentity.arn AS user FROMeds-idWHERE eventSource = 'sns.amazonaws.com'
Prompt : What are my API counts each day for read and write events in the past month?
Requête SQL :
SELECT date(eventTime) AS event_date, SUM( CASE WHEN readonly = true THEN 1 ELSE 0 END ) AS read_events, SUM( CASE WHEN readonly = false THEN 1 ELSE 0 END ) AS write_events FROMeds-idWHERE eventTime >= timestamp '2024-05-04 00:00:00' AND eventTime <= timestamp '2024-06-04 23:59:59' GROUP BY 1 ORDER BY 1 ASC;
Prompt : Show any events with access denied errors for the past three weeks.
Requête SQL :
SELECT * FROMeds-idWHERE WHERE (errorCode = 'AccessDenied' OR errorMessage = 'Access Denied') AND eventTime >= timestamp '2024-05-16 01:00:00' AND eventTime <= timestamp '2024-06-06 01:00:00'
Prompt : Query the number of calls each operator performed on the date 2024-05-01. The operator is a principal tag.
Requête SQL :
SELECT element_at( eventContext.tagContext.principalTags, 'operator' ) AS operator, COUNT(*) AS eventCount FROMeds-idWHERE eventtime >= '2024-05-01 00:00:00' AND eventtime < '2024-05-01 23:59:59' GROUP BY 1 ORDER BY 2 DESC;
Prompt : Give me all event IDs that touched resources within the CloudFormation stack with name myStack on the date 2024-05-01.
Requête SQL :
SELECT eventID FROMeds-idWHERE any_match( eventContext.tagcontext.resourcetags, rt->element_at(rt.tags, 'aws:cloudformation:stack-name') = 'myStack' ) AND eventtime >= '2024-05-01 00:00:00' AND eventtime < '2024-05-01 23:59:59'
Prompt : Count the number of events grouped by resource tag 'solution' values, listing them in descending order of count.
Requête SQL :
SELECT element_at(rt.tags, 'solution'), count(*) as event_count FROMeds-id, unnest(eventContext.tagContext.resourceTags) as rt WHERE eventtime < '2025-05-14 19:00:00' GROUP BY 1 ORDER BY 2 DESC;
Prompt : Find all Amazon S3 data events where resource tag Environment has value prod.
Requête SQL :
SELECT * FROMeds-idWHERE eventCategory = 'Data' AND eventSource = 's3.amazonaws.com' AND eventtime >= '2025-05-14 00:00:00' AND eventtime < '2025-05-14 20:00:00' AND any_match( eventContext.tagContext.resourceTags, rt->element_at(rt.tags, 'Environment') = 'prod' )