Saat menelusuri aset, Anda dapat memfilter hasil penelusuran dengan menentukan kueri yang terdiri dari kolom metadata aset, operator, dan nilai.
Kolom dan referensi yang dapat ditelusuri
Untuk kolom yang dapat Anda gunakan dalam kueri searchAllResources
, lihat
Kolom ResourceSearchResult.
Untuk kolom yang dapat Anda gunakan dalam kueri searchAllIamPolicies
, lihat
Kolom IamPolicySearchResult.
Untuk resource yang dapat Anda telusuri, lihat Jenis resource.
Pencocokan teks
Saat menelusuri pencocokan teks, Anda dapat mencocokkan kolom metadata aset persis atau sebagian.
Pencocokan teks yang sama persis
Untuk pencocokan teks persis, gunakan operator =
(sama dengan) dengan sintaksis
berikut:
ASSET_METADATA_FIELD=QUERY
Contoh:
location=us-central1-a
Perhatikan aturan berikut saat melakukan pencocokan teks yang tepat:
Agar kueri bernilai benar, nilai kueri harus sama persis dengan nilai kolom metadata aset.
Untuk kolom dengan nilai daftar, jika nilai kueri cocok dengan salah satu nilai elemen ini, maka data ini dianggap cocok.
Nilai kueri peka huruf besar/kecil.
Nilai kueri pencocokan persis diperlakukan seperti frasa, tetapi tidak dapat berisi karakter pengganti.
Pencocokan teks sebagian
Untuk pencocokan teks sebagian, gunakan operator :
(has) dengan sintaksis berikut:
ASSET_METADATA_FIELD:QUERY
Contoh:
location:us-central1
Saat melakukan penelusuran dengan operator :
, nilai kueri dan aset
nilai isian {i>metadata <i}adalah
dikonversi menjadi token
sebagai perbandingan. Setiap kata dari nilai kueri diperiksa untuk mengetahui apakah kata tersebut ada
dalam urutan berturut-turut dalam nilai kolom metadata aset. Saat menggunakan
kecocokan parsial, nilai kueri tidak peka huruf besar/kecil.
Nilai kueri pencocokan sebagian dapat berupa frasa atau kombinasi frasa, dan dapat berisi karakter pengganti. Hingga 10 perbandingan dapat dibuat dalam kueri, dengan maksimum 2.048 karakter. Jika Anda memiliki kasus penggunaan untuk kueri yang lebih panjang, hubungi gcp-asset-inventory-and-search-feedback@googlegroups.com.
Aturan tokenisasi
Aturan tokenisasi untuk pencocokan teks parsial adalah sebagai berikut:
Karakter khusus di awal dan di akhir akan dihapus.
Karakter yang bukan alfanumerik (
[a-zA-Z0-9]
), garis bawah (_
), atau tanda dan (&
) diperlakukan sebagai pembatas.
Berikut beberapa contoh tokenisasi:
us-central1
ditokenkan ke[us,central1]
alex-2020@EXAMPLE.com
ditokenkan ke[alex,2020,example,com]
google.com/cloud
ditokenkan ke[google,com,cloud]
Compute %Instance%
ditokenkan ke[compute,instance]
$%^*-!
ditokenkan ke[]
compute*storage
ditokenkan ke[compute,storage]
compute&storage
ditokenkan ke[compute&storage]
ALEX_test@example.com
ditokenkan ke[alex_test,example,com]
instance/_my_vm_
ditokenkan ke[instance,_my_vm_]
Contoh pencocokan teks yang persis dan sebagian
Aset yang kolom location
-nya memiliki nilai us-central1-a
cocok dengan
terhadap kueri berikut.
Kueri | Alasan pencocokan |
---|---|
location=us-central1-a |
Cocok karena frasa us-central1-a sama persis dengan nilai kolom.
|
location:US-Central1-A |
Cocok karena karakter tanda baca diperlakukan sebagai pemisah, dan nilai kueri tidak peka huruf besar/kecil. |
location:"us central1 a" |
Cocok karena kata-kata dalam frasa "us central1 a"
mencocokkan nilai isian
dalam urutan yang berurutan.
|
location:(central1 us a) |
Cocok karena kata dalam kombinasi
(central1 us a) cocok dengan kata dalam nilai kolom dalam
urutan apa pun.
|
location:(a "us central1") |
Cocok karena frasa di dalam kombinasi,
a dan "us central1" , cocok dengan kata-kata dalam
nilai kolom dalam urutan apa pun. Karena "us central1" adalah
, kata-kata tersebut harus dicocokkan dalam urutan yang berurutan.
|
location:us-central* |
Cocok karena karakter pengganti * digunakan untuk membuat awalan
kecocokan.
|
Aset yang kolom location
-nya memiliki nilai us-central1-a
tidak cocok dengan kueri berikut.
Kueri | Alasan tidak cocok |
---|---|
location=US-central1-a |
Tidak cocok karena frasa peka huruf besar/kecil. Sebagai gantinya, gunakan operator : untuk pencocokan yang tidak peka huruf besar/kecil.
|
location=us-central1 |
Tidak cocok karena frasa cocok sebagian dengan nilai kolom.
Sebagai gantinya, gunakan operator : untuk pencocokan parsial.
|
Membuat kueri pencocokan teks
Nilai kueri dapat terdiri dari frasa, kombinasi, negasi, dan karakter pengganti.
Frasa
Frasa adalah satu atau beberapa kata yang dicocokkan secara berurutan. Untuk mencocokkan kata tanpa menghormati urutan, gunakan kombinasi.
Kueri berikut mencocokkan aset yang kolom policy
-nya memiliki kata alex
dan kata 2020
dalam urutan berturut-turut:
policy:"alex 2020"
Aset yang nilai kolom policy
-nya "alex.2020@example.com"
cocok dengan
karena kata alex
dan 2020
berada dalam urutan yang berurutan. .
diabaikan karena tanda baca diperlakukan sebagai pembatas.
Aset yang nilai kolom policy
-nya adalah "2020.alex@example.com"
atau
"alex.us.2020@example.com"
tidak cocok, karena kata alex
dan 2020
tidak berurutan.
Membuat frasa
Perhatikan aturan berikut saat Anda membuat frasa:
Jika frasa hanya berisi karakter alfabet Latin dasar ISO
[a-zA-Z]
, angka[0-9]
, konektor email atau URL dasar[_-+.@/&]
, atau karakter pengganti[*]
, frasa tersebut tidak perlu diapit tanda petik ganda:policy:alex.2020@example.com
Namun, pemberian tanda kutip ganda tetap berfungsi, dan berperilaku sama:
policy:"alex.2020@example.com"
Jika frasa memiliki spasi atau karakter khusus lainnya, frasa tersebut harus digabungkan tanda kutip ganda:
location:"us central1"
Jika frasa diapit tanda kutip ganda dan juga berisi tanda kutip ganda (
"
) atau garis miring terbalik (\
), Anda harus meng-escape-nya sebagai\"
atau\\
. Atau, ganti dengan satu spasi karena karakter non-alfanumerik diperlakukan sebagai pembatas saat melakukan penelusuran. Kueri berikut diperlakukan sama:description:"One of \"those\" descriptions." description:"One of those descriptions."
Saat menggunakan gcloud CLI atau REST API, Anda harus melakukan escape tanda kutip ganda yang digunakan untuk menunjukkan frasa:
--query="location:(a \"us central1\")"
"query": "location:(a \"us central1\")"
Kombinasi
Frasa penelusuran dapat digabungkan menggunakan operator logika huruf besar AND
atau
OR
. Menyertakan AND
bersifat opsional saat menggunakan tanda kurung. Misalnya, kueri berikut diperlakukan sama:
policy:(alex charlie)
policy:(alex AND charlie)
Jika aset berisi kolom metadata dengan daftar nilai, kombinasi AND
tidak menjamin bahwa semua kata harus berada dalam satu elemen. Misalnya,
jika kolom metadata adalah
policy=["alex@example.com", "bola@example.com", "charlie@example.com"]
,
penelusuran dengan policy:(alex charlie)
akan cocok, karena alex@example.com
berisi alex
, dan charlie@example.com
berisi charlie
.
Anda dapat menggunakan tanda kurung untuk mengelompokkan jenis kombinasi. Contoh berikut
menampilkan aset yang memiliki kolom kebijakan yang berisi alex
dan charlie
di
pesanan, atau aset yang memiliki kolom kebijakan yang berisi bola
.
policy:((alex charlie) OR bola)
Anda dapat menggunakan frasa dalam kombinasi untuk mencocokkan beberapa kata secara berurutan
pesanan. Contoh berikut menampilkan aset yang memiliki kolom kebijakan yang
berisi alex
dan 2020
dalam urutan berurutan, atau bola
:
policy:(("alex 2020") OR bola)
Contoh kombinasi
Kueri berikut menunjukkan berbagai kombinasi. Catat penempatan
tanda kurung untuk memisahkan operator AND
dan OR
. Menggabungkan operator dalam
satu set tanda kurung tidak valid, misalnya:
policy:(alex charlie OR bola)
.
Kueri | Deskripsi |
---|---|
policy:(alex charlie) |
Menampilkan aset yang kolom policy berisi keduanya
alex dan charlie .
|
policy:(alex OR charlie) |
Menampilkan aset yang kolom policy -nya berisi salah satu
alex atau charlie .
|
policy:((alex charlie) OR bola) |
Menampilkan aset yang kolom policy -nya berisi
alex dan charlie , atau memiliki kata
bola .
|
policy:(alex charlie) OR name:bola |
Menampilkan aset yang kolom policy -nya berisi
alex dan charlie atau yang name
berisi bola .
|
Negasi
Kueri penelusuran dapat dinegasikan menggunakan operator NOT
huruf besar. Tanda kurung
didukung, tetapi tidak wajib.
Contoh negasi
Menampilkan aset yang kolom
state
-nya tidak berisi katarunning
.NOT state:running
Menampilkan aset yang kolom
policy
-nya tidak berisialex
ataucharlie
.NOT policy:(alex OR charlie)
Menampilkan aset yang kolom
networkTags
-nya tidak berisiinternal
atauprivate
.NOT (networkTags:internal OR networkTags:private)
Karakter pengganti
Tanda bintang (*
) dapat digunakan dalam frasa sebagai karakter pengganti. Bergantung pada
posisinya, tanda bintang dapat memiliki arti yang berbeda.
Jika berada di akhir frasa,
*
akan diperlakukan sebagai pencocokan awalan token. Sebagai contoh,"al 20*"
setara dengan(al* 20*)
. Urutan awalan tidak masalah.Frasa
"al 20*"
cocok dengan nilai kolom dengan token yang dimulai denganal
(sepertialex
), dan token yang diawali dengan20
(seperti2020
).Untuk
labels
, jika seluruh nilai kueri hanya berisi satu*
—misalnya,"labels.env:*"
—nilai tersebut mewakili pemeriksaan eksistensi. Artinya, Inventaris Aset Cloud memeriksa apakah kunci labelenv
ada. Hanya kolomlabels
yang mendukung pemeriksaan keberadaan.Jika
*
berada di tengah proses —misalnya,"compute*storage"
—hal ini diperlakukan sebagai tokenisasi. Nilai kueri ini setara dengan"compute storage"
.Jika
*
berada di awal dan akhir frasa, misalnya,"*compute storage*"
, frasa tersebut akan diperlakukan sebagai pembatas tokenisasi. Nilai kueri ini setara dengan"compute storage"
.
Perbandingan numerik dan stempel waktu
Untuk perbandingan numerik dan stempel waktu, gunakan operator perbandingan dengan sintaksis berikut:
ASSET_METADATA_FIELD>=QUERY
Operator perbandingan yang tersedia adalah sebagai berikut:
=
: sama dengan>
: lebih besar dari>=
: lebih besar dari atau sama dengan<
: kurang dari<=
: kurang dari atau sama dengan
Untuk membandingkan dengan stempel waktu seperti yang disimpan di createTime
dan
updateTime
kolom metadata aset, gunakan bilangan bulat 64-bit yang ditandatangani (epoch
stempel waktu dalam detik) atau string tanggal dan waktu UTC+0 dalam salah satu format berikut:
2021-01-01
(YYYY-MM-DD)"2021-01-01T00:00:00"
("YYYY-MM-DDThh:mm:ss")
Contoh tanggal dan waktu
Aset yang kolom createTime
-nya memiliki nilai 1609459200
(stempel waktu epoch
2021-01-01T00:00:00
) cocok dengan kueri berikut:
createTime=1609459200
createTime=2021-01-01
createTime="2021-01-01T00:00:00"
createTime>1500000000
createTime>2020-01-01
createTime>"2020-01-01T00:00:00"
createTime>=1609459200
createTime>=2021-01-01
createTime>="2021-01-01T00:00:00"
createTime<1700000000
createTime<2022-01-01
createTime<"2022-01-01T00:00:00"
createTime<=1609459200
createTime<=2021-01-01
createTime<="2021-01-01T00:00:00"