Журнал аудита GCP Регистрирует регулярное выражение для сопоставления путей

# #regex #google-cloud-platform

Вопрос:

Я пытаюсь создать приемник журналов Pub/Sub в GCP. В идеале мой фильтр журнала аудита будет отбирать любые CSV-файлы по определенному пути GCS, который указан в журналах, как protoPayload.resourceName при загрузке объекта, путь выглядит как projects/_/buckets/lt;bucket_namegt;/objects/lt;pathgt;/lt;togt;/test.csv *. Файл , который я помещаю в путь, вызывается test.csv , и следующий запрос журнала аудита регулярных выражений (т. Е. Точное имя файла) работает при получении события загрузки:

protoPayload.resourceName =~ "projects/_/buckets/lt;bucket_namegt;/objects/lt;pathgt;/lt;togt;/test.csv"

однако следующая фактическая подстановка регулярных выражений не учитывает ее. Любая помощь будет признательна.

protoPayload.resourceName =~ "projects/_/buckets/lt;bucket_namegt;/objects/lt;pathgt;/lt;togt;/*.csv"

* lt;bucket_namegt; и /lt;pathgt;/lt;togt;/ правильно передаются с их реальными значениями в запросе

Ответ №1:

Попробуйте добавить . перед подстановочным знаком (.*)

jsonPayload.resourceName =~ «проекты/_/корзины/тестовый пакет/объекты/paht/в/.*. csv»

Попытался воссоздать с моей стороны, и это хорошо работает.

Пример запроса, который я использовал:

 jsonPayload.resourceName =~ "projects/_/buckets/test_bucket/objects/paht/to/.*.csv" jsonPayload.resourceName =~ "projects/_/buckets/test_bucket/objects/paht/to/sample1.*.csv" jsonPayload.resourceName =~ "projects/_/buckets/test_bucket/objects/paht/to/test.*.csv"  

Регулярное выражение 1 Регулярное выражение 2 Регулярное выражение 3