Modules API 사용

Modules API는 현재 운영 환경(모듈, 버전, 인스턴스) 정보를 반환하는 함수를 제공합니다.

Modules API에는 모듈, 버전 또는 인스턴스의 주소를 검색하는 함수도 있습니다. 이를 통해 애플리케이션이 개발과 프로덕션 환경 모두에서 인스턴스 간에 요청을 전송할 수 있습니다.

반드시 SDK에서 google.appengine.api.modules 모듈을 가져와야 합니다.

from google.appengine.api import modules

다음 코드 샘플에서는 요청의 모듈 이름 및 인스턴스 ID를 가져오는 방법을 보여줍니다.

module = modules.get_current_module_name()
instance_id = modules.get_current_instance_id()
self.response.write(
    'module_id={}&instance_id={}'.format(module, instance_id))

자동 확장 모듈의 인스턴스 ID가 고유한 base64 인코딩 값(예: e4b565394caa)으로 반환됩니다.

타겟 모듈의 호스트 이름을 가져와서 동일한 앱에서 모듈 간에 통신할 수 있습니다.

backend_hostname = modules.get_hostname(module='my-backend')
url = "http://{}/".format(backend_hostname)
try:
    result = urllib2.urlopen(url).read()
    self.response.write('Got response {}'.format(result))
except urllib2.URLError:
    pass

URL Fetch 서비스도 사용할 수 있습니다.