Criar uma tabela para logs em tempo real do CloudFront - Amazon Athena

Criar uma tabela para logs em tempo real do CloudFront

Para criar uma tabela para campos de arquivo de log em tempo real do CloudFront
  1. Copie e cole o exemplo de instrução DDL a seguir no editor de consultas no console do Athena. O exemplo de instrução usa os campos do arquivo de log documentados na seção Logs em tempo real do Guia do usuário do Amazon CloudFront. Modifique o LOCATION para o bucket do Amazon S3 que armazena seus logs. Para obter informações sobre como usar o editor de consultas, acesse Conceitos básicos.

    Essa consulta especifica ROW FORMAT DELIMITED e FIELDS TERMINATED BY '\t' para indicar que os campos são delimitados por caracteres de tabulação. Para ROW FORMAT DELIMITED, o Athena usa o LazySimpleSerDe por padrão. A coluna timestamp é escapada com acentos graves (`) porque se trata de uma palavra reservada no Athena. Para ter mais informações, consulte Escapar palavras-chave reservadas em consultas.

    O exemplo a seguir contém todos os campos disponíveis. Você pode comentar ou remover campos que não sejam necessários.

    CREATE EXTERNAL TABLE IF NOT EXISTS cloudfront_real_time_logs ( `timestamp` STRING, c_ip STRING, time_to_first_byte BIGINT, sc_status BIGINT, sc_bytes BIGINT, cs_method STRING, cs_protocol STRING, cs_host STRING, cs_uri_stem STRING, cs_bytes BIGINT, x_edge_location STRING, x_edge_request_id STRING, x_host_header STRING, time_taken BIGINT, cs_protocol_version STRING, c_ip_version STRING, cs_user_agent STRING, cs_referer STRING, cs_cookie STRING, cs_uri_query STRING, x_edge_response_result_type STRING, x_forwarded_for STRING, ssl_protocol STRING, ssl_cipher STRING, x_edge_result_type STRING, fle_encrypted_fields STRING, fle_status STRING, sc_content_type STRING, sc_content_len BIGINT, sc_range_start STRING, sc_range_end STRING, c_port BIGINT, x_edge_detailed_result_type STRING, c_country STRING, cs_accept_encoding STRING, cs_accept STRING, cache_behavior_path_pattern STRING, cs_headers STRING, cs_header_names STRING, cs_headers_count BIGINT, primary_distribution_id STRING, primary_distribution_dns_name STRING, origin_fbl STRING, origin_lbl STRING, asn STRING ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LOCATION 's3://amzn-s3-demo-bucket/' TBLPROPERTIES ( 'skip.header.line.count'='2' )
  2. Execute a consulta no console do Athena. Depois que a consulta for concluída, o Athena registrará a tabela cloudfront_real_time_logs, preparando os dados dela para você fazer as consultas.