Stay organized with collections Save and categorize content based on your preferences.
The standalone App Engine SDK was deprecated as of July 30, 2019, and it is now shut down. The following table lists features and their recommended alternatives:
July 30, 2019: The standalone App Engine SDK-based tooling is deprecated.
August 30, 2020: The standalone App Engine SDK is not available for download and might not work, if used.
August 30, 2020: Google shut down and removed support for the standalone App Engine SDK.
Backward non-compatible featuresAs a result of the shutdown of the appcfg
tool and the standalone App Engine SDK, the following features are currently not supported in gcloud CLI:
gcloud CLI does not support the following file formats:
cron.xml
datastore-index.xml
dispatch.xml
queue.xml
The following examples demonstrate how to migrate your xml
files to yaml
files.
Beta
This feature is subject to the "Pre-GA Offerings Terms" in the General Service Terms section of the Service Specific Terms. Pre-GA features are available "as is" and might have limited support. For more information, see the launch stage descriptions.
To migrate your xml
files automatically:
You must have gcloud CLI version 226.0.0 or later. To update to the latest version:
gcloud components update
For each file you'd like to migrate, specify one of the following subcommands (cron-xml-to-yaml
, datastore-indexes-xml-to-yaml
, dispatch-xml-to-yaml
, queue-xml-to-yaml
) and file name:
gcloud beta app migrate-config queue-xml-to-yaml MY-QUEUE-XML-FILE.xml
Manually double-check the converted file before deploying to production.
For a successful sample xml
to yaml
file conversion, see the Migrating your files manually tabs.
To manually migrate your xml
files to yaml
files:
cron.yaml
Create a cron.yaml
file with a cron
object containing a list of objects, each with fields that correspond to each of the <cron>
tag attributes in your cron.xml
file, as shown below.
Converted cron.yaml
file:
cron:
- url: '/recache'
schedule: 'every 2 minutes'
description: 'Repopulate the cache every 2 minutes'
- url: '/weeklyreport'
schedule: 'every monday 08:30'
target: 'version-2'
timezone: 'America/New_York'
description: 'Mail out a weekly report'
Original cron.xml
file:
<?xml version="1.0" encoding="UTF-8"?>
<cronentries>
<cron>
<url>/recache</url>
<description>Repopulate the cache every 2 minutes</description>
<schedule>every 2 minutes</schedule>
</cron>
<cron>
<url>/weeklyreport</url>
<description>Mail out a weekly report</description>
<schedule>every monday 08:30</schedule>
<timezone>America/New_York</timezone>
<target>version-2</target>
</cron>
</cronentries>
For more information, see the cron.yaml
reference documentation.
dispatch.yaml
Create a dispatch.yaml
file with a dispatch
object containing a list of objects, each with fields that correspond to each of the <dispatch>
tag attributes in your dispatch.xml
file, as shown below.
Converted dispatch.yaml
file:
dispatch:
- url: '*/favicon.ico'
module: default
- url: 'simple-sample.uc.r.appspot.com/'
module: default
- url: '*/mobile/*'
module: mobile-frontend
Original dispatch.xml
file
<?xml version="1.0" encoding="UTF-8"?>
<dispatch-entries>
<dispatch>
<url>*/favicon.ico</url>
<module>default</module>
</dispatch>
<dispatch>
<url>simple-sample.uc.r.appspot.com/</url>
<module>default</module>
</dispatch>
<dispatch>
<url>*/mobile/*</url>
<module>mobile-frontend</module>
</dispatch>
</dispatch-entries>
For more information, see the dispatch.yaml
reference documentation
index.yaml
Create an index.yaml
file with an indexes
object containing a list of objects, each with fields that correspond to each of the <datastore-index>
tag attributes in your datastore-indexes.xml
file, as shown below.
Converted index.yaml
file:
indexes:
- ancestor: false
kind: Employee
properties:
- direction: asc
name: lastName
- direction: desc
name: hireDate
- ancestor: false
kind: Project
properties:
- direction: asc
name: dueDate
- direction: desc
name: cost
Original datastore-index.xml
file:
<?xml version="1.0" encoding="utf-8"?>
<datastore-indexes
autoGenerate="true">
<datastore-index kind="Employee" ancestor="false">
<property name="lastName" direction="asc" />
<property name="hireDate" direction="desc" />
</datastore-index>
<datastore-index kind="Project" ancestor="false">
<property name="dueDate" direction="asc" />
<property name="cost" direction="desc" />
</datastore-index>
</datastore-indexes>
For more information, see the index.yaml
reference documentation.
queue.yaml
Create a queue.yaml
file with a queue
object containing a list of objects, each with fields that correspond to each of the <queue>
tag attributes in your queue.xml
file, as shown below.
Converted queue.yaml
file:
queue:
- name: fooqueue
mode: push
rate: 1/s
retry_parameters:
task_retry_limit: 7
task_age_limit: 2d
- name: barqueue
mode: push
rate: 1/s
retry_parameters:
min_backoff_seconds: 10
max_backoff_seconds: 200
max_doublings: 0
Original queue.xml
file:
<queue-entries>
<queue>
<name>fooqueue</name>
<rate>1/s</rate>
<retry-parameters>
<task-retry-limit>7</task-retry-limit>
<task-age-limit>2d</task-age-limit>
</retry-parameters>
</queue>
<queue>
<name>barqueue</name>
<rate>1/s</rate>
<retry-parameters>
<min-backoff-seconds>10</min-backoff-seconds>
<max-backoff-seconds>200</max-backoff-seconds>
<max-doublings>0</max-doublings>
</retry-parameters>
</queue>
<queue-entries>
Caution: Queue creation for the task queue service can also be managed using Queue Management methods available through the Cloud Tasks API, but mixing the queue.yaml
method with the Queue Management methods can produce unexpected results and is not recommended. For more information, see Using Queue Management versus queue.yaml.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-06-12 UTC.
[[["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-06-12 UTC."],[[["The standalone App Engine SDK was deprecated on July 30, 2019, and completely shut down by August 30, 2020, requiring users to migrate to the Google Cloud CLI."],["`appcfg` and `dev_appserver.sh` commands are no longer supported; instead, users should utilize the `gcloud` command-line interface and the `java_dev_appserver.sh` command, respectively, for local development."],["Legacy App Engine SDK-based Maven and Gradle plugins need to be replaced with the gcloud CLI-based plugins for continued support."],["The `cron.xml`, `datastore-index.xml`, `dispatch.xml`, and `queue.xml` file formats are deprecated and should be migrated to their respective `yaml` equivalents, either automatically with the `gcloud beta app migrate-config` tool or manually by restructuring the files."],["As of the shutdown, downloading applications files via `appcfg` is no longer supported by the gcloud CLI."]]],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4