Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
catatan
Prosedur berikut berfungsi untuk log akses distribusi Web CloudFront. Itu tidak berlaku untuk streaming log dari RTMP distribusi.
Untuk membuat tabel untuk bidang file log CloudFront standar
-
Salin dan tempel DDL pernyataan contoh berikut ke Editor Kueri di konsol Athena. Pernyataan contoh menggunakan bidang file log yang didokumentasikan di bagian bidang file log Standar dari Panduan CloudFront Pengembang Amazon. Memodifikasi
LOCATION
untuk bucket Amazon S3 yang menyimpan log Anda. Untuk informasi selengkapnya, lihat Memulai Penggunaan editor kueri untukKueri ini menentukan
ROW FORMAT DELIMITED
danFIELDS TERMINATED BY '\t'
untuk menunjukkan bahwa bidang dibatasi oleh karakter tab. UntukROW FORMAT DELIMITED
, Athena menggunakan secara LazySimpleSerDedefault. Kolomdate
melarikan diri menggunakan backticks (`) karena itu adalah kata reserved di Athena. Untuk informasi, lihat Melarikan diri dari kata kunci yang dicadangkan dalam kueri.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' )
-
Jalankan kueri di konsol Athena. Setelah kueri selesai, Athena register
cloudfront_standard_logs
tabel, membuat data di dalamnya siap bagi Anda untuk mengeluarkan kueri.
Kueri contoh
Kueri berikut menambahkan jumlah byte yang dilayani CloudFront antara 9 Juni dan 11 Juni 2018. Mengelilingi nama kolom tanggal dengan tanda kutip ganda karena merupakan kata reserved.
SELECT SUM(bytes) AS total_bytes
FROM cloudfront_standard_logs
WHERE "date" BETWEEN DATE '2018-06-09' AND DATE '2018-06-11'
LIMIT 100;
Untuk menghilangkan duplikat baris (misalnya, duplikat baris kosong) dari hasil kueri, Anda dapat menggunakanSELECT DISTINCT
pernyataan, seperti dalam contoh berikut.
SELECT DISTINCT *
FROM cloudfront_standard_logs
LIMIT 10;