Migrer vers le SDK Cloud

À compter du 30 juillet 2019, la version autonome du SDK App Engine est obsolète. Elle ne pourra plus être téléchargée à partir du 30 juillet 2020. Le tableau suivant répertorie les fonctionnalités obsolètes et les alternatives recommandées :

Obsolète Action recommandée
SDK App Engine autonome Téléchargez le SDK Cloud.
Commandes appcfg Passez d'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 du SDK Cloud.
Plug-in basé sur le SDK Java App Engine pour Maven (com.google.appengine.appengine-maven) Migrez vers le plug-in Maven basé sur le SDK Cloud.
Plug-in basé sur le SDK Java App Engine pour Gradle (com.google.appengine.appengine-gradle) Migrez vers le plug-in Gradle basé sur le SDK Cloud.
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 juillet 2020 : le SDK App Engine autonome ne peut plus être téléchargé et est susceptible de ne pas fonctionner s'il est utilisé.

30 juillet 2020 : Google met un terme à l'assistance pour le SDK App Engine autonome.

Fonctionnalités non rétrocompatibles

Du fait de l'obsolescence de l'outil appcfg et du SDK App Engine autonome, les fonctionnalités suivantes sont actuellement indisponibles dans le SDK Cloud :

Migrer des fichiers XML vers le format YAML

Le SDK Cloud n'accepte pas les formats de fichier suivants :

  • cron.xml
  • datastore-index.xml
  • dispatch.xml
  • queue.xml

Les exemples suivants montrent comment migrer des fichiers xml vers le format yaml.

Migrer automatiquement des fichiers

Pour migrer automatiquement vos fichiers xml :

  1. Vous devez disposer du SDK Cloud version 226.0.0 ou ultérieure. Pour effectuer la mise à jour vers la dernière version :

    gcloud components update
    
  2. 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 un nom du fichier :

    gcloud beta app migrate-config queue-xml-to-yaml MY-QUEUE-XML-FILE.xml
    
  3. Revérifiez manuellement le fichier converti avant de le déployer en production.

    Pour voir un exemple de conversion réussie de fichier xml en yaml, 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 du tag <cron> dans votre fichier cron.xml, comme illustré 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 en savoir plus, consultez la documentation de référence sur le fichier 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 du tag <dispatch> dans votre fichier dispatch.xml, comme illustré ci-dessous.

Fichier dispatch.yaml converti :

dispatch:
- url: '*/favicon.ico'
  module: default
- url: 'simple-sample.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.appspot.com/</url>
      <module>default</module>
  </dispatch>
  <dispatch>
      <url>*/mobile/*</url>
      <module>mobile-frontend</module>
  </dispatch>
</dispatch-entries>

Pour en savoir plus, consultez la documentation de référence sur le fichier 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 du tag <datastore-index> dans votre fichier datastore-indexes.xml, comme illustré 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 en savoir plus, consultez la documentation de référence sur le fichier 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 du tag <queue> dans votre fichier queue.xml, comme illustré 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>
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Environnement standard App Engine pour Java