Python 2.7 has reached end of support
and will be deprecated
on January 31, 2026. After deprecation, you won't be able to deploy Python 2.7
applications, even if your organization previously used an organization policy to
re-enable deployments of legacy runtimes. Your existing Python
2.7 applications will continue to run and receive traffic after their
deprecation date. We recommend that
you migrate to the latest supported version of Python.
Stay organized with collections
Save and categorize content based on your preferences.
Region ID
The REGION_ID is an abbreviated code that Google assigns
based on the region you select when you create your app. The code does not
correspond to a country or province, even though some region IDs may appear
similar to commonly used country and province codes. For apps created after
February 2020, REGION_ID.r is included in
App Engine URLs. For existing apps created before this date, the
region ID is optional in the URL.
You can use various methods to communicate between your App Engine
services or with other services, including Google Cloud services and
external applications.
The simplest approach for communicating with your App Engine service is
to send targeted HTTP requests, where the URL includes the name or ID of a
resource. For example, you can include the ID of a service or version that you
want to target, in addition to the corresponding Google Cloud project ID:
To share data across databases and your App Engine app or some other
external application, see
Understanding Data and File
Storage.
In the standard environment, you can also pass requests between services and
from services to external endpoints using the
URL Fetch API.
Additionally, services in the standard environment that reside within the same
Google Cloud project can also use one of the App Engine APIs for the
following tasks:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-25 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eREGION_ID\u003c/code\u003e is a Google-assigned code based on the region selected during app creation, included in App Engine URLs for apps created after February 2020.\u003c/p\u003e\n"],["\u003cp\u003eApp Engine services can communicate with each other, Google Cloud services, and external applications using various methods, including targeted HTTP requests with URLs specifying service or version IDs.\u003c/p\u003e\n"],["\u003cp\u003eData can be shared across databases, App Engine apps, and external applications.\u003c/p\u003e\n"],["\u003cp\u003eServices in the same Google Cloud project can share a memcache instance and collaborate through Task Queues using App Engine APIs.\u003c/p\u003e\n"],["\u003cp\u003eCertain URL paths are reserved and cannot be used, such as those ending with \u003ccode\u003e/eventlog\u003c/code\u003e, starting with \u003ccode\u003e/_ah/\u003c/code\u003e, or ending with \u003ccode\u003ez\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Communicating Between Your Services\n\n### Region ID\n\nThe \u003cvar translate=\"no\"\u003eREGION_ID\u003c/var\u003e is an abbreviated code that Google assigns\nbased on the region you select when you create your app. The code does not\ncorrespond to a country or province, even though some region IDs may appear\nsimilar to commonly used country and province codes. For apps created after\nFebruary 2020, \u003cvar translate=\"no\"\u003eREGION_ID\u003c/var\u003e`.r` is included in\nApp Engine URLs. For existing apps created before this date, the\nregion ID is optional in the URL.\n\nLearn more\n[about region IDs](/appengine/docs/legacy/standard/python/how-requests-are-routed#region-id). \nOK\n\nYou can use various methods to communicate between your App Engine\nservices or with other services, including Google Cloud services and\nexternal applications.\n\nThe simplest approach for communicating with your App Engine service is\nto send targeted HTTP requests, where the URL includes the name or ID of a\nresource. For example, you can include the ID of a service or version that you\nwant to target, in addition to the corresponding Google Cloud project ID: \n\n\n https://\u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-n\"\u003eVERSION\u003c/span\u003e\u003c/var\u003e-dot-\u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-n\"\u003eSERVICE\u003c/span\u003e\u003c/var\u003e-dot-\u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-n\"\u003ePROJECT_ID\u003c/span\u003e\u003c/var\u003e.\u003cvar translate=\"no\"\u003e\u003ca href=\"#appengine-urls\" style=\"border-bottom: 1px dotted #999\" class=\"devsite-dialog-button\" data-modal-dialog-id=\"regional_url\" track-type=\"progressiveHelp\" track-name=\"modalHelp\" track-metadata-goal=\"regionalURL\"\u003e\u003cspan class=\"devsite-syntax-n\"\u003eREGION_ID\u003c/span\u003e\u003c/a\u003e\u003c/var\u003e.r.appspot.com\n\nFor details about targeting your services, including how to define HTTPS URLs,\nsee [How Requests are\nRouted](/appengine/docs/legacy/standard/python/how-requests-are-routed).\nTo authorize the requests between your services and other Google Cloud\nservices, see [Setting Up Authentication for Server to Server Production\nApplications](/docs/authentication/production).\n\nTo share data across databases and your App Engine app or some other\nexternal application, see\n\n[Understanding Data and File\nStorage](/appengine/docs/legacy/standard/python/using-third-party-databases).\n\n\nIn the standard environment, you can also pass requests between services and\nfrom services to external endpoints using the\n[URL Fetch](/appengine/docs/legacy/standard/python/issue-requests) API.\n\nAdditionally, services in the standard environment that reside within the same\nGoogle Cloud project can also use one of the App Engine APIs for the\nfollowing tasks:\n\n- Share a single [memcache](/appengine/docs/legacy/standard/python/memcache) instance.\n- Collaborate by assigning work between services through [Task Queues](/appengine/docs/legacy/standard/python/taskqueue).\n\nReserved URL paths\n------------------\n\nIt is not possible to use the following URL paths:\n\n- Paths ending with `/eventlog`\n- Paths starting with `/_ah/`\n- Some paths ending with `z`"]]