

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Buat kueri CloudTrail Danau dari petunjuk bahasa alami
<a name="lake-query-generator"></a>

Anda dapat menggunakan generator kueri CloudTrail Lake untuk menghasilkan kueri dari prompt bahasa Inggris yang Anda berikan. Generator kueri menggunakan kecerdasan buatan generatif (AI generatif) untuk menghasilkan kueri ready-to-use SQL dari prompt Anda, yang kemudian dapat Anda pilih untuk dijalankan di editor kueri Lake, atau selengkapnya. Anda tidak perlu memiliki pengetahuan luas tentang SQL atau bidang CloudTrail acara untuk menggunakan generator kueri.

Prompt dapat berupa pertanyaan atau pernyataan tentang data acara di penyimpanan data acara CloudTrail Lake Anda. Misalnya, Anda dapat memasukkan petunjuk seperti "What are my top errors in the past month?" dan “Give me a list of users that used SNS.”

Prompt dapat memiliki minimal 3 karakter dan maksimal 500 karakter.

Tidak ada biaya untuk menghasilkan kueri; Namun, ketika Anda menjalankan kueri, Anda dikenakan biaya berdasarkan jumlah data yang dioptimalkan dan dikompresi yang dipindai. Untuk membantu mengontrol biaya, sebaiknya Anda membatasi kueri dengan menambahkan `eventTime` stempel waktu awal dan akhir ke kueri.

**catatan**  
Anda dapat memberikan umpan balik tentang kueri yang dihasilkan dengan memilih tombol jempol ke atas atau jempol ke bawah yang muncul di bawah kueri yang dihasilkan. Saat Anda memberikan umpan balik, CloudTrail menyimpan prompt Anda dan kueri yang dihasilkan.  
Jangan sertakan informasi identitas pribadi, rahasia, atau sensitif apa pun dalam permintaan Anda.  
Fitur ini menggunakan model bahasa besar AI generatif (LLMs); kami sarankan untuk memeriksa ulang respons LLM.

**catatan**  
CloudTrail akan secara otomatis memilih wilayah optimal dalam geografi Anda untuk memproses permintaan inferensi sambil menghasilkan kueri. Ini memaksimalkan sumber daya komputasi yang tersedia, ketersediaan model, dan memberikan pengalaman pelanggan terbaik. Data Anda akan tetap disimpan hanya di wilayah tempat permintaan berasal, namun, permintaan input dan hasil keluaran dapat diproses di luar wilayah tersebut. Semua data akan dikirimkan dienkripsi di seluruh jaringan aman Amazon.  
 CloudTrail akan dengan aman merutekan permintaan inferensi Anda ke sumber daya komputasi yang tersedia dalam wilayah geografis tempat permintaan tersebut berasal, sebagai berikut:   
Permintaan inferensi yang berasal dari Amerika Serikat akan diproses di Amerika Serikat
Permintaan inferensi yang berasal dari Jepang akan diproses di Jepang
Permintaan inferensi yang berasal dari Australia akan diproses di Australia.
Permintaan inferensi yang berasal dari Uni Eropa akan diproses di dalam Uni Eropa
Permintaan inferensi yang berasal dari India akan diproses di India
 Untuk memilih keluar dari fitur pembuatan kueri, Anda dapat secara eksplisit menolak atau menghapus `cloudtrail:GenerateQuery` tindakan dari kebijakan iam yang Anda gunakan. 

Anda dapat mengakses generator kueri menggunakan CloudTrail konsol dan AWS CLI.

------
#### [ CloudTrail console ]

**Untuk menggunakan generator kueri di CloudTrail konsol**

