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.
Note
La procédure suivante fonctionne pour les connexions d'accès à la distribution Web CloudFront. Elle ne s'applique pas aux journaux de diffusion provenant de RTMP distributions.
Pour créer une table pour les champs de fichier journal CloudFront standard
-
Copiez et collez l'exemple d'DDLinstruction suivant dans l'éditeur de requêtes de la console Athena. L'exemple d'instruction utilise les champs du fichier journal décrits dans la section Champs de fichier journal standard du Amazon CloudFront Developer Guide. Modifiez l'emplacement (
LOCATION
) pour le compartiment Simple Storage Service (Amazon S3) qui stocke vos journaux. Pour plus d'informations sur l'utilisation de l'éditeur de requête, voir Mise en route.Cette requête indique
ROW FORMAT DELIMITED
etFIELDS TERMINATED BY '\t'
indique que les champs sont délimités par des tabulations. EnROW FORMAT DELIMITED
effet, Athéna utilise le LazySimpleSerDepar défaut. La colonnedate
est une séquence d'échappement avec des guillemets simples inversés (`), car il s'agit d'un mot réservé dans Athena. Pour plus d’informations, veuillez consulter Échapper aux mots clés réservés dans les requêtes.CREATE EXTERNAL TABLE IF NOT EXISTS cloudfront_standard_logs ( `date` DATE, time STRING, x_edge_location STRING, sc_bytes BIGINT, c_ip STRING, cs_method STRING, cs_host STRING, cs_uri_stem STRING, sc_status INT, cs_referrer STRING, cs_user_agent STRING, cs_uri_query STRING, cs_cookie STRING, x_edge_result_type STRING, x_edge_request_id STRING, x_host_header STRING, cs_protocol STRING, cs_bytes BIGINT, time_taken FLOAT, x_forwarded_for STRING, ssl_protocol STRING, ssl_cipher STRING, x_edge_response_result_type STRING, cs_protocol_version STRING, fle_status STRING, fle_encrypted_fields INT, c_port INT, time_to_first_byte FLOAT, x_edge_detailed_result_type STRING, sc_content_type STRING, sc_content_len BIGINT, sc_range_start BIGINT, sc_range_end BIGINT ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LOCATION 's3://amzn-s3-demo-bucket/' TBLPROPERTIES ( 'skip.header.line.count'='2' )
-
Exécutez la requête dans la console Athena. Une fois que la requête est terminée, Athena enregistre la table
cloudfront_standard_logs
, de telle sorte que les données soient prêtes pour que vous puissiez émettre des requêtes.
Exemples de requêtes
La requête suivante additionne le nombre d'octets servis CloudFront entre le 9 juin et le 11 juin 2018. Placez le nom de colonne de date entre guillemets doubles car c'est un mot réservé.
SELECT SUM(bytes) AS total_bytes
FROM cloudfront_standard_logs
WHERE "date" BETWEEN DATE '2018-06-09' AND DATE '2018-06-11'
LIMIT 100;
Pour éliminer les lignes en double (par exemple, les lignes vides en double) des résultats de la requête, vous pouvez utiliser l'instruction SELECT DISTINCT
, comme dans l'exemple suivant.
SELECT DISTINCT *
FROM cloudfront_standard_logs
LIMIT 10;