У меня есть простая настроенная корзина Google Cloud Storage, которая содержит один файл pixel.png с общедоступным URL-адресом, который работает.
Когда я захожу в ведение журнала Stackdriver, ни один из запросов пикселей не отслеживается... единственное, что в журналах — это изменения администратора, которые я вношу в само ведро:
Я уверен, что это что-то простое ... Журналы для моего приложения AppEngine записывают каждый запрос изображения моим приложением, я хотел бы настроить ведро таким же образом - чтобы видеть каждый запрос для pixel.png.
Я прошел через это, и каждый шаг был успешным, но новый блок ведения журнала такой же: он не регистрирует запросы .png. Не понимая, зачем нужно второе ведро для логирования?
При работе с ведением журнала Cloud Audit для Google Cloud Storage важно подробно прочитать эту страницу: Ведение журнала облачного аудита с облачным хранилищем. Для вашей конкретной головоломки важно понимать, что ведение журнала аудита по умолчанию переключается на выключенный. Чтобы включить его, вы должны посетить IAM & admin > Audit Logging
в консоли GCP и включить его для облачного хранилища. Второе, что я отметил в вашем вопросе, это то, что рассматриваемый объект может быть публичным? В журнале аудита облачного хранилища есть предостережение, которое гласит:
Cloud Audit Logging does not track access to public objects.
Таким образом, если рассматриваемый объект является общедоступным, журнал Cloud Audit не сообщает о доступе.
Это хорошая ссылка. Я ознакомился с их учебным пособием по отслеживанию пикселей без сервера, что подразумевает, что это возможно, но это более серьезная проблема - для этого я создам новый вопрос. Учебник: cloud.google.com/solutions/serverless-pixel-tracking-tutorial
Вы смотрели cloud.google.com/storage/docs/access-logs#delivery? Похоже, это соответствует вашему варианту использования (из документов: Вы, скорее всего, захотите использовать журналы доступа, если: Вы хотите отслеживать доступ к общедоступным объектам.). Поэтому вы, вероятно, захотите включить ведение журнала в своем ведре с помощью чего-то вроде
gsutil logging set on -b gs://your-bucket [...]
.