Beispielabfragen - Amazon Athena

Beispielabfragen

Die folgenden Beispiele zeigen einige Abfragen, die Sie von Athena in Ihren Resolver-Abfrageprotokollen ausführen können.

Beispiel 1 – Abfragen von Protokollen in absteigender Reihenfolge query_timestamp

Die folgende Abfrage zeigt Protokollergebnisse in absteigender query_timestamp-Reihenfolge an.

SELECT * FROM "r53_rlogs" ORDER BY query_timestamp DESC

Beispiel 2 – Abfrage von Protokollen innerhalb der angegebenen Start- und Endzeiten

Die folgende Abfrage fragt Protokolle zwischen Mitternacht und 8 Uhr am 24. September 2020 ab. Ersetzen Sie die Start- und Endzeiten nach Ihren eigenen Anforderungen.

SELECT query_timestamp, srcids.instance, srcaddr, srcport, query_name, rcode FROM "r53_rlogs" WHERE (parse_datetime(query_timestamp,'yyyy-MM-dd''T''HH:mm:ss''Z') BETWEEN parse_datetime('2020-09-24-00:00:00','yyyy-MM-dd-HH:mm:ss') AND parse_datetime('2020-09-24-00:08:00','yyyy-MM-dd-HH:mm:ss')) ORDER BY query_timestamp DESC

Beispiel 3 – Abfrageprotokolle basierend auf einem angegebenen DNS-Abfragenamenmuster

Die folgende Abfrage wählt Datensätze aus, deren Abfragename die Zeichenfolge „example.com“ enthält.

SELECT query_timestamp, srcids.instance, srcaddr, srcport, query_name, rcode, answers FROM "r53_rlogs" WHERE query_name LIKE '%example.com%' ORDER BY query_timestamp DESC

Beispiel 4 – Abfrageprotokollanforderungen ohne Antwort

Die folgende Abfrage wählt Protokolleinträge aus, in denen die Anforderung keine Antwort erhalten hat.

SELECT query_timestamp, srcids.instance, srcaddr, srcport, query_name, rcode, answers FROM "r53_rlogs" WHERE cardinality(answers) = 0

Beispiel 5 – Abfragen von Protokollen mit einer bestimmten Antwort

Die folgende Abfrage zeigt Protokolle, in denen der answer.Rdata-Wert die angegebene IP-Adresse hat.

SELECT query_timestamp, srcids.instance, srcaddr, srcport, query_name, rcode, answer.Rdata FROM "r53_rlogs" CROSS JOIN UNNEST(r53_rlogs.answers) as st(answer) WHERE answer.Rdata='203.0.113.16';