

# Criar a tabela para logs de acesso do ALB
<a name="create-alb-access-logs-table"></a>

1. Copie e cole a declaração `CREATE TABLE` a seguir em um editor de consulta no console do Athena e modifique-a conforme necessário para seus próprios requisitos de entrada de log. Para obter mais informações sobre os conceitos básicos do Athena, consulte [Conceitos básicos](getting-started.md). Substitua o caminho na cláusula `LOCATION` pela localização da pasta de log de acesso do Amazon S3. Para obter mais informações sobre o local do arquivo de log de acesso, consulte [Arquivos de log de acesso](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-access-logs.html#access-log-file-format) no *Guia do usuário para Application Load Balancers*.

   Para obter informações sobre cada campo do arquivo de log, consulte [Entradas do log de acesso](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-access-logs.html#access-log-entry-format) no *Guia do usuário para Application Load Balancers*.
**nota**  
A declaração de exemplo `CREATE TABLE` a seguir inclui as colunas `classification`, `classification_reason` e `conn_trace_id` (“ID de rastreabilidade” ou TID) adicionadas recentemente. Para criar uma tabela dos logs de acesso do Application Load Balancer que não contenham essas entradas, remova as colunas correspondentes da instrução `CREATE TABLE` e modifique a expressão regex de acordo. 

   ```
   CREATE EXTERNAL TABLE IF NOT EXISTS alb_access_logs (
               type string,
               time string,
               elb string,
               client_ip string,
               client_port int,
               target_ip string,
               target_port int,
               request_processing_time double,
               target_processing_time double,
               response_processing_time double,
               elb_status_code int,
               target_status_code string,
               received_bytes bigint,
               sent_bytes bigint,
               request_verb string,
               request_url string,
               request_proto string,
               user_agent string,
               ssl_cipher string,
               ssl_protocol string,
               target_group_arn string,
               trace_id string,
               domain_name string,
               chosen_cert_arn string,
               matched_rule_priority string,
               request_creation_time string,
               actions_executed string,
               redirect_url string,
               lambda_error_reason string,
               target_port_list string,
               target_status_code_list string,
               classification string,
               classification_reason string,
               conn_trace_id string
               )
               ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe'
               WITH SERDEPROPERTIES (
               'serialization.format' = '1',
               'input.regex' = 
           '([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*):([0-9]*) ([^ ]*)[:-]([0-9]*) ([-.0-9]*) ([-.0-9]*) ([-.0-9]*) (|[-0-9]*) (-|[-0-9]*) ([-0-9]*) ([-0-9]*) \"([^ ]*) (.*) (- |[^ ]*)\" \"([^\"]*)\" ([A-Z0-9-_]+) ([A-Za-z0-9.-]*) ([^ ]*) \"([^\"]*)\" \"([^\"]*)\" \"([^\"]*)\" ([-.0-9]*) ([^ ]*) \"([^\"]*)\" \"([^\"]*)\" \"([^ ]*)\" \"([^\\s]+?)\" \"([^\\s]+)\" \"([^ ]*)\" \"([^ ]*)\" ?([^ ]*)? ?( .*)?'
               )
               LOCATION 's3://amzn-s3-demo-bucket/access-log-folder-path/'
   ```
**nota**  
Sugerimos que o padrão *`?( .*)?`* no final do parâmetro `input.regex` permaneça sempre em vigor para lidar com futuras entradas de registro, caso novos campos de log do ALB sejam adicionados. 

1. Execute a consulta no console do Athena. Depois que a consulta for concluída, o Athena registrará a tabela `alb_access_logs`, preparando os dados dela para você fazer as consultas.