#python #json #google-app-engine #google-cloud-datastore #urllib
# #python #json #google-app-engine #google-cloud-хранилище данных #urllib
Вопрос:
Я написал платформу на GAE Python с базой данных хранилища данных (с использованием NDB). Моя платформа позволяет пользователю выбирать тему. Перед каждой загрузкой страницы я загружаю в файл JSON (используя urllib.urlopen(FILEPATH).read()
). Должен ли я вместо этого сохранить JSON в хранилище данных и вместо этого загрузить его через NDB?
Вот пример моего файла конфигурации JSON. Они могут варьироваться по размеру, но не сильно. Обычно они очень маленькие.
{
"TITLE": "Test Theme",
"VERSION": "1.0",
"AUTHOR": "ThePloki",
"DESCRIPTION": "A test theme for my platform",
"FONTS": ["Arial", "Times New Roman"],
"TOOLBAR": [
{"left":[
{"template":"logo"}
]},
{"center":[
{"template":"breadcrumbs"}
]},
{"right":[
{"template":"link", "url":"account", "msg":"Account"},
{"template":"link", "url":"logout", "msg":"Log Out"}
]}
],
"NAV_LEFT": true,
"SHOW_PAGE_TITLE": false
}
В настоящее время я не замечаю никаких задержек, но я работаю локально. Во время производства могут urllib.urlopen().read()
возникнуть проблемы при высоком трафике?
Ответ №1:
Вы ожидаете, что конфигурация изменится без повторного развертывания кода приложения? Это сценарий, в котором имело бы смысл сохранить конфигурацию в хранилище данных.
Если изменение конфигурации в любом случае связано с повторным развертыванием кода, локальный файл, вероятно, подойдет — вы даже можете подумать о том, чтобы сделать его файлом Python, а не JSON, чтобы просто импортировать его, а не возиться с дескрипторами файлов.
Комментарии:
1. Скорее всего, файл конфигурации будет обновлен во время повторного развертывания приложения. Вы правы, сделав его файлом python. Я считаю, что это лучший ответ на мой вопрос. Я приму это как ответ через 5 минут, когда это позволит мне. Спасибо.