1

Imはapp-engineの新機能です。残りのAPIを書く。前に誰かがこのジレンマにいたことがあるのだろうか?APP-ENGINEは静的なjsonファイルからデータをロードするか、データをデータストアにロードしますか?

私が持っているこのデータは、3から4ページではなく、毎年変わります。

オプション1:JSONなどのデータを書き込み、JSONファイルに要求が入ってきたびに解析

オプション2:オブジェクトにモデルとの要求が入って来たときにそれらを取得し、その後、データストアに投げると

この方法の賛否両論、あるいはより良い解決方法があれば誰でも知っていますか?

答えて

2

もちろん答えはそれに依存します。ここで

は私が決定を下すために自分自身を尋ねると思いますいくつかの質問です -

  • あなたは、コードのプッシュ上のデータへの変更は、依存にしたいですか?
  • VCSにチェックインしてはならないデータ内の機密情報は、このデータ
  • に依存しているどのように可能性の高いデータについてのあなたの仮定はの面で変更しようとしている他のものをお使いのシステムの一部
  • ありデータを仮定すると、更新とサイズ

の周波数は、(< 1メガバイト)小さく、それには機密情報がありません、私はそれが最も簡単な解決策だとしてJSONファイルをロードして開始したいです。

各リクエストでデータを解析する必要はありませんが、最上位レベルで解析して効果的に定数として扱うことができます。これらの線に沿って

何か -

import os 
import json 

DATA_FILE = os.path.join(os.path.dirname(__file__), 'YOUR_DATA_FILE.json') 
with open(DATA_FILE, 'r') as dataFile: 
    JSON_DATA = json.loads(dataFile.read()) 

あなたは、あなたのコード内の辞書のようJSON_DATAを使用することができます。あなたが複数の場所でデータにアクセスする必要がある場合には

awesome_data = JSON_DATA['data']['awesome'] 

、あなたは独自のモジュールにこれを移動することができます(例:config.py)とあなたがそれを必要な場所JSON_DATAをインポートします。

Ex。 in main.py

from config import JSON_DATA 

# do something w/ JSON_DATA 
+0

回答ありがとうございました@alpeware! VCSは私のデータファイルに加えて賢明です! Pythonでは、どのようにして "トップレベルでそれを一度解析し、効果的に定数として扱いますか?" – jiachen

+0

@jiachen問題ありません。特定の例で答えを更新しました。まだ質問がある場合はお知らせください。 – alpeware

+0

例のおかげで!これはJSONが解析され、入ってくるすべてのHTTP要求に対してロードされることを意味しますか? – jiachen

関連する問題