Query filters

از مشخصات فیلتر کوئری زیر در درخواست‌های API که قابلیت فیلتر کردن را ارائه می‌کنند، استفاده کنید. رشته فیلتر باید به عنوان یک عبارت یا لیستی از عبارات مشخص شود.

عبارات ساده

فیلترها باید با استفاده از دستور زبان زیر مشخص شوند:

یک عبارت شکل کلی دارد:

<expr> ::= <field> <operator> <value>
  • <field> یک string است. وقتی <field> حاوی یک فاصله باشد یا یک دونقطه باید با دو نقل قول محصور شود.
  • <operator> می تواند عملگرهای برابری یا رابطه ای باشد و مشخصات زیر را دنبال می کند:
    عملگر برابری "=" فقط برای فیلدهای رشته ای تعریف شده است.
    عملگر تطبیق پیشوند ":" فقط برای فیلدهای رشته تعریف شده است.
    عملگرهای رابطه ای "<" | ">" | "<=" | ">=" فقط برای فیلدهای مهر زمانی تعریف می شوند.
  • <value> ارائه شده باید string ای باشد که بسته به <field> ممکن است در قالب Timestamp باشد. هنگامی که <value> حاوی یک فاصله یا دو نقطه باشد، باید در گیومه های دوتایی محصور شود.

لیست های عباراتی

عبارات ممکن است به یکدیگر ملحق شوند تا یک پرس و جو پیچیده تر را تشکیل دهند. مشخصات BNF:

<exprList> ::= <expr> |
<exprList> <conjunction> <expr> |
<negation> <expr>
<conjunction> ::= "AND" | "OR" | ""
<negation> ::= "NOT"
استفاده از رشته خالی به عنوان یک ربط به عنوان یک AND ضمنی عمل می کند.
تقدم پیوستن به عملیات، از بالاترین به پایین ترین، NOT، AND، OR است.

مثال ها

در زیر چند نمونه فیلتر آورده شده است. توجه داشته باشید که فیلدهای واقعی پشتیبانی شده ممکن است بین نسخه های مختلف API متفاوت باشد. برای ستون های فیلتر موجود در v1beta1 اینجا را ببینید.

برای پرس و جو برای همه هشدارهای ایجاد شده در یا پس از 5 آوریل 2018:
createTime >= "2018-04-05T00:00:00Z"

برای درخواست همه هشدارها از منبع "فیشینگ جیمیل":
source="Gmail phishing"

برای درخواست همه هشدارها از منبعی که با "Gmail" شروع می شود:
source:"Gmail"

برای پرس و جو برای همه هشدارهایی که در سال 2017 شروع شده اند:
startTime >= "2017-01-01T00:00:00Z" AND startTime < "2018-01-01T00:00:00Z"

برای پرس و جو برای همه هشدارهای فیشینگ گزارش شده توسط کاربر از منبع "فیشینگ جیمیل":
type="User reported phishing" source="Gmail phishing"