যদি এটি সংবেদনশীল ডেটা হয় তবে আপনার উত্স কোডে এটি সংরক্ষণ করা উচিত নয় কারণ এটি উত্স নিয়ন্ত্রণে পরীক্ষা করা হবে। ভুল লোকেরা (আপনার সংস্থার ভিতরে বা বাইরে) এটি এটি খুঁজে পেতে পারে। এছাড়াও, আপনার বিকাশের পরিবেশ সম্ভবত আপনার উত্পাদন পরিবেশ থেকে বিভিন্ন কনফিগার মানগুলি ব্যবহার করে। যদি এই মানগুলি কোডে সঞ্চিত থাকে তবে আপনাকে বিকাশ এবং উত্পাদনে বিভিন্ন কোড চালাতে হবে, যা অগোছালো এবং খারাপ অভ্যাস।
আমার প্রকল্পগুলিতে, আমি এই শ্রেণিটি ব্যবহার করে ডেটাস্টোরে কনফিগার ডেটা রেখেছি:
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')
যদি ডেটাস্টোরে সেই কীটির জন্য কোনও মান থাকে তবে আপনি তা পাবেন। যদি তা না থাকে তবে একটি স্থানধারক রেকর্ড তৈরি হবে এবং একটি ব্যতিক্রম ছুঁড়ে দেওয়া হবে। ব্যতিক্রম আপনাকে বিকাশকারী কনসোলে যেতে এবং স্থানধারক রেকর্ড আপডেট করার জন্য মনে করিয়ে দেবে।
আমি এটি কনফিগার মানগুলি নির্ধারণের বাইরে থেকে অনুমান করার চেষ্টা করি। আপনি যদি কনফিগার মানগুলি সেট করবেন সে সম্পর্কে অনিশ্চিত হয়ে থাকেন তবে কেবল কোডটি চালান এবং এটি আপনাকে জানাবে!
উপরের কোডটিতে এনডিবি লাইব্রেরি ব্যবহার করা হয়েছে যা মেমক্যাচ এবং হুডের নীচে ডেটাস্টোর ব্যবহার করে, তাই এটি দ্রুত।
হালনাগাদ:
জেল্ডার অ্যাপ ইঞ্জিন কনসোলে কীভাবে ডেটাস্টোরের মানগুলি খুঁজে পাবেন এবং সেগুলি সেট করতে চেয়েছিলেন। এটি এখানে:
Https://console.cloud.google.com/datastore/ এ যান
যদি আপনার প্রকল্পটি ইতিমধ্যে নির্বাচিত না হয় তবে পৃষ্ঠার শীর্ষে নির্বাচন করুন।
ইন কাইন্ড ড্রপডাউন বক্স, নির্বাচন সেটিং ।
আপনি যদি উপরে কোডটি চালিয়ে যান তবে আপনার কীগুলি প্রদর্শিত হবে। তাদের সকলের SET মান থাকবে না । প্রতিটি ক্লিক করুন এবং এর মান সেট করুন।
আশাকরি এটা সাহায্য করবে!