Ausführen und Verwalten von CloudTrail Lake-Abfragen mit dem AWS CLI - AWS CloudTrail

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Ausführen und Verwalten von CloudTrail Lake-Abfragen mit dem AWS CLI

Sie können den verwenden AWS CLI , um Ihre CloudTrail Lake-Abfragen auszuführen und zu verwalten. Denken Sie bei der Verwendung von daran AWS CLI, dass Ihre Befehle in der für Ihr Profil AWS-Region konfigurierten Version ausgeführt werden. Wenn Sie die Befehle in einer anderen Region ausführen möchten, ändern Sie entweder die Standardregion für Ihr Profil, oder verwenden Sie den --region-Parameter mit dem Befehl.

Verfügbare Befehle für CloudTrail Lake-Abfragen

Zu den Befehlen zum Ausführen und Verwalten von Abfragen in CloudTrail Lake gehören:

  • start-queryum eine Abfrage auszuführen.

  • describe-queryum Metadaten zu einer Abfrage zurückzugeben.

  • get-query-resultsum Abfrageergebnisse für die angegebene Abfrage-ID zurückzugeben.

  • list-queriesum eine Liste von Abfragen für den angegebenen Ereignisdatenspeicher abzurufen.

  • cancel-queryum eine laufende Abfrage abzubrechen.

Eine Liste der verfügbaren Befehle für CloudTrail Lake-Ereignisdatenspeicher finden Sie unterVerfügbare Befehle für Ereignisdatenspeicher.

Eine Liste der verfügbaren Befehle für CloudTrail Lake-Integrationen finden Sie unterVerfügbare Befehle für CloudTrail Lake-Integrationen.

Starten Sie eine Abfrage mit dem AWS CLI

Der folgende AWS CLI start-query Beispielbefehl führt eine Abfrage für den Ereignisdatenspeicher aus, der in der Abfrageanweisung als ID angegeben ist, und übermittelt die Abfrageergebnisse an einen angegebenen S3-Bucket. Der --query-statement Parameter stellt eine SQL Abfrage bereit, die in einfache Anführungszeichen eingeschlossen ist. Optionale Parameter umfassen --delivery-s3-uri, um die Abfrageergebnisse an einen angegebenen S3-Bucket zu liefern. Weitere Informationen zur Abfragesprache, die Sie in CloudTrail Lake verwenden können, finden Sie unterCloudTrail SQLEinschränkungen am See.

aws cloudtrail start-query --query-statement 'SELECT eventID, eventTime FROM EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE LIMIT 10' --delivery-s3-uri "s3://aws-cloudtrail-lake-query-results-123456789012-us-east-1"

Die Antwort ist eine QueryId-Zeichenfolge. Um den Status einer Abfrage zu abzurufen, führen Sie describe-query mit dem von start-query zurückgegebenen Wert QueryId aus. Wenn die Abfrage erfolgreich ist, können Sie get-query-results ausführen, um Ergebnisse zu erzielen.

Ausgabe

{ "QueryId": "EXAMPLE2-0add-4207-8135-2d8a4EXAMPLE" }
Anmerkung

Abfragen, die länger als eine Stunde laufen, können ablaufen. Sie können immer noch Teilergebnisse erhalten, die vor dem Timeout der Abfrage verarbeitet wurden.

Wenn Sie die Abfrageergebnisse mithilfe des optionalen --delivery-s3-uri Parameters an einen S3-Bucket übermitteln, muss die Bucket-Richtlinie die CloudTrail Erlaubnis erteilen, Abfrageergebnisse an den Bucket zu senden. Informationen zur manuellen Bearbeitung der Bucket-Richtlinie finden Sie im Abschnitt Amazon S3 S3-Bucket-Richtlinie für CloudTrail Lake-Abfrageergebnisse.

Rufen Sie Metadaten zu einer Abfrage ab mit dem AWS CLI

Mit dem folgenden AWS CLI describe-query Beispielbefehl werden Metadaten zu einer Abfrage abgerufen, einschließlich der Abfragelaufzeit in Millisekunden, der Anzahl der gescannten und abgeglichenen Ereignisse, der Gesamtzahl der gescannten Byte und des Abfragestatus. Der BytesScanned-Wert entspricht der Anzahl der Bytes, für die Ihrem Konto die Abfrage in Rechnung gestellt wird, es sei denn, die Abfrage wird noch ausgeführt. Wenn die Abfrageergebnisse an einen S3-Bucket übermittelt wurden, enthält die Antwort auch den S3 URI und den Übermittlungsstatus.

Sie müssen entweder einen Wert für den --query-id- oder den --query-alias-Parameter angeben. Die Angabe des --query-alias-Parameters gibt Informationen über den letzten Abfragelauf für den Alias zurück.

aws cloudtrail describe-query --query-id EXAMPLEd-17a7-47c3-a9a1-eccf7EXAMPLE

