Hassas verilerse, kaynak kontrolünde kontrol edileceği için kaynak kodunda saklamamalısınız. Yanlış kişiler (kuruluşunuzun içinde veya dışında) onu orada bulabilir. Ayrıca geliştirme ortamınız muhtemelen üretim ortamınızdan farklı yapılandırma değerleri kullanır. Bu değerler kodda saklanırsa, geliştirme ve üretimde farklı kodlar çalıştırmanız gerekecektir, bu da karmaşık ve kötü bir uygulamadır.
Projelerimde, bu sınıfı kullanarak veri deposuna yapılandırma verilerini koyuyorum:
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
Uygulamanız bir değer elde etmek için bunu yapacaktır:
API_KEY = Settings.get('API_KEY')
Veri deposunda bu anahtar için bir değer varsa, onu alırsınız. Yoksa, bir yer tutucu kaydı oluşturulacak ve bir istisna atılacaktır. İstisna, Developers Console'a gitmenizi ve yer tutucu kaydını güncellemenizi hatırlatacaktır.
Bunun, yapılandırma değerlerini ayarlamanın tahminini ortadan kaldırdığını görüyorum. Hangi yapılandırma değerlerini ayarlayacağınızdan emin değilseniz, kodu çalıştırın ve size söyleyecektir!
Yukarıdaki kod, memcache ve başlık altındaki veri deposunu kullanan ndb kitaplığını kullanır, bu nedenle hızlıdır.
Güncelleme:
jelder , Datastore değerlerinin App Engine konsolunda nasıl bulunacağını ve ayarlanacağını sordu. İşte nasıl:
Https://console.cloud.google.com/datastore/ adresine gidin
Zaten seçilmemişse, sayfanın üst kısmından projenizi seçin.
Gelen Tür açılır kutusundan seçin Ayarlar .
Yukarıdaki kodu çalıştırdıysanız, anahtarlarınız görünecektir. Hepsi AYARLANMAYAN değere sahip olacaktır . Her birine tıklayın ve değerini ayarlayın.
Bu yardımcı olur umarım!