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.xml
datastore-index.xml
dispatch.xml
queue.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 update
Pour 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.xml
Revérifiez manuellement le fichier converti avant de le déployer en production.
Pour voir un exemple de conversion réussie de fichier
xml
enyaml
, 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>