This page defines App Engine-specific terms and concepts.
- A Datastore entity that is a parent of another entity.
- A query over a single entity group using the key of a parent entity. By default, the results of such a query are strongly consistent.
AppCfg command-line tool
- The preferred tool is now the
gcloudtool, see Google Cloud SDK for information. The
appcfg.pycommand uploads new versions of your code, configuration, and static files for your application to App Engine. You can also use this command to manage Datastore indexes and download log data.
appengine- web.xmlis a required configuration file for Java applications. At a minimum, this file specifies the application ID and version.
- The application ID is the same as the project ID for the project that you
create in the Google Cloud Platform Console and is a unique ID that is used to
identify your default hosting URL in the form of
- Your application serves from
- The Java and Python SDKs each include a suite of tools called appstats for measuring the performance of your application. Appstats integrates with your application to record events, and it provides a web-based administrative interface for browsing statistics.
- Python, Go, and PHP applications must use the
app.yamlfile as the main configuration file for applications. Java applications use
- App Engine is Google's highly scalable platform for hosting web services. It consists of runtimes and SDKs for Java, Python, and Go programming languages.
App Engine SDK
- The App Engine Software Development Kits (SDKs) for Java, Python, and Go each include a web server application that emulates all of the App Engine services on your local computer. Each SDK includes all of the APIs and libraries available on App Engine. The web server also simulates the secure sandbox environment, including checks for attempts to access system resources disallowed in the App Engine runtime environment. Each SDK also includes a tool to upload your application to App Engine.
- The asynchronous Datastore API allows you to make parallel, non-blocking calls to the Datastore and to retrieve the results of these calls at a later point in the handling of the request. This API is available in both Java and Python.
- App Engine applications can authenticate users using any one of three methods: Google Accounts, accounts on your own Google Apps domains, or OpenID identifiers. (Note that the support for OpenID is deprecated and scheduled for removal.) An application can detect whether the current user has signed in, and can redirect the user to the appropriate sign-in page. With a signed-in user, the application can access the user's email address (or OpenID identifier if your application is using OpenID). The application can also detect whether the current user is an administrator, making it easy to implement admin-only areas of the app.
Navigate to another letter:
- An instance that is exempt from request deadlines and has access to more memory and CPU than normal instances. Its duration is determined by your configuration with limited scaling based on your settings. App Engine provides backends for applications that need faster performance, large amounts of addressable memory, and continuous or long- running background processes.Backends are supported by Java, Python and Go.
- backends.xml is a file that Java applications can use to configure backends. Java applications can also use backends.yaml.
- Python applications must use backends.yaml to configure backends. Java applications may use either backends.yaml or backends.xml.
- A total measurement of resource use that combines usage covered by the free quotas and additional usage that is billed.
- An acronym for "Binary Large Object". A blob may refer to a large data object in the blobstore API, or it may refer to a property type in the Datastore API.
- Supported in Java, Python, and Go, the blobstore API allows your application to serve data objects called blobs, which are much larger than the size allowed for objects in the Datastore service.
Navigate to another letter:
- Supported in Java, Python, and Go, with the capabilities API, your application can detect outages and scheduled downtime for specific API capabilities. With this information, you can disable the unavailable capability in your application before it impacts your users.
Common Gateway Interface (CGI)
- The common gateway interface (CGI) is a standard that defines how web server software can delegate the generation of web pages to a stand-alone application. App Engine uses the CGI standard with the Python runtime to communicate the request data to the handler, and receive the response.
- Concurrency occurs when systems execute computations simultaneously, and these computations interact with each other.
- Concurrency control ensures that systems generate correct results for concurrent operations while getting those results as quickly as possible.
- App Engine can send multiple requests in parallel to a web server. Concurrent Requests are supported by Java, Python 2.7 and Go.
- All App Engine applications require a configuration
file to set important details like the application ID and version number.
Python, PHP, and Go applications must use
app.yamlas their main configuration file. Java applications use the
- CPU time is the amount of time for which a central processing unit (CPU) in a Google data center processes requests from your application.
- The App Engine cron service allows users to create tasks to run at regular intervals. Cron jobs are supported by Java, Python and Go.
- For your Java application, a configuration file called
cron.yamlfile controls scheduled tasks. It consists of a number of job definition pairs, each containing a
<url>tag and a
- For Java,
Go applications, a configuration file
cron.yamlcontrols scheduled tasks. It consists of a number of job definition pairs, each containing a
urlfield and a
- To serve your application on another domain besides appspot.com, you need to register your domain with Google apps.
Navigate to another letter:
- Google App Engine uses a Datastore to distribute, replicate, and load balance your data through a simple API. It also includes a powerful query engine and processes transactions. Java, Python and Go can all make use of the Datastore.
Datastore Blob Property
- For Datastore storage, you must use the blob property value type to store unencoded byte strings longer than 1500 bytes. Blobs stored in this way are not indexed. For more information see the Java, Python or Go documentation
Datastore Call Deadline
- The Datastore call deadline is the maximum amount of time your API call to the Datastore can take. If your API call does not complete by the deadline, the Datastore aborts with an error and returns control to your application. For more information see the Java, Python or Go documentation.
- Every Datastore query uses an index, a table containing the results for the query in the desired order. For more information see the Java, Python, or Go documentation.
Datastore Index Configuration
- The App Engine Datastore uses indexes for
every query your application makes. The Datastore updates these indexes
whenever an entity changes, so the Datastore quickly returns
results to you when your application makes a query. To do this, the
Datastore needs to know in advance which queries the application will make.
You specify which indexes your application needs in a configuration file.
Java applications can use either
datastore- indexes.xmlor [
index.yaml](/appengine/docs/standard/java/configyaml/indexref). Python and Go applications must use the
Denial of Service Protection Service
- The App Engine denial of service
(DoS) protection service allows you to protect your application from running
out of quota when subjected to denial of service attacks or similar forms of
abuse. You can blacklist IP addresses or subnets, and the service drops
requests routed from those addresses or subnets before App Engine calls your
code. DoS Protection can be configured for Java applications using either
dos.yaml. Python, PHP, and Go applications must use the
- Java web applications use a deployment
descriptor file called
web.xmlto determine how URLs map to servlets, which URLs require authentication, and other information.
- The development web server includes a console web application. The local development consoles in Go, Java, PHP, and Python, all let you browse the local Datastore, but each console also has unique features of its own.
Development Web Server
- The App Engine SDK includes a development web server for testing your application on your computer. In Java, the development web server simulates the App Engine Java runtime environment and all of its services, including the Datastore. In Python, the development web server simulates your application running in the App Engine Python runtime environment; this simulated environment enforces some sandbox restrictions such as restricted system functions and Python module imports. For Go, the development web server simulates the App Engine Go runtime environment and all Go's supported services.
- A command-line tool for interacting with the Python development server.
- A command-line tool for interacting with the Java development server.
- Django is a high-level Python web framework that encourages rapid development.
dos.xmlfile specifies blacklists of IP addresses and subnets to configure denial of service protection. Java applications can also use the
dos.yamlfile for Python, Java PHP, and Go applications specifies blacklist of IP addresses and subnets to configure denial of service protection.