यदि यह संवेदनशील डेटा है, तो आपको इसे स्रोत कोड में संग्रहीत नहीं करना चाहिए क्योंकि यह स्रोत नियंत्रण में जाँच की जाएगी। गलत लोग (आपके संगठन के अंदर या बाहर) इसे वहां पा सकते हैं। साथ ही, आपका विकास परिवेश संभवतः आपके उत्पादन परिवेश से भिन्न कॉन्फ़िगरेशन मानों का उपयोग करता है। यदि इन मूल्यों को कोड में संग्रहीत किया जाता है, तो आपको विकास और उत्पादन में अलग-अलग कोड चलाना होगा, जो कि गन्दा और बुरा व्यवहार है।
अपनी परियोजनाओं में, मैंने इस वर्ग का उपयोग करके डेटास्टोर में कॉन्फ़िगर डेटा डाला:
from google.appengine.ext import ndb
class Settings(ndb.Model):
name = ndb.StringProperty()
value = ndb.StringProperty()
@staticmethod
def get(name):
NOT_SET_VALUE = "NOT SET"
retval = Settings.query(Settings.name == name).get()
if not retval:
retval = Settings()
retval.name = name
retval.value = NOT_SET_VALUE
retval.put()
if retval.value == NOT_SET_VALUE:
raise Exception(('Setting %s not found in the database. A placeholder ' +
'record has been created. Go to the Developers Console for your app ' +
'in App Engine, look up the Settings record with name=%s and enter ' +
'its value in that record\'s value field.') % (name, name))
return retval.value
आपका आवेदन मूल्य पाने के लिए ऐसा करेगा:
API_KEY = Settings.get('API_KEY')
यदि डेटास्टोर में उस कुंजी के लिए कोई मान है, तो आपको मिल जाएगा। यदि नहीं है, तो एक प्लेसहोल्डर रिकॉर्ड बनाया जाएगा और एक अपवाद फेंक दिया जाएगा। अपवाद आपको डेवलपर कंसोल पर जाने और प्लेसहोल्डर रिकॉर्ड को अपडेट करने के लिए याद दिलाएगा।
मुझे लगता है कि यह विन्यास मूल्यों को स्थापित करने से अनुमान लगाता है। यदि आप इस बात के बारे में अनिश्चित हैं कि कौन सा कॉन्फिगर वैल्यू सेट करना है, तो कोड को रन करें और यह आपको बताएगा!
ऊपर दिए गए कोड में ndb लाइब्रेरी का उपयोग किया गया है जो हुड के नीचे मेकचे और डेटास्टर का उपयोग करता है, इसलिए यह तेज़ है।
अपडेट करें:
jelder ने ऐप इंजन कंसोल में डेटास्टोर मानों को खोजने और उन्हें सेट करने का तरीका पूछा। यहां कैसे:
Https://console.cloud.google.com/datastore/ पर जाएं
यदि यह पहले से ही चयनित नहीं है, तो पृष्ठ के शीर्ष पर अपनी परियोजना का चयन करें।
में तरह ड्रॉपडाउन बॉक्स, चयन सेटिंग्स ।
यदि आपने ऊपर कोड चलाया है, तो आपकी चाबियाँ दिखाई देंगी। वे सभी मूल्य सेट नहीं होंगे । प्रत्येक पर क्लिक करें और उसका मूल्य निर्धारित करें।
उम्मीद है की यह मदद करेगा!