2010-09-11 12 views
17

विकास व्यवस्थापक कंसोल में, जब मैं अपने डेटा को देखता हूं, तो यह कहता है "Select different namespace"।ऐप इंजन डेटास्टोर में उपयोग किए जाने वाले नामस्थान का क्या नाम है?

नामस्थान क्या हैं और मुझे उनका उपयोग कैसे करना चाहिए?

उत्तर

13

नामस्थान आपको बहु-किरायेदार अनुप्रयोगों के लिए डेटा को अलग करने की अनुमति देता है। official documentation कुछ नमूना परियोजनाओं से लिंक आपको यह बताने के लिए कि इसका उपयोग कैसे किया जा सकता है।

-3

विभिन्न उपयोगकर्ताओं के लिए अलग डेटाबेस बनाने के लिए एक नामस्थान का उपयोग किया जा सकता है। यह डेटाबेस में पदानुक्रम बनाने में मदद करता है।

0

देख रहे हैं, इस प्रश्न की ओर बहुत अच्छी समीक्षा नहीं की गई है और उत्तर देने का प्रयास किया गया है।

नामस्थानों का उपयोग करते समय, हम किसी दिए गए नेमस्पेस पर कुंजी और मूल्य अलगाव का सर्वोत्तम अभ्यास कर सकते हैं। नेमस्पेस जानकारी को अच्छी तरह से देने का सबसे अच्छा उदाहरण निम्नलिखित है।

from google.appengine.api import namespace_manager 
from google.appengine.ext import db 
from google.appengine.ext import webapp 

class Counter(db.Model): 
    """Model for containing a count.""" 
    count = db.IntegerProperty() 


def update_counter(name): 
    """Increment the named counter by 1.""" 
def _update_counter(name): 
    counter = Counter.get_by_key_name(name) 
    if counter is None: 
     counter = Counter(key_name=name); 
     counter.count = 1 
    else: 
     counter.count = counter.count + 1 
    counter.put() 
# Update counter in a transaction. 
db.run_in_transaction(_update_counter, name) 

class SomeRequest(webapp.RequestHandler): 
"""Perform synchronous requests to update counter.""" 
def get(self): 
    update_counter('SomeRequest') 
    # try/finally pattern to temporarily set the namespace. 
    # Save the current namespace. 
    namespace = namespace_manager.get_namespace() 
    try: 
     namespace_manager.set_namespace('-global-') 
     update_counter('SomeRequest') 
    finally: 
     # Restore the saved namespace. 
     namespace_manager.set_namespace(namespace) 
    self.response.out.write('<html><body><p>Updated counters') 
    self.response.out.write('</p></body></html>') 
1

नेमस्पेस multitenant अनुप्रयोग बनाने के लिए Google अनुप्रयोग इंजन में प्रयोग किया जाता है। बहुआयामी अनुप्रयोगों में एप्लिकेशन का एक उदाहरण एक सर्वर पर चलता है, जो एकाधिक क्लाइंट संगठनों (किरायेदारों) की सेवा करता है। इसके साथ, एक एप्लिकेशन को अपने डेटा और कॉन्फ़िगरेशन (व्यावसायिक तर्क) को लगभग विभाजित करने के लिए डिज़ाइन किया जा सकता है, और प्रत्येक क्लाइंट संगठन एक अनुकूलित वर्चुअल एप्लिकेशन इंस्टेंस के साथ काम करता है..आप प्रत्येक किरायेदार के लिए एक अद्वितीय नामस्थान स्ट्रिंग निर्दिष्ट करके आसानी से किरायेदारों में डेटा विभाजित कर सकते हैं ।

नाम स्थान के अन्य उपयोग:

  1. उपयोगकर्ता जानकारी compartmentalizing
  2. आवेदन डेटा
  3. परीक्षण और उत्पादन
  4. के लिए अलग डेटास्टोर इंस्टेंस एक ही ऐप्लिकेशन इंजन पर एक से अधिक चल रहे एप्लिकेशन बनाना से व्यवस्थापक डेटा को अलग उदाहरण

अधिक जानकारी के लिए आयन नीचे दिए गए लिंक पर जाएं:

http://www.javacodegeeks.com/2011/12/multitenancy-in-google-appengine-gae.html 
https://developers.google.com/appengine/docs/java/multitenancy/ 
http://java.dzone.com/articles/multitenancy-google-appengine 

http://www.sitepoint.com/multitenancy-and-google-app-engine-gae-java/ 
संबंधित मुद्दे