You create and manage applications in App Engine using the Administration Console.
Once you have registered an application ID for your application, you upload it to your website using
appcfg.py, a command-line tool provided in the SDK. Or, if you're using Google App Engine Launcher, you can upload your application by clicking the Deploy button.
Note: Application IDs must begin with a letter. Once you register an application ID, you can delete it, but you can't re-register that same application ID after it has been deleted. You can skip these next steps if you don't want to register an ID at this time.
Note: If you have an App Engine Premier account, you can specify that your new application should reside in the European Union rather than the United States. Developers that do not have a Premier account need to fill out this form and enable billing for applications that should reside in the European Union.
Hosting applications in the European Union is especially useful if your users are closer to Europe than to the United States. There is less network latency and the End User Content will be stored at rest in the European Union. You must specify this location by clicking the "Edit" link in the "Location Options" section when you register the application; you cannot change it later.
Registering the Application
You create and manage App Engine web applications from the App Engine Administration Console, at the following URL:
Google App Engine Launcher users can reach this URL by clicking the Dashboard button.
Sign in to App Engine using your Google account. If you do not have a Google account, you can create a Google account with an email address and password.
Note: You may have already created a project using the Google Cloud Console. If this is the case, you do not have to create a new application. Your project has a title and an id. In the instructions that follow, the project title and id can be used wherever an application title and id are mentioned. They are the same thing.
To create a new application, click the "Create an Application" button. Follow
the instructions to register an application ID, a name unique to this
application. If you elect to use the free appspot.com domain name, the full URL
for the application will be
You can also purchase a top-level domain name for your app, or use one that you
have already registered.
Note: The High Replication Datastore is required in order to use the Python 2.7 runtime. This is the default when creating new applications.
If you have an App Engine Premier account, you can specify that your new application should reside in the European Union rather than the United States. This is especially useful if your application's users are closer to Europe than to the United States. There is less network latency and the End User Content will be stored at rest in the European Union. You must specify this location when you register the application; you cannot change it later. Click the Edit link in the Location Options section; select a location option, either United States or European Union.
app.yaml file, then change the value of the
application: setting from
your-app-id to your registered application ID.
Uploading the Application
To upload your finished application to Google App Engine, run the following command:
appcfg.py update guestbook/
Or click Deploy in the Google App Engine Launcher and enter your Google username and password at the prompts.
If you work with the Git version control system, you can create a remote repository in Google's cloud, and configure your development environment to deploy the latest version of your code each time you push it to that repository. See Using Git to Push and Deploy.
Note: The Datastore Indexes may take some time to generate before your application is available. You will receive a
NeedIndexError when accessing your app if the indexes are still in the process of being generated. This is a transient error for the example, so try a little later if at first you receive this exception.
You have completed this tutorial. For more information on the subjects covered here, see the rest of the App Engine documentation.