O SDK do App Engine autónomo foi descontinuado a 30 de julho de 2019 e já foi encerrado. A tabela seguinte apresenta as funcionalidades e as respetivas alternativas recomendadas:
Descontinuado | Ação recomendada |
---|---|
SDK do App Engine autónomo | Transfira a CLI do Google Cloud |
Aceda às APIs antigas do App Engine através do SDK do App Engine | Migrar para um serviço de terceiros Google Cloud ou não agrupado, ou aceder a serviços agrupados através do SDK dos serviços do App Engine se estiver a usar um tempo de execução de segunda geração |
appcfg comandos |
Migre do AppCfg para a linha de comandos gcloud |
dev_appserver.sh comandos |
Para o desenvolvimento local, execute o comando java_dev_appserver.sh a partir do diretório bin da CLI gcloud |
Plugin baseado no SDK do Java App Engine para Maven (com.google.appengine.appengine-maven ) |
Migre para o plug-in do Maven baseado na CLI gcloud |
Plug-in baseado no SDK do Java App Engine para Gradle (com.google.appengine.appengine-gradle ) |
Migre para o plugin do Gradle baseado na CLI gcloud |
Formatos de ficheiros cron.xml , datastore-index.xml , dispatch.xml e queue.xml |
Migre automaticamente através da ferramenta gcloud beta app migrate-config ou migre manualmente os ficheiros xml para yaml . |
Calendário de migração
30 de julho de 2019: as ferramentas autónomas baseadas no SDK do App Engine foram descontinuadas. 30 de agosto de 2020: o SDK do App Engine autónomo não está disponível para transferência e pode não funcionar, se for usado. 30 de agosto de 2020: a Google encerrou e removeu o apoio técnico para o SDK do App Engine autónomo.
Funcionalidades não compatíveis com versões anteriores
Como resultado do encerramento da ferramenta appcfg
e do SDK do App Engine autónomo, as seguintes funcionalidades não são atualmente suportadas na CLI gcloud:
- Transferências dos ficheiros da sua aplicação com o AppCfg.
Migrar formatos de ficheiros XML para YAML
A CLI gcloud não suporta os seguintes formatos de ficheiros:
cron.xml
datastore-index.xml
dispatch.xml
queue.xml
Os exemplos seguintes demonstram como migrar os seus ficheiros xml
para ficheiros yaml
.
Migrar os seus ficheiros automaticamente
Para migrar automaticamente os seus ficheiros xml
:
Tem de ter a versão 226.0.0 ou posterior da CLI gcloud. Para atualizar para a versão mais recente:
gcloud components update
Para cada ficheiro que quer migrar, especifique um dos seguintes subcomandos (
cron-xml-to-yaml
,datastore-indexes-xml-to-yaml
,dispatch-xml-to-yaml
,queue-xml-to-yaml
) e o nome do ficheiro:gcloud beta app migrate-config queue-xml-to-yaml MY-QUEUE-XML-FILE.xml
Verifique manualmente o ficheiro convertido antes de o implementar em produção.
Para uma conversão bem-sucedida de um ficheiro de exemplo
xml
parayaml
, consulte os separadores Migrar os seus ficheiros manualmente.
Migrar os seus ficheiros manualmente
Para migrar manualmente os seus ficheiros xml
para ficheiros yaml
:
cron.yaml
Crie um ficheiro cron.yaml
com um objeto cron
que contenha uma lista de objetos, cada um com campos que correspondam a cada um dos atributos da etiqueta <cron>
no seu ficheiro cron.xml
, conforme mostrado abaixo.
Ficheiro 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'
Ficheiro 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 mais informações, consulte a cron.yaml
documentação de referência.
dispatch.yaml
Crie um ficheiro dispatch.yaml
com um objeto dispatch
que contenha uma lista de objetos, cada um com campos que correspondem a cada um dos atributos da etiqueta <dispatch>
no seu ficheiro dispatch.xml
, conforme mostrado abaixo.
Ficheiro dispatch.yaml
convertido:
dispatch:
- url: '*/favicon.ico'
module: default
- url: 'simple-sample.uc.r.appspot.com/'
module: default
- url: '*/mobile/*'
module: mobile-frontend
Ficheiro 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 mais informações, consulte a documentação de dispatch.yaml
referência
index.yaml
Crie um ficheiro index.yaml
com um objeto indexes
que contenha uma lista de objetos, cada um com campos que correspondem a cada um dos atributos da etiqueta <datastore-index>
no seu ficheiro datastore-indexes.xml
, conforme mostrado abaixo.
Ficheiro 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
Ficheiro 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 mais informações, consulte a index.yaml
documentação de referência.
queue.yaml
Crie um ficheiro queue.yaml
com um objeto queue
que contenha uma lista de objetos, cada um com campos que correspondem a cada um dos atributos da etiqueta <queue>
no seu ficheiro queue.xml
, conforme mostrado abaixo.
Ficheiro 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
Ficheiro 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>