# #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"