El SDK independiente de App Engine quedó obsoleto el 30 de julio de 2019, y ya no está disponible. En la siguiente tabla, se enumeran las características y sus alternativas recomendadas:
Obsoleto | Acción recomendada |
---|---|
SDK independiente de App Engine | Descarga Google Cloud CLI |
Acceder a las API heredadas de App Engine mediante el SDK de App Engine | Migrar a un servicio sin empaquetar de Google Cloud o de terceros, o acceder a servicios en paquetes mediante el SDK de servicios de App Engine si usas un entorno de ejecución de segunda generación |
Comandos appcfg |
Migrar de AppCfg a la línea de comandos de gcloud |
Comandos dev_appserver.sh |
Para desarrollo local, ejecuta el comando java_dev_appserver.sh desde el directorio bin de la CLI de gcloud. |
Complemento basado en el SDK de Java en App Engine para Maven (com.google.appengine.appengine-maven ) |
Migra al complemento de Maven basado en la CLI de gcloud |
Complemento basado en el SDK de Java en App Engine para Gradle (com.google.appengine.appengine-gradle ) |
Migra al complemento de Gradle basado en CLI de gcloud |
Formatos de archivo cron.xml , datastore-index.xml , dispatch.xml y queue.xml |
Migra automáticamente con la herramienta de gcloud beta app migrate-config o migra tus xml a tus archivos 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 agosto de 2020: El SDK independiente de App Engine no está disponible para su descarga y podría no funcionar si se usa.
30 de agosto de 2020: Google dará de baja y quitará la asistencia al SDK independiente de App Engine.
Características no compatibles con versiones anteriores
Dada que la herramienta de appcfg
y del SDK independiente de App Engine han quedado obsoletos, no se admiten las siguientes funciones en la CLI de gcloud este momento:
- Descargas de los archivos de tu aplicación con AppCfg.
Migra formatos de archivo XML a YAML
La CLI de gcloud no admite los siguientes formatos de archivo:
cron.xml
datastore-index.xml
dispatch.xml
queue.xml
Los siguientes ejemplos demuestran cómo migrar tus archivos xml
a archivos yaml
.
Migra tus archivos de forma automática
Para migrar tus archivos xml
de forma automática, sigue estos pasos:
Debes tener la versión 226.0.0 de la CLI de gcloud o una posterior. Para actualizar a la última versión, haz lo siguiente:
gcloud components update
Para cada archivo que desees migrar, especifica uno de los siguientes subcomandos (
cron-xml-to-yaml
,datastore-indexes-xml-to-yaml
,dispatch-xml-to-yaml
,queue-xml-to-yaml
) y el nombre del archivo:gcloud beta app migrate-config queue-xml-to-yaml MY-QUEUE-XML-FILE.xml
Realiza una doble comprobación del archivo convertido antes de realizar la implementación en producción.
Para obtener una conversión de muestra exitosa de un archivo
xml
a un archivoyaml
, consulta las pestañas Migra los archivos de forma manual.
Migra tus archivos de forma manual
Para migrar de forma manual tus archivos xml
a archivos yaml
, haz lo siguiente:
cron.yaml
Crea un archivo cron.yaml
con un objeto cron
que contenga una lista de objetos, cada uno con campos que correspondan a cada uno de los atributos de la etiqueta <cron>
en tu archivo cron.xml
, como se muestra a continuación.
Archivo cron.yaml
convertido:
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'
Archivo cron.xml
original:
<?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 referencia de cron.yaml
.
dispatch.yaml
Crea un archivo dispatch.yaml
con un objeto dispatch
que contenga una lista de objetos, cada uno con campos que correspondan a cada uno de los atributos de la etiqueta <dispatch>
en tu archivo dispatch.xml
, como se muestra a continuación.
Archivo dispatch.yaml
convertido:
dispatch:
- url: '*/favicon.ico'
module: default
- url: 'simple-sample.uc.r.appspot.com/'
module: default
- url: '*/mobile/*'
module: mobile-frontend
Archivo dispatch.xml
original
<?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>
Para obtener más información, consulta la documentación de referencia de dispatch.yaml
.
index.yaml
Crea un archivo index.yaml
con un objeto indexes
que contenga una lista de objetos, cada uno con campos que correspondan a cada uno de los atributos de la etiqueta <datastore-index>
en tu archivo datastore-indexes.xml
, como se muestra a continuación.
Archivo index.yaml
convertido:
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
Archivo datastore-index.xml
original:
<?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 referencia de index.yaml
.
queue.yaml
Crea un archivo queue.yaml
con un objeto queue
que contenga una lista de objetos, cada uno con campos que correspondan a cada uno de los atributos de la etiqueta <queue>
en tu archivo queue.xml
, como se muestra a continuación.
Archivo queue.yaml
convertido:
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
Archivo queue.xml
original:
<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>