1

저는 (NDB를 사용하여) Datastore 데이터베이스로 GAE Python에 플랫폼을 작성했습니다. 내 플랫폼에서는 사용자가 테마를 선택할 수 있습니다. 페이지로드 전에 페이지로드 전에 JSON 파일에로드합니다 (urllib.urlopen(FILEPATH).read() 사용). 대신 JSON을 Datastore에 저장하고 대신 NDB를 통해로드해야합니까?GAE (Python) 모범 사례 : JSON 파일 또는 Datastore에서 구성을로드 하시겠습니까?

다음은 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()에 문제가 발생합니까?

답변

2

응용 프로그램 코드를 다시 배포하지 않고 구성을 변경 하시겠습니까? 이것이 데이터 저장소에 구성을 저장하는 것이 타당한 시나리오입니다.

어쨌든 코드를 다시 배포해야하는 경우 로컬 파일을 사용하는 것이 좋습니다. JSON이 아닌 Python 파일로 만들려고해도 파일을 가져 오기 만하면됩니다. 파일 핸들을 어지럽히는 것보다.

+0

대부분의 경우 구성 파일은 응용 프로그램을 재배포하는 동안 업데이트됩니다. 파이썬 파일로 만드는 것이 옳습니다. 나는 그것이 내 질문에 대한 최선의 대답이라고 생각한다. 내가 이것을 허락 할 때 5 분 안에이 것을 대답으로 받아 들일 것이다. 감사. – ThePloki