

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
<a name="lake-queries-cli"></a>

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
<a name="lake-queries-cli-commands"></a>

Zu den Befehlen zum Ausführen und Verwalten von Abfragen in CloudTrail Lake gehören:
+ `start-query`um eine Abfrage auszuführen.
+ `describe-query`um Metadaten zu einer Abfrage zurückzugeben.
+ `generate-query`um anhand einer Eingabeaufforderung in englischer Sprache eine Abfrage zu erstellen. Weitere Informationen finden Sie unter [Erstellen Sie CloudTrail Lake-Abfragen anhand von Eingabeaufforderungen in natürlicher Sprache](lake-query-generator.md).
+ `get-query-results`um Abfrageergebnisse für die angegebene Abfrage-ID zurückzugeben.
+ `list-queries`um eine Liste von Abfragen für den angegebenen Ereignisdatenspeicher abzurufen.
+ `cancel-query`um eine laufende Abfrage abzubrechen.

Eine Liste der verfügbaren Befehle für CloudTrail Lake-Ereignisdatenspeicher finden Sie unter[Verfügbare Befehle für Ereignisdatenspeicher](lake-eds-cli.md#lake-eds-cli-commands).

Eine Liste der verfügbaren Befehle für CloudTrail Lake-Dashboards finden Sie unter[Verfügbare Befehle für Dashboards](lake-dashboard-cli.md#lake-dashboard-cli-commands).

Eine Liste der verfügbaren Befehle für CloudTrail Lake-Integrationen finden Sie unter. [Verfügbare Befehle für CloudTrail Lake-Integrationen](lake-integrations-cli.md#lake-integrations-cli-commands)

## Erstellen Sie eine Abfrage anhand einer Eingabeaufforderung in natürlicher Sprache mit dem AWS CLI
<a name="lake-cli-generate-query"></a>

Führen Sie den `generate-query` Befehl aus, um eine Abfrage aus einer englischen Eingabeaufforderung zu generieren. Geben Sie für `--event-data-stores` den ARN (oder das ID-Suffix des ARN) des Ereignisdatenspeichers an, den Sie abfragen möchten. Sie können nur einen Ereignisdatenspeicher angeben. Geben Sie `--prompt` die Eingabeaufforderung für auf Englisch ein.

```
aws cloudtrail generate-query 
--event-data-stores arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-ee54-4813-92d5-999aeEXAMPLE \
--prompt "Show me all console login events for the past week?"
```

Bei erfolgreicher Ausführung gibt der Befehl eine SQL-Anweisung aus und stellt eine bereit`QueryAlias`, die Sie zusammen mit dem `start-query` Befehl verwenden, um die Abfrage für Ihren Ereignisdatenspeicher auszuführen.

```
{
  "QueryStatement": "SELECT * FROM $EDS_ID WHERE eventname = 'ConsoleLogin' AND eventtime >= timestamp '2024-09-16 00:00:00' AND eventtime <= timestamp '2024-09-23 00:00:00' AND eventSource = 'signin.amazonaws.com'",
  "QueryAlias": "AWSCloudTrail-UUID"
}
```

## Starten Sie eine Abfrage mit dem AWS CLI
<a name="lake-cli-start-query"></a>

Mit dem folgenden AWS CLI **start-query** Beispielbefehl wird eine Abfrage für den Ereignisdatenspeicher ausgeführt, der in der Abfrageanweisung als ID angegeben ist, und die Abfrageergebnisse werden an einen angegebenen S3-Bucket gesendet. 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 unter[CloudTrail Lake-SQL-Einschränkungen](query-limitations.md).

```
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](s3-bucket-policy-lake-query-results.md).

## Rufen Sie Metadaten zu einer Abfrage ab mit dem AWS CLI
<a name="lake-cli-describe-query"></a>

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"
    }
}
```

## Rufen Sie Abfrageergebnisse ab mit AWS CLI
<a name="lake-cli-get-query-results"></a>

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
<a name="lake-cli-list-queries"></a>

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 einen ARN oder das ID-Suffix eines ARN-Wertes 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 AWS CLI
<a name="lake-cli-cancel-query"></a>

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.

Im Folgenden sehen Sie ein CLI-Beispiel:

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

**Ausgabe**

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