Можно ли удерживать идентификатор паба / вложенного сообщения в виде числа? - PullRequest
0 голосов
/ 24 декабря 2018

Pub / sub гарантирует, что messageId всегда является уникальным номером.Поэтому я использую этот идентификатор в качестве deviceId и держу это значение в таблице больших запросов.Документы Google говорят эту строку значения.Но messageId возвращает 15-значный номер в соответствии с моими экспериментами.Должен ли я оставить это значение как число в bigquery?Это вызывает какие-либо проблемы?

Формат сообщения Pubsub

Ответы [ 3 ]

0 голосов
/ 31 декабря 2018

Pub / sub гарантирует, что messageId всегда уникален для темы - не то, что это число (ref)

Данныеtype, как указано в документе, является строкой, поэтому он может содержать любой символ Юникода.

Итак, как уже говорили другие, хотя это 15-значный номер сейчас , если в какой-то моментв будущем Google генерирует нечисловую строку или число, превышающее то, что может хранить ваш низкоуровневый код, и ваше приложение не будет работать.

0 голосов
/ 04 января 2019

Служба поддержки Google говорит: «MessageId состоит из максимально возможных цифр, равных 19. Пока идентификатор не использовался ранее (поскольку они уникальны), может быть до 19 цифр, но реально это количество цифрне может быть достигнуто. "

0 голосов
/ 24 декабря 2018

Проблема заключается в максимальной длине Integer (10), а не в том, что она содержит только числовые значения.Вот почему вы должны хранить значение как String, а не как Integer, как определено в документации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...