Le SDK App Engine autonome est obsolète depuis le 30 juillet 2019. Il est maintenant arrêté. Le tableau suivant répertorie les fonctionnalités et leurs alternatives recommandées :
| Obsolète | Action recommandée |
|---|---|
| SDK App Engine autonome | Téléchargez Google Cloud CLI. |
| Accédez aux anciennes API App Engine à l'aide du SDK App Engine. | Migrez vers un service Google Cloud ou tiers non groupé, ou accédez à des services groupés à l'aide du SDK des services App Engine si vous utilisez un environnement d'exécution de deuxième génération. |
Commandes appcfg |
Passez de AppCfg à la ligne de commande gcloud. |
Commandes dev_appserver.sh |
Pour le développement local, exécutez la commande java_dev_appserver.sh à partir du répertoire bin de la CLI gcloud. |
Plug-in basé sur le SDK Java App Engine pour Maven (com.google.appengine.appengine-maven) |
Migrer vers le plug-in Maven basé sur la CLI gcloud |
Plug-in basé sur le SDK Java App Engine pour Gradle (com.google.appengine.appengine-gradle) |
Migrer vers le plug-in Gradle basé sur la CLI gcloud |
Formats de fichier cron.xml, datastore-index.xml, dispatch.xml et queue.xml |
Procédez automatiquement à la migration à l'aide de l'outil gcloud beta app migrate-config ou migrez manuellement vos fichiers xml vers le format yaml. |
Calendrier de migration
30 juillet 2019 : les outils basés sur le SDK App Engine autonome sont obsolètes. 30 août 2020 : le SDK App Engine autonome n'est plus disponible en téléchargement et, s'il est utilisé, est susceptible de ne pas fonctionner. 30 août 2020 : Google met un terme à l'assistance pour le SDK App Engine autonome.
Fonctions non rétrocompatibles
Du fait de l'obsolescence de l'outil appcfg et du SDK App Engine autonome, les fonctionnalités suivantes sont actuellement incompatibles avec gcloud CLI :
- Téléchargements des fichiers de votre application avec AppCfg
Migrer des fichiers XML vers le format YAML
gcloud CLI n'accepte pas les formats de fichier suivants :
cron.xmldatastore-index.xmldispatch.xmlqueue.xml
Les exemples suivants montrent comment migrer vos fichiers xml vers des fichiers yaml.
Migrer automatiquement des fichiers
Pour migrer vos fichiers xml automatiquement :
Vous devez disposer de gcloud CLI en version 226.0.0 ou ultérieure. Pour effectuer la mise à jour vers la dernière version :
gcloud components updatePour chaque fichier que vous souhaitez migrer, spécifiez l'une des sous-commandes suivantes (
cron-xml-to-yaml,datastore-indexes-xml-to-yaml,dispatch-xml-to-yaml,queue-xml-to-yaml) et le nom du fichier :gcloud beta app migrate-config queue-xml-to-yaml MY-QUEUE-XML-FILE.xmlRevérifiez manuellement le fichier converti avant de le déployer en production.
Pour voir un exemple de conversion réussie de fichier
xmlenyaml, consultez les onglets de la section Migrer manuellement des fichiers.
Migrer manuellement des fichiers
Pour migrer manuellement des fichiers xml vers le format yaml :
cron.yaml
Créez un fichier cron.yaml avec un objet cron contenant une liste d'objets, chacun avec des champs correspondant à chacun des attributs de tag <cron> de votre fichier cron.xml, comme indiqué ci-dessous.
Fichier cron.yaml converti :
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'
Fichier cron.xml d'origine :
<?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>
Pour plus d'informations, consultez la documentation de référence de cron.yaml.
dispatch.yaml
Créez un fichier dispatch.yaml avec un objet dispatch contenant une liste d'objets, chacun avec des champs correspondant à chacun des attributs de tag <dispatch> de votre fichier dispatch.xml, comme indiqué ci-dessous.
Fichier dispatch.yaml converti :
dispatch:
- url: '*/favicon.ico'
module: default
- url: 'simple-sample.uc.r.appspot.com/'
module: default
- url: '*/mobile/*'
module: mobile-frontend
Fichier dispatch.xml d'origine
<?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>
Pour plus d'informations, consultez la documentation de référence de dispatch.yaml.
index.yaml
Créez un fichier index.yaml avec un objet indexes contenant une liste d'objets, chacun avec des champs correspondant à chacun des attributs de tag <datastore-index> de votre fichier datastore-indexes.xml, comme indiqué ci-dessous.
Fichier index.yaml converti :
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
Fichier datastore-index.xml d'origine :
<?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>
Pour plus d'informations, consultez la documentation de référence de index.yaml.
queue.yaml
Créez un fichier queue.yaml avec un objet queue contenant une liste d'objets, chacun avec des champs correspondant à chacun des attributs de tag <queue> de votre fichier queue.xml, comme indiqué ci-dessous.
Fichier queue.yaml converti :
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
Fichier queue.xml d'origine :
<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>