1. Masuk ke Konsol Manajemen AWS dan buka CloudTrail konsol di [https://console.aws.amazon.com/cloudtrail/](https://console.aws.amazon.com/cloudtrail/).

1.  Dari panel navigasi, di bawah **Danau**, pilih **Kueri**. 

1. Pada halaman **Query**, pilih tab **Editor**.

1. Pilih penyimpanan data acara yang ingin Anda buat kueri.

1. Di area **generator Query**, masukkan prompt dalam bahasa Inggris biasa. Sebagai contoh, lihat [Contoh petunjuk](#lake-query-generator-examples).

1. Pilih **Hasilkan kueri**. Generator kueri akan mencoba menghasilkan kueri dari prompt Anda. Jika berhasil, generator kueri menyediakan kueri SQL di editor. Jika prompt tidak berhasil, ulangi prompt Anda dan coba lagi.

1. (Opsional) Anda dapat memberikan umpan balik tentang kueri yang dihasilkan. Untuk memberikan umpan balik, pilih tombol jempol ke atas atau jempol ke bawah yang muncul di bawah prompt. Saat Anda memberikan umpan balik, CloudTrail menyimpan prompt Anda dan kueri yang dihasilkan.

1. (Opsional) Pilih **Jalankan** untuk menjalankan kueri.
**catatan**  
Saat menjalankan kueri, Anda dikenakan biaya berdasarkan jumlah data yang dioptimalkan dan dikompresi yang dipindai. Untuk membantu mengontrol biaya, sebaiknya Anda membatasi kueri dengan menambahkan `eventTime` stempel waktu awal dan akhir ke kueri.

1. (Opsional) Jika Anda menjalankan kueri dan ada hasil, Anda dapat memilih **Ringkas hasil** untuk menghasilkan ringkasan bahasa alami dalam bahasa Inggris dari hasil kueri. Opsi ini menggunakan kecerdasan buatan generatif (AI generatif) untuk menghasilkan ringkasan. Untuk informasi selengkapnya tentang metrik ini, lihat [Meringkas hasil kueri dalam bahasa alami](query-results-summary.md).

   Anda dapat memberikan umpan balik tentang ringkasan dengan memilih tombol jempol ke atas atau jempol ke bawah yang muncul di bawah ringkasan yang dihasilkan.
**catatan**  
Fitur ringkasan kueri ada dalam rilis pratinjau untuk CloudTrail Lake dan dapat berubah sewaktu-waktu. Fitur ini tersedia di wilayah berikut: Asia Pasifik (Tokyo), AS Timur (Virginia N.), dan AS Barat (Oregon).

------
#### [ AWS CLI ]

**Untuk menghasilkan kueri dengan AWS CLI**

Jalankan `generate-query` perintah untuk menghasilkan kueri dari prompt bahasa Inggris. Untuk`--event-data-stores`, berikan ARN (atau akhiran ID ARN) dari penyimpanan data acara yang ingin Anda kueri. Anda hanya dapat menentukan satu penyimpanan data acara. Untuk`--prompt`, berikan prompt dalam bahasa Inggris. 

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

Jika berhasil, perintah mengeluarkan pernyataan SQL dan memberikan `QueryAlias` yang akan Anda gunakan dengan `start-query` perintah untuk menjalankan kueri terhadap penyimpanan data acara Anda.

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

**Untuk menjalankan kueri dengan AWS CLI**

Jalankan `start-query` perintah dengan `QueryAlias` output oleh `generate-query` perintah pada contoh sebelumnya. Anda juga memiliki opsi untuk menjalankan `start-query` perintah dengan menyediakan file`QueryStatement`.

```
aws cloudtrail start-query --query-alias {{AWSCloudTrail-UUID}}
```

Responsnya adalah `QueryId` string. Untuk mendapatkan status kueri, jalankan `describe-query` menggunakan `QueryId` nilai yang dikembalikan oleh`start-query`. Jika kueri berhasil, Anda dapat menjalankan `get-query-results` untuk mendapatkan hasil.

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

**catatan**  
Kueri yang berjalan lebih dari satu jam mungkin habis. Anda masih bisa mendapatkan sebagian hasil yang diproses sebelum waktu kueri habis.  
Jika Anda mengirimkan hasil kueri ke bucket S3 menggunakan `--delivery-s3uri` parameter opsional, kebijakan bucket harus memberikan CloudTrail izin untuk mengirimkan hasil kueri ke bucket. Untuk informasi tentang mengedit kebijakan bucket secara manual, lihat[Kebijakan bucket Amazon S3 untuk hasil kueri CloudTrail Lake](s3-bucket-policy-lake-query-results.md).

------

## Izin yang diperlukan
<a name="lake-query-generator-permissions."></a>

Kebijakan [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCloudTrail_FullAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCloudTrail_FullAccess.html)dan kebijakan [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AdministratorAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AdministratorAccess.html)terkelola keduanya memberikan izin yang diperlukan untuk menggunakan fitur ini.

Anda juga dapat menyertakan tindakan `cloudtrail:GenerateQuery` dalam kebijakan terkelola atau inline pelanggan baru atau yang sudah ada.

## Dukungan Wilayah
<a name="lake-query-generator-regions"></a>

Fitur ini didukung sebagai berikut Wilayah AWS:
+ Wilayah Asia Pasifik (Mumbai) (ap-south-1)
+ Wilayah Asia Pasifik (Sydney) (ap-southeast-2)
+ Wilayah Asia Pasifik (Tokyo) (ap-northeast-1)
+ Wilayah Kanada (Tengah) (ca-central-1)
+ Wilayah Eropa (London) (eu-west-2)
+ Wilayah AS Timur (Virginia N.) (us-east-1)
+ Wilayah AS Barat (Oregon) (us-west-2)

## Batasan
<a name="lake-query-generator-limitations"></a>

Berikut ini adalah batasan generator kueri:
+ Generator kueri hanya dapat menerima petunjuk dalam bahasa Inggris.
+ Generator kueri hanya dapat menghasilkan kueri untuk penyimpanan data peristiwa yang mengumpulkan CloudTrail peristiwa (peristiwa manajemen, peristiwa data, peristiwa aktivitas jaringan).
+ Generator kueri tidak dapat menghasilkan kueri untuk prompt yang tidak berkaitan dengan data peristiwa CloudTrail Lake.

## Contoh petunjuk
<a name="lake-query-generator-examples"></a>

Bagian ini memberikan contoh prompt dan query SQL yang dihasilkan dari prompt.

Jika Anda memilih untuk menjalankan contoh kueri di bagian ini, ganti {{eds-id}} dengan ID penyimpanan data peristiwa yang ingin Anda kueri dan ganti stempel waktu dengan stempel waktu yang sesuai untuk kasus penggunaan Anda. Stempel waktu memiliki format sebagai berikut:. `YYYY-MM-DD HH:MM:SS`

**Prompt:** What are my top errors in the past month?

**Kueri SQL:**

```
SELECT
    errorMessage,
    COUNT(*) as eventCount
FROM
    {{eds-id}}
WHERE
    errorMessage IS NOT NULL
AND eventTime >= timestamp '{{2024-05-01 00:00:00}}'
AND eventTime <= timestamp '{{2024-05-31 23:59:59}}'
GROUP BY 1
ORDER BY 2 DESC
LIMIT 2;
```

**Prompt:** Give me a list of users that used Amazon SNS.

**Kueri SQL:**

```
SELECT
    DISTINCT userIdentity.arn AS user
FROM
    {{eds-id}}
WHERE
    eventSource = 'sns.amazonaws.com'
```

**Prompt:** What are my API counts each day for read and write events in the past month?

**Kueri SQL:**

```
SELECT date(eventTime) AS event_date,
    SUM(
        CASE
            WHEN readonly = true THEN 1
            ELSE 0
        END
    ) AS read_events,
    SUM(
        CASE
            WHEN readonly = false THEN 1
            ELSE 0
        END
    ) AS write_events
FROM
    {{eds-id}}
WHERE
    eventTime >= timestamp '{{2024-05-04 00:00:00}}'
AND eventTime <= timestamp '{{2024-06-04 23:59:59}}'
GROUP BY 1
ORDER BY 1 ASC;
```

**Prompt:** Show any events with access denied errors for the past three weeks.

**Kueri SQL:**

```
SELECT *
FROM 
  {{eds-id}}
WHERE
  WHERE (errorCode = 'AccessDenied' OR errorMessage = 'Access Denied')
AND eventTime >= timestamp '{{2024-05-16 01:00:00}}'
AND eventTime <= timestamp '{{2024-06-06 01:00:00}}'
```

**Prompt:** Query the number of calls each operator performed on the date *2024-05-01*. The operator is a principal tag.

**Kueri SQL:**

```
SELECT element_at(
        eventContext.tagContext.principalTags,
        'operator'
    ) AS operator,
    COUNT(*) AS eventCount
FROM
    {{eds-id}}
WHERE eventtime >= '2024-05-01 00:00:00'
    AND eventtime < '2024-05-01 23:59:59'
GROUP BY 1
ORDER BY 2 DESC;
```

**Prompt:** Give me all event IDs that touched resources within the CloudFormation stack with name *myStack* on the date *2024-05-01*.

**Kueri SQL:**

```
SELECT eventID
FROM
    {{eds-id}}
WHERE any_match(
        eventContext.tagcontext.resourcetags,
        rt->element_at(rt.tags, 'aws:cloudformation:stack-name') = 'myStack'
    )
    AND eventtime >= '2024-05-01 00:00:00'
    AND eventtime < '2024-05-01 23:59:59'
```

**Prompt:** Count the number of events grouped by resource tag '*solution*' values, listing them in descending order of count.

**Kueri SQL:**

```
SELECT element_at(rt.tags, 'solution'),
    count(*) as event_count
FROM
    {{eds-id}},
    unnest(eventContext.tagContext.resourceTags) as rt
WHERE eventtime < '2025-05-14 19:00:00'
GROUP BY 1
ORDER BY 2 DESC;
```

**Prompt:** Find all Amazon S3 data events where resource tag Environment has value *prod*.

**Kueri SQL:**

```
SELECT *
FROM
    {{eds-id}}
WHERE eventCategory = 'Data'
    AND eventSource = 's3.amazonaws.com'
    AND eventtime >= '2025-05-14 00:00:00'
    AND eventtime < '2025-05-14 20:00:00'
    AND any_match(
        eventContext.tagContext.resourceTags,
        rt->element_at(rt.tags, 'Environment') = 'prod'
    )
```