Nachfolgend finden Sie eine Beispielantwort.

{ "QueryId": "EXAMPLE2-0add-4207-8135-2d8a4EXAMPLE", "QueryString": "SELECT eventID, eventTime FROM EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE LIMIT 10", "QueryStatus": "RUNNING", "QueryStatistics": { "EventsMatched": 10, "EventsScanned": 1000, "BytesScanned": 35059, "ExecutionTimeInMillis": 3821, "CreationTime": "1598911142" } }

Holen Sie sich Abfrageergebnisse mit dem AWS CLI

Der folgende AWS CLI get-query-results-Beispielbefehl ruft Ereignisdatenergebnisse einer Abfrage ab. Sie müssen das vom Befehl start-query zurückgegebene --query-id angeben. Der BytesScanned-Wert entspricht der Anzahl der Bytes, für die Ihrem Konto die Abfrage in Rechnung gestellt wird, es sei denn, die Abfrage wird noch ausgeführt. Optionale Parameter umfassen --max-query-results, um eine maximale Anzahl von Ergebnissen anzugeben, die der Befehl auf einer einzelnen Seite zurückgeben soll. Wenn es mehr Ergebnisse als den von Ihnen angegebenen --max-query-results-Wert gibt, führen Sie den Befehl NextToken erneut aus und fügen den zurückgegebenen Wert hinzu, um die nächste Seite mit Ergebnissen zu erhalten.

aws cloudtrail get-query-results --query-id EXAMPLEd-17a7-47c3-a9a1-eccf7EXAMPLE

Ausgabe

{ "QueryStatus": "RUNNING", "QueryStatistics": { "ResultsCount": 244, "TotalResultsCount": 1582, "BytesScanned":27044 }, "QueryResults": [ { "key": "eventName", "value": "StartQuery", } ], "QueryId": "EXAMPLE2-0add-4207-8135-2d8a4EXAMPLE", "QueryString": "SELECT eventID, eventTime FROM EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE LIMIT 10", "NextToken": "20add42078135EXAMPLE" }

Listet alle Abfragen in einem Ereignisdatenspeicher auf mit dem AWS CLI

Der folgende AWS CLI list-queries-Beispielbefehl gibt eine Liste von Abfragen und deren Abfragestatus in einem bestimmten Ereignisdatenspeicher für die letzten sieben Tage zurück. Sie müssen ein ARN oder das ID-Suffix eines ARN Werts für --event-data-store angeben. Um die Liste der Ergebnisse zu verkürzen, können Sie optional einen als Zeitstempel formatierten Zeitbereich angeben, indem Sie die Parameter --start-time und --end-time und einen --query-status-Wert hinzufügen. Gültige Werte für QueryStatus sind u. a.: QUEUED, RUNNING, FINISHED, FAILED oder CANCELLED.

list-queries hat auch optionale Paginierungsparameter. Verwenden Sie --max-results, um eine maximale Anzahl von Ergebnissen anzugeben, die der Befehl auf einer einzelnen Seite zurückgeben soll. Wenn es mehr Ergebnisse als den von Ihnen angegebenen --max-results-Wert gibt, führen Sie den Befehl NextToken erneut aus und fügen den zurückgegebenen Wert hinzu, um die nächste Seite mit Ergebnissen zu erhalten.

aws cloudtrail list-queries --event-data-store EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE --query-status CANCELLED --start-time 1598384589 --end-time 1598384602 --max-results 10

Ausgabe

{ "Queries": [ { "QueryId": "EXAMPLE2-0add-4207-8135-2d8a4EXAMPLE", "QueryStatus": "CANCELLED", "CreationTime": 1598911142 }, { "QueryId": "EXAMPLE2-4e89-9230-2127-5dr3aEXAMPLE", "QueryStatus": "CANCELLED", "CreationTime": 1598296624 } ], "NextToken": "20add42078135EXAMPLE" }

Brechen Sie eine laufende Abfrage ab mit dem AWS CLI

Der folgende AWS CLI cancel-query Beispielbefehl storniert eine Abfrage mit dem Status. RUNNING Sie müssen einen Wert für --query-id angeben. Wenn Sie cancel-query ausführen, wird der Abfragestatus möglicherweise als CANCELLED angezeigt, auch wenn der cancel-query-Vorgang noch nicht abgeschlossen ist.

Anmerkung

Für eine abgebrochene Anfrage können Gebühren anfallen. Ihr Konto wird immer noch für die Datenmenge belastet, die gescannt wurde, bevor Sie die Abfrage abgebrochen haben.

Das Folgende ist ein CLI Beispiel.

aws cloudtrail cancel-query --query-id EXAMPLEd-17a7-47c3-a9a1-eccf7EXAMPLE

Ausgabe

QueryId -> (string) QueryStatus -> (string)