Creare la tabella per i log di query di Resolver - Amazon Athena

Creare la tabella per i log di query di Resolver

È possibile utilizzare l'editor di query nella console Athena per creare e interrogare una tabella per i log delle query di Route 53 Resolver.

Per creare ed eseguire query su una tabella Athena per i log delle query di Route 53 Resolver
  1. Aprire la console Athena all'indirizzo https://console.aws.amazon.com/athena/.

  2. Nell'editor di query Athena, inserire la seguente istruzione CREATE TABLE. Sostituire i valori della clausola LOCATION con quelli corrispondenti alla posizione dei log di Resolver nel bucket Amazon S3.

    CREATE EXTERNAL TABLE r53_rlogs ( version string, account_id string, region string, vpc_id string, query_timestamp string, query_name string, query_type string, query_class string, rcode string, answers array< struct< Rdata: string, Type: string, Class: string> >, srcaddr string, srcport int, transport string, srcids struct< instance: string, resolver_endpoint: string >, firewall_rule_action string, firewall_rule_group_id string, firewall_domain_list_id string ) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/aws_account_id/vpcdnsquerylogs/{vpc-id}/'

    Poiché i dati dei log delle query Resolver sono in formato JSON, l'istruzione CREATE TABLE utilizza una Libreria JSON SerDe per analizzare i dati.

    Nota

    SerDe prevede che ogni documento JSON sia su una singola riga di testo senza caratteri di terminazione riga che separano i campi nel registro. Se il testo JSON è formattato, quando si prova a eseguire una query sulla tabella dopo averla creata, è possibile che venga visualizzato un messaggio di errore come HIVE_CURSOR_ERROR: Row is not a valid JSON Object (HIVE_CURSOR_ERROR: la riga non è un oggetto JSON valido) o HIVE_CURSOR_ERROR: JsonParseException: Unexpected end-of-input: expected close marker for OBJECT (HIVE_CURSOR_ERROR: JSONParseException: fine di input imprevisto: indicatore di chiusura previsto per OBJECT). Per ulteriori informazioni, consulta File di dati JSON nella documentazione OpenX SerDe su GitHub.

  3. Scegli Esegui query. L'istruzione crea una tabella Athena denominata r53_rlogs le cui colonne rappresentano ciascuno dei campi nei dati dei log di Resolver.

  4. Nell'editor di query della console Athena, eseguire la seguente query per verificare che la tabella sia stata creata.

    SELECT * FROM "r53_rlogs" LIMIT 10