Migra al SDK de Cloud

A partir del 30 de julio de 2019, el SDK independiente de App Engine está obsoleto. Su descarga dejará de estar disponible el 30 de julio de 2020. En la siguiente tabla, se enumeran las características obsoletas y las alternativas recomendadas:

Obsoleto Acción recomendada
SDK independiente de App Engine Descarga el SDK de Cloud.
Comandos de appcfg Migra de AppCfg a la línea de comandos de gcloud.
Comandos de dev_appserver.sh Para desarrollo local, ejecuta el comando java_dev_appserver.sh desde el directorio bin del SDK de Cloud.
Complemento basado en el SDK de Java en App Engine para Maven (com.google.appengine.appengine-maven) Migra al complemento de Maven basado en el SDK de Cloud.
Complemento basado en el SDK de Java en App Engine para Gradle (com.google.appengine.appengine-gradle) Migra al complemento de Gradle basado en el SDK de Cloud.
Formatos de archivo cron.xml, datastore-index.xml, dispatch.xml y queue.xml Migra automáticamente mediante la herramienta gcloud beta app migrate-config o migra tus archivos xml a yaml de forma manual.

Cronograma de migración

30 de julio de 2019: La herramienta independiente basada en el SDK de App Engine está obsoleta.

30 de julio de 2020: El SDK independiente de App Engine dejará de estar disponible para su descarga y podría no funcionar si se utiliza.

30 de julio de 2020: Google dará de baja y quitará la asistencia al SDK independiente en App Engine.

Características no compatibles con versiones anteriores

Dada la obsolescencia de la herramienta de appcfg y el SDK independiente en App Engine, las siguientes características actualmente no se admiten en el SDK de Cloud:

Migra formatos de archivo de XML a YAML

El SDK de Cloud no admite los siguientes formatos de archivo:

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

Los ejemplos a continuación muestran cómo migrar tus archivos xml a yaml.

Migra tus archivos automáticamente

Para migrar tus archivos xml automáticamente, haz lo siguiente:

  1. Debes tener la versión 226.0.0 del SDK de Cloud o posterior. Para actualizar a la última versión, haz lo siguiente:

    gcloud components update
    
  2. Para cada archivo que desees migrar, especifica uno de los siguientes comandos secundarios (cron-xml-to-yaml, datastore-indexes-xml-to-yaml, dispatch-xml-to-yaml, queue-xml-to-yaml) y el nombre de archivo, como se muestra a continuación:

    gcloud beta app migrate-config queue-xml-to-yaml MY-QUEUE-XML-FILE.xml
    
  3. Realiza una doble comprobación del archivo convertido antes de realizar la implementación en producción.

    Para ver una muestra de la conversión correcta de archivos xml a yaml, consulta Migra tus archivo manualmente.

Migra tus archivos manualmente

Para migrar manualmente tus archivos xml a yaml, haz lo siguiente:

cron.yaml

Crea un archivo cron.yaml con un objeto cron que contenga una lista de objetos, cada uno con los campos que corresponden a cada atributo de etiqueta <cron> en tu archivo cron.xml, como se muestra abajo.

El archivo cron.yaml convertido es el siguiente:

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'

El archivo cron.xml original es el siguiente:

<?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>

Para obtener más información, consulta la documentación de la referencia de cron.yaml.

dispatch.yaml

Crea un archivo dispatch.yaml con un objeto dispatch que contenga una lista de objetos, cada uno con los campos que corresponden a cada atributo de etiqueta <dispatch> en tu archivo dispatch.xml, como se muestra abajo.

El archivo dispatch.yaml convertido es el siguiente:

dispatch:
- url: '*/favicon.ico'
  module: default
- url: 'simple-sample.appspot.com/'
  module: default
- url: '*/mobile/*'
  module: mobile-frontend

El archivo dispatch.xml original es el siguiente:

<?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>

Para obtener más información, consulta la documentación de la referencia de dispatch.yaml.

index.yaml

Crea un archivo index.yaml con un objeto indexes que contenga una lista de objetos, cada uno con los campos que corresponden a cada atributo de etiqueta <datastore-index> en tu archivo datastore-indexes.xml, como se muestra abajo.

El archivo index.yaml convertido es el siguiente:

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

El archivo datastore-index.xml original es el siguiente:

<?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>

Para obtener más información, consulta la documentación de la referencia de index.yaml.

queue.yaml

Crea un archivo queue.yaml con un objeto queue que contengan una lista de objetos, cada uno con los campos que corresponden a cada atributo de etiqueta <queue> en tu archivo queue.xml, como se muestra abajo.

El archivo queue.yaml convertido es el siguiente:

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

El archivo queue.xml original es el siguiente:

<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>
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Entorno estándar de App Engine para Java 8