Ограничение размера функции Cloud Spanner JSON

Можно ли вернуть результаты запроса из Spanner в документ JSON? Например, если запрос должен прочитать все транзакции для этой учетной записи и вернуть результаты этих строк / записей в один сильный или документ JSON, возможно ли это? Если да, то каковы ограничения по размеру? т.е. сколько строк транзакций может это содержать? пример - из всего 400 транзакций в таблице могут ли все они войти в документ или строку JSON?

https://cloud.google.com/spanner/docs/json_functions


person Gordon Baird    schedule 18.09.2020    source источник
comment
Предоставляемый вами URL-адрес говорит только о том, как получить данные, хранящиеся в строке в формате JSON в запросе, а не наоборот (преобразование результата в строку JSON. Кроме того, возможно, вы сначала прочитаете все строки, а затем преобразуете весь результат в JSON с использованием библиотеки кодировщика json?   -  person Hailong Wen    schedule 18.09.2020
comment
да, возможно .. есть ли у вас какие-либо мысли о том, какая библиотека самая лучшая / самая быстрая?   -  person Gordon Baird    schedule 18.09.2020


Ответы (1)


Как отмечает Hailong, ссылка, которой вы поделились, извлекала данные, хранящиеся в строке в формате Json. Cloud Spanner не предоставляет собственный способ выполнения этой задачи. Если вы хотите это сделать, вам нужно реализовать это в своем коде. Например, вы можете взглянуть на этот другой вопрос в качестве справки. Но это будет зависеть от языка, который вы хотите использовать.

С другой стороны, используя команду gcloud, вы можете выполнить это, используя gcloud spanner databases execute-sql и используя флаг --format, чтобы выбрать формат json как --format=json. Вы можете взглянуть на здесь и здесь для получения дополнительной информации.

person Samuel Romero    schedule 19.09.2020
comment
Если целью является репликация данных между Cloud Spanner и Google Firestore, есть ли более простой или лучший подход? - person Gordon Baird; 19.09.2020
comment
Привет, Гордон, так как это немного другое, я бы порекомендовал вам открыть новый вопрос по этому поводу. Тем не менее в качестве быстрого ответа. Ответ такой, как указано выше, Spanner не предоставляет никакого собственного способа для выполнения такой задачи, поэтому вам необходимо реализовать приложение, которое ее выполняет. Cloud Spanner позволяет экспортировать базу данных в Avro, а экспорт осуществляется в файлы json. но я не уверен, что это поможет тебе - person Samuel Romero; 22.09.2020