全部产品
Search
文档中心

ActionTrail:Pernyataan SQL dalam kueri peristiwa lanjutan

更新时间:Jun 28, 2025

Anda dapat menggunakan pernyataan SQL dalam kueri peristiwa lanjutan untuk menanyakan atau menganalisis peristiwa yang dikirimkan ke Simple Log Service dengan menggunakan jejak.

Penting

Jika Anda ingin menggunakan string dalam pernyataan analitik, Anda harus mengapit string tersebut dengan tanda kutip tunggal (''). String yang tidak diapit atau string yang diapit dengan tanda kutip ganda ("") menunjukkan nama bidang atau nama kolom. Sebagai contoh, 'status' menunjukkan string status, sedangkan status atau "status" menunjukkan bidang log status.

Contoh

  • Kueri Teks Penuh

    Tentukan kata kunci seperti nama bidang atau nilai bidang.

    Contoh: Kueri peristiwa yang mengandung kata kunci DescribeInstances.

    DescribeInstances 
  • Pencocokan Tepat Berdasarkan Atribut

    Tentukan properti peristiwa dalam format [Nama Properti Peristiwa]:[Nilai Properti Peristiwa]. Anda harus menentukan nama dan nilai yang tepat. Untuk informasi lebih lanjut tentang properti peristiwa, lihat Properti Peristiwa dalam topik ini.

    Contoh: Kueri peristiwa di mana nilai dari event.eventSource adalah actiontrail.cn-hangzhou.aliyuncs.com.

    event.eventSource: actiontrail.cn-hangzhou.aliyuncs.com
  • Pencocokan Kabur Berdasarkan Atribut

    Tentukan properti peristiwa dalam format [Nama Properti Peristiwa]:[Nilai Properti Peristiwa]. Anda harus menentukan nama yang tepat. Untuk nilainya, Anda dapat menambahkan tanda bintang (*) untuk mencocokkan beberapa karakter atau tanda tanya (?) untuk mencocokkan satu karakter.

    • Contoh 1: Kueri semua peristiwa akses berbasis pasangan AccessKey.

       event.userIdentity.accessKeyId: *
    • Contoh 2: Kueri peristiwa di mana nilai dari event.eventSource dimulai dengan actiontrail.

      event.eventSource: actiontrail*
  • Kueri Multi-Kondisi

    Gunakan tanda kurung () dan operator logika AND atau OR untuk melakukan kueri multi-kondisi.

    • Contoh 1: Kueri semua peristiwa pada kegagalan akses berbasis pasangan AccessKey.

      event.errorCode: * AND event.userIdentity.accessKeyId: *
    • Contoh 2: Kueri peristiwa di mana nilai dari event.eventName adalah Create, CreateInstance, atau RunInstances.

       event.eventName: Create  OR event.eventName: CreateInstance  OR event.eventName: RunInstances 
    • Contoh 3: Kueri peristiwa di mana nilai dari event.serviceName adalah kafka dan nilai eventName adalah Create, CreateInstance, atau RunInstances.

      (event.serviceName: AliKafka AND ( event.eventName: Create  OR event.eventName: CreateInstance  OR event.eventName: RunInstances  )

  • Kueri Agregat

    Anda dapat menggunakan sintaksis kueri agregat dari Simple Log Service untuk menghasilkan statistik agregat pada peristiwa. Sebagai contoh, Anda dapat menggunakan klausa GROUP BY untuk menghasilkan statistik agregat pada bidang tertentu.

    • Contoh 1: Kueri jumlah peristiwa yang di-aggregat berdasarkan layanan cloud.

      * | SELECT "event.serviceName" AS service, COUNT(*) AS count FROM log GROUP BY "event.serviceName"
    • Contoh 2: Kueri jumlah peristiwa yang di-aggregat berdasarkan pengguna dan layanan cloud.

      * | SELECT "event.userIdentity.principalId" AS principalId, "event.serviceName" AS service, COUNT(*) AS count FROM log GROUP BY principalId,service

Properti peristiwa

Tabel berikut menjelaskan atribut peristiwa yang didukung oleh ActionTrail.

Kategori

Nama properti peristiwa

Deskripsi

Operator

event.userIdentity.accountId

ID akun Alibaba Cloud.

event.userIdentity.accessKeyId

ID kunci.

event.userIdentity.principalId

ID peminta.

event.userIdentity.type

Jenis akun.

event.userIdentity.userName

Nama pengguna.

Aksi

event.serviceName

Nama layanan.

event.eventRW

Jenis baca/tulis.

event.eventName

Nama peristiwa.

event.apiVersion

Informasi versi.

event.errorMessage

Pesan kesalahan.

event.errorCode

Kode kesalahan.

Sumber daya terkait

event.resourceType

Jenis sumber daya.

event.resourceName

Nama sumber daya.

Lokasi

event.acsRegion

Wilayah.

event.eventSource

Sumber peristiwa.

event.sourceIpAddress

Alamat IP sumber.

Lainnya

event.requestId

ID permintaan.

event.eventId

ID peristiwa.

Fungsi agregat

Tabel berikut menjelaskan fungsi agregat yang didukung oleh ActionTrail.

Fungsi

Sintaksis

Deskripsi

Didukung dalam SQL

Didukung dalam SPL

fungsi sembarang

arbitrary(x)

Mengembalikan nilai acak, bukan null dari bidang x.

×

fungsi avg

avg(x)

Menghitung rata-rata dari nilai-nilai bidang x.

×

fungsi bitwise_and_agg

bitwise_and_agg(x)

Mengembalikan hasil operasi bitwise AND pada nilai-nilai bidang x.

×

fungsi bitwise_or_agg

bitwise_or_agg(x)

Mengembalikan hasil operasi bitwise OR pada nilai-nilai bidang x.

×

fungsi bool_and

bool_and(ekspresi boolean)

Memeriksa apakah semua log memenuhi kondisi tertentu. Jika ya, fungsi mengembalikan true.

Fungsi ini setara dengan fungsi every.

×

fungsi bool_or

bool_or(ekspresi boolean)

Memeriksa apakah ada log yang memenuhi kondisi tertentu. Jika ya, fungsi mengembalikan true.

×

fungsi checksum

checksum(x)

Menghitung checksum dari nilai-nilai bidang x.

×

fungsi count

count(*)

Menghitung jumlah log.

×

count(1)

Menghitung jumlah log. Fungsi ini setara dengan fungsi count(*).

×

count(x)

Menghitung jumlah log yang nilainya pada bidang x bukan NULL.

×

fungsi count_if

count_if(ekspresi boolean)

Menghitung jumlah log yang memenuhi kondisi tertentu.

×

fungsi every

every(ekspresi boolean)

Memeriksa apakah semua log memenuhi kondisi tertentu. Jika ya, fungsi mengembalikan true.

Fungsi ini setara dengan fungsi bool_and.

×

fungsi geometric_mean

geometric_mean(x)

Menghitung rata-rata geometrik dari nilai-nilai bidang x.

×

fungsi kurtosis

kurtosis(x)

Menghitung kurtosis dari nilai-nilai bidang x.

×

fungsi map_union

map_union(x)

Mengembalikan hasil operasi union pada peta yang ditentukan. Jika sebuah kunci ada di beberapa peta input, fungsi secara acak mengembalikan salah satu nilai dari kunci tersebut.

×

fungsi max

max(x)

Mengkuerinilai terbesar dari bidang x.

×

max(x, n)

Mengkueri n nilai terbesar dari bidang x. Fungsi mengembalikan array.

×

fungsi max_by

max_by(x, y)

Mengkueri nilai dari x yang terkait dengan nilai terbesar dari bidang y.

×

max_by(x, y, n)

Mengkueri nilai-nilai dari x yang terkait dengan n nilai terbesar dari bidang y. Fungsi mengembalikan array.

×

fungsi min

min(x)

Mengkueri nilai terkecil dari bidang x.

×

min(x, n)

Mengkueri n nilai terkecil dari bidang x. Fungsi mengembalikan array.

×

fungsi min_by

min_by(x, y)

Mengkueri nilai dari x yang terkait dengan nilai terkecil dari bidang y.

×

min_by(x, y, n)

Mengkueri nilai-nilai dari x yang terkait dengan n nilai terkecil dari bidang y. Fungsi mengembalikan array.

×

fungsi skewness

skewness(x)

Menghitung kemiringan dari nilai-nilai bidang x.

×

fungsi sum

sum(x)

Menghitung jumlah dari nilai-nilai bidang x.

×

Kata-kata cadangan

Blok kode berikut menunjukkan semua kata-kata cadangan dalam pernyataan SQL:

AND
AS
BETWEEN
BY
CASE
CAST
CROSS
CUBE
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
DISTINCT
ELSE
END
ESCAPE
EXCEPT
EXISTS
FROM
GROUP
GROUPING
HAVING
IN
INNER
INSERT
INTERSECT
INTO
IS
JOIN
LEFT
LIKE
LIMIT
LOCALTIME
LOCALTIMESTAMP
NATURAL
NOT
NULL
ON
OR
ORDER
OUTER
RIGHT
ROLLUP
SELECT
THEN
TRUE
UNION
UNNEST
VALUES
WHEN
WHERE
WITH