Обновления метаданных Google Cloud Storage - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть вопрос из двух частей, касающийся характера уведомлений об обновлении метаданных в GCS. // For the mods: if I should split this into two, let me know and I will.

У меня есть корзина в облачном хранилище Google с уведомлениями Pub / Sub, настроенными для изменения метаданных объекта. Я регулярно получаю удвоенные обновления метаданных, казалось бы, из ниоткуда. Что происходит, так это то, что в какой-то момент контейнер Cloud Run читает объект, указанный в уведомлении, и выполняет некоторые действия, которые приводят к
a) добавлению нового файла.
b) электронному письму отправляется.
И это должно быть конец.

Однако, приложение. Спустя 10 минут для того же объекта запускается второе уведомление, с увеличенным metageneration, но в объекте уведомления не наблюдается фактических изменений.
Как ни странно, ETag, кажется, изменяется минимально (CJ+2tfvk+egCEG0 -> CJ+2tfvk+egCEG4), но контрольные суммы CRC32 C и MD5 остаются прежними - это правильно в том смысле, что объект не пишется.

Вопрос состоит из двух частей, а затем:
- Что именно представляет собой приращение атрибута metageneration, когда метаданные не устанавливаются / обновляются?
- Как может измениться ETag, если базовые данные не изменяются, как показано контрольными суммами (я полагаю, документация делает сказать «что они будут меняться всякий раз, когда меняются базовые данные» [1], что не означает, что они не могут измениться иначе).


1: https://cloud.google.com/storage/docs/hashes-etags#_ETags

1 Ответ

0 голосов
/ 23 апреля 2020

Как прокомментировал @Brandon Yarbrough. Если число metageneration увеличивается, наиболее вероятной причиной является явный вызов откуда-то неожиданного обновления метаданных каким-либо образом, и способ убедиться, что не выполняются дополнительные вызовы обновления, включив Stackdriver или ведущие журналы доступа.

Что касается изменений ETag, в документации ETag по облачному хранилищу говорится, что

Пользователи не должны делать никаких предположений относительно этих ETag, за исключением того, что они будут меняться всякий раз, когда основной изменения данных.

Это указывает на то, что единственный сценарий, который гарантирует, что ETag будет изменен, - это изменение данных, однако другие события также могут инициировать изменение ETag, поэтому не следует использовать ETags как справочник для изменений файла.

...