0

저는 새로운 프로젝트를 위해 GAE + NDB를 고려 중입니다. 나는 조상에 대해 아직도 혼란스러워서 올바르게 사용하는 방법에 대한 조언을 할 수 있습니다.AppEngine NDB : 조상을 올바르게 적용하는 방법?

내 케이스 : 응용 프로그램이 공장의 생산 주문을 처리 할 것이므로 다른 클라이언트를 사용할 계획입니다. 관리 작업을 줄이기 위해 모든 클라이언트가 동일한 앱과 동일한 데이터 스토어를 사용하게 할 것입니다. 별도의 앱 + 데이터 저장소를 사용하면 클라이언트 간의 차이가없는 중국 벽이 될 수 있지만 악의적 인 태도를 취할 수 있습니다.

클라이언트간에 데이터를 분리하는 방법을 구현해야합니다. 클라이언트 A는이 앱에서 다른 클라이언트의 데이터에 액세스 할 수 없어야합니다.

다른 클라이언트의 데이터를 분리하려면 데이터 저장소에 조상을 사용하는 것이 좋습니다. 이 경우에는 ClientA-Products, ClientA-Orders, ClientB-Products, ClientB-Orders 등과 같은 조상 키를 가질 수 있다고 생각합니다. 아니면 모든 거래가 클라이언트에 의해 keyed : 심지어 ClientA, ClientB ..?

또는 엔티티와 클라이언트를 연결하는 속성을 갖는 것이 더 낫습니까? "제품"및 "주문"엔티티는 모두 모든 글을 쓸 때마다 입력해야하며 모든 쿼리에 포함되어야하는 "Company"속성을 갖습니다.

미리 감사드립니다.

답변

0

멀티 테넌시는 유스 케이스에 완벽하게 작동합니다.

from google.appengine.api import users 

def namespace_manager_default_namespace_for_request(): 
    # assumes the user is logged in. 
    return 'client_id' 

자세한 내용은 here을 참조하십시오.

+0

안녕하세요. 내 경우에 대한 대답처럼 보입니다. 감사! – kxtronic

관련 